简陋的定时器中断秒表 分享并 求大神指导
单片机源程序如下:
- #include<reg51.h>
- void Int0(void);
- void timeo(void);
- unsigned char cnt_50ms =10;//50ms定时计数
- unsigned char cnt_s =0; //1s定时计数
- bit start_flag=0; //系统启动标志位
- void main()
- {
- TMOD=0X01;
- EX0=1;
- IT0=0;
- PX0=0;
- ET0=1;
- PT0=0;
- EA=1;
- TF0=0;
- TL0=0X00;
- TH0=0X4C;
- cnt_50ms =0;
- cnt_s =0;
- start_flag=0;
- while(1)
- {
- P1=((cnt_s/10)<<4)|(cnt_s%10);
- }
- }
- void Int0(void) interrupt 0 using 0 //按键按下启动秒表,再次按下,秒表停止
- {
- if(start_flag==0)
- {
- TR0=1;
- start_flag=1;
- cnt_s=0;
- }
- else
- {
- TR0=0;
- start_flag=0;
- }
- }
- void time0(void) interrupt 1 using 0
- {
- TH0=0X4C;
- TL0=0X00;
- cnt_50ms++;
- if(cnt_50ms==20)
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
秒表计时.zip
(64.18 KB, 下载次数: 10)
|