设计一个单片机编程,两位的简易秒表,记时单位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
相似回答