毕业论文_基于Proteus仿真的频率计数器 下载本文

内容发布更新时间 : 2024/12/24 2:46:12星期一 下面是文章的全部内容请认真阅读。

南京大学金陵学院 毕业论文(设计)

附录

#include

unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; 嵝硖贪塒廩袞悯倉華糲。 unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 该栎谖碼戆沖巋鳧薩锭。 0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

unsigned char dispbuf[8]={0,0,0,0,0,0,10,10}; unsigned char temp[8]; unsigned char dispcount; unsigned char T0count; unsigned char timecount; bit flag;

unsigned long x;

void main(void) //主函数 {

unsigned char i;

TMOD=0x15; TH0=0; TL0=0;

TH1=(65536-5000)/256; TL1=(65536-5000)%6; TR1=1; TR0=1; ET0=1; ET1=1; EA=1;

while(1) {

if(flag==1) {

flag=0;

x=T0count*65536+TH0*256+TL0; for(i=0;i<8;i++) {

temp[i]=0; } i=0;

while(x/10) {

南京大学金陵学院 毕业论文(设计)

temp[i]=x; x=x/10; i++; }

temp[i]=x;

for(i=0;i<6;i++) {

dispbuf[i]=temp[i]; }

timecount=0; T0count=0; TH0=0; TL0=0; TR0=1; } } }

void t0(void) interrupt 1 using 0 呂仑庙。 {

T0count++; }

void t1(void) interrupt 3 using 0 墊罗蘄。 {

TH1=(65536-5000)/256; TL1=(65536-5000)%6; timecount++;

if(timecount==200) {

TR0=0;

timecount=0; flag=1;

}

P2=0xff;

P0=dispcode[dispbuf[dispcount]]; P2=dispbit[dispcount]; dispcount++; if(dispcount==8) {

dispcount=0; }

//中断1模块的函数编写劇妆诨貰攖苹埘//中断3模块的函数编写臠龍讹驄桠业變 南京大学金陵学院 毕业论文(设计)

}