四川航天学院电子工程系课程设计——基于51单片机的数字频率计
unsigned long int count=0; void delay() { int j;
for(j=0;j<2000;j++); }
void display() {
a=pinlv/1000; // 千位
b=pinlv/100; 百位
c=pinlv0/10; 十位 d=pinlv; 个位 P2=0xfe; P0=dispcode[a]; delay(); P2=0xfd; P0=dispcode[b]; delay(); P2=0xfb; P0=dispcode[c]; delay(); P2=0xf7 P0=dispcode[d]; delay(); }
/*void delay1(n) { int i,j;
for(i=0;i for(j=0;j<255;j++){ } display(); - 15 - 四川航天学院电子工程系课程设计——基于51单片机的数字频率计 } } */ void main(void) { EA=0; TMOD=0x51; //T0 定时 T1 计数 TH0=15602/256; //0x3c,T0 定时 50ms TL0=15602%6; //0x00 T1=1; ET0=1; 17 EA=1; TR1=1; TR0=1; while(1) { display(); } } void time0(void) interrupt 1 using 2 { ET0=0; count++; if(count==20) //T1 计数 20次 { count=0; TR1=0; pinlv=TH1*256+TL1; TH1=0; TL1=0; TR1=1; - 16 - 四川航天学院电子工程系课程设计——基于51单片机的数字频率计 } TH0=15602/256; //0x3c TL0=15602%6; // 0x00 TR0=1; ET0=1; //T1 计数 20次时产生中断,定时1S到 - 17 -