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