電路圖詳見:http://www.zg4o1577.cn/f/51hei-5.pdf
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit wexu=P2^7;
sbit duxu=P2^6;
uchar a,bai,shi,ge,shu;
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
void yanshi(uint z);
void xianshi(uint shu);
void chushi();
void main()
{
chushi();
while(1)
{
if(a==20)
{
a=0;
shu++;
if(shu==20)
shu=0;
}
xianshi(shu);
}
}
void chushi()
{
EA=1;
ET0=1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
wexu=0;
duxu=0;
a=0;
shu=0;
}
void xianshi(uint shu)
{
ge=shu%10;
shi=shu%100/10;
bai=shu/100;
wexu=1;
P0=0xfb;
wexu=0;
P0=0xff;
duxu=1;
P0=table[ge];
duxu=0;
yanshi(5);
wexu=1;
P0=0xfd;
wexu=0;
P0=0xff;
duxu=1;
P0=table[shi];
duxu=0;
yanshi(5);
wexu=1;
P0=0xfe;
wexu=0;
P0=0xff;
duxu=1;
P0=table[bai];
duxu=0;
yanshi(5);
}
void yanshi(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
}
|