簡陋的定時器中斷秒表 分享并 求大神指導
單片機源程序如下:
- #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)
2017-11-28 12:23 上傳
點擊文件名下載附件
|