设计一个单片机编程,两位的简易秒表,记时单位60-50s,用两位的数码管
设计一个单片机编程,两位的简易秒表,记时单位60-50s,用两位的数码管(共阴极,静态连接)进行倒计时循环显示,要求采用t0工作方式1,晶振频率12MHZ
#include<reg51.h>
unsigend char sec = 0;
unsigend char code ledchar[] = {0xC0,x0F9, 0xA4, 0xB0 ,0x99, 0x92, 0x82, 0xF8, 0x80 ,0x90};
void ConfigTimer0()
{
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x18;
ET0 = 1;
TR0= 1;
EA = 1;
}
void main()
{
ConfigTimer0();
while(1)
{
P0 = ledchar[sec/10];
P2 = ledchar[sec%10];
}
}
void Timer0() interrupt 1
{
static unsigend int t = 0;
TH0 = 0xFC;
TL0 = 0x18;
t++;
if(t >= 1000)
{
t = 0;
sec++;
if(sec >= 60)
{
sec = 0;
}
}
}
我这个是共阳极编码 P0接一个数码管, P2接一个数码管, 你把Ledchar 那个数组里面的数,换成共阴极编码就可以了, 在网上搜索下就有的
温馨提示:内容为网友见解,仅供参考
Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答