秒表计时器
制作一个秒表计时器,记录0-15秒时间。要求精准,可控。
1.能够用按键控制秒表开始
2.能够用按键控制秒表停止
3.能够用按键控制秒表清零
4.使用定时器控制时间,要求精确。
5.使用1个数码管和多个按键实现功能。
代码如下:
#include<reg52.h> #define LED P0 sbit KEY1 = P1^0; sbit KEY2 = P1^1; unsigned int i = 0; unsigned char LED_NUM[] = {0xc0,0xf9,0xa4,0xb0,\ 0x99,0x92,0x82,0xf8,\ 0x80,0x90,0x88,0x83,\ 0xc6,0xa1,0x86,0x8e}; unsigned char n = 0; void INT_T0(void) { TMOD = 0X01; //打开定时器0 ,使用模式1定时 TH0 = 0XFC; TL0 = 0X18; //初始值 EA = 1;//打开总开关 ET0 = 1;//打开中断T0开关 } void main(void) { INT_T0(); TR0 = 0; //定时功能打开 while(1) { if(KEY1==0) { TR0 = 1; } if(KEY2==1) { i = 0; n = 0; } } } void time0(void) interrupt 1 { TH0 = 0XFC; TL0 = 0X18; //初始值 if(i < 1000) { i++; } else { LED = NUM[n]; if(n<16) { n++; } else { n = 0; } i = 0; } }