秒表计时器

Posted bmsy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了秒表计时器相关的知识,希望对你有一定的参考价值。

制作一个秒表计时器,记录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的按钮重启程序

 

以上是关于秒表计时器的主要内容,如果未能解决你的问题,请参考以下文章

秒表计时器

开发板制作秒表计时器---我太难了丶

JavaJava计时器(秒表)

秒表的使用方法 秒表有几种计时方式

颤振计时器仅更新秒小部件

秒表可以在生产代码中使用吗?