嵌入式单片机——60秒计时器的实现

1.设计秒计时器,要求实现60秒计时,用2位LED数码管显示。

2.按键K1,实现秒表的停止和启动。

#include char lednum[10] = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xF6};//0~9
int count=0;  
int Tnum=0; 
sbit a = P1^0;  
sbit b = P1^1;  
sbit c = P1^2;  
sbit K1 = P3^2;void display();
void delay(int x)  //延时
{int i,j;for (i=x;i>0;i--){for (j=1000;j>0;j--);}
}
void Init() {TMOD = 0x01;  TH0=(65536-20000)/256;//(65536-20000)/256;TL0=(65536-20000)%256;//(65536-20000)%256;ET0=1;EA=1;TR0 = 1; IT0=0;EX0=1;
}
void main()
{Init();     P2M1 = 0x00;P2M0 = 0xFF;P1M1 = 0x00;P1M0 = 0xFF;while (1)  {display();}
}void display(){a=1,b=0,c=0;  P2=lednum[Tnum/10];delay(10);a=0,b=1,c=0;  P2=lednum[Tnum%10];delay(10);
}void ex0() interrupt 0{if(K1==0){delay(120);if(K1==0);TR0=!TR0;delay(120);}
}//12Mhz
void Time_20ms() interrupt 1
{TH0=(65536-20000)/256;//(65536-20000)/256;TL0=(65536-20000)%256;//(65536-20000)%256;count++;  if(count==50){count=0;Tnum++;if(Tnum==60){Tnum=0;}}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部