白木时羽

导航

秒表计时器

制作一个秒表计时器,记录0-15秒时间。要求精准,可控。

1.能够用按键控制秒表开始

2.能够用按键控制秒表停止

3.能够用按键控制秒表清零

4.使用定时器控制时间,要求精确。

5.使用1个数码管和多个按键实现功能。

 

 

 先根据需求判断所需的功能,再改变电路图

然后根据要求开始写代码

 1 #include<reg52.h>
 2 sbit an = P1^0;
 3 sbit qing = P1^1;
 4 unsigned int i = 0;
 5 unsigned int s = 0;
 6 code unsigned char LED_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8E};
 7 void INT_T0(void)
 8 {
 9     TMOD = 0X01; //打开定时器0 ,使用模式1定时
10     TH0 = 0XFC;
11     TL0    = 0X18; //初始值
12     EA = 1;//打开总开关
13     ET0 = 1;//打开中断T0开关
14 }
15 void main(void)
16 {    
17     INT_T0();
18     TR0 = 0; //定时功能关闭
19     while(1)
20     {
21         if(an == 0)          
22             TR0 = 1;       //判断按键按下  ,是则打开定时功能
23         else
24             TR0 = 0;       //  关闭定时功能
25         if(qing == 0)
26             break;            //跳出循环,关闭程序,重新启动            
27     }
28 }
29 void time0(void) interrupt 1 
30 {
31     TH0 = 0XFC;
32     TL0    = 0X18; //初始值
33     if(i < 1000)
34     {
35         i++;
36     }
37     else
38     {
39         P0 = LED_CODE[s];
40         i = 0;
41         if(s<15)
42             s++;
43         else
44             s = 0;        
45     }
46 }

按下P1^0的按钮开始程序,再次按下就停止

按下P1^1的按钮重启程序

 

posted on 2019-11-07 12:13  白木时羽  阅读(486)  评论(0编辑  收藏  举报