发布网友
共1个回答
热心网友
这是程序
#include<reg51.h>
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int tep;
unsigned char n, s=00,m=00,h=12;
void delay(unsigned int xms)
{
unsigned int j,i;
for (i=0;i<xms;i++)
for(j=0;j<100;j++);
}
void disp()
{
P3=tep;
delay(1);
P2=0xff;
tep=tep<<1;
}
void main ()//主函数
{
TMOD=0x01;
TH0=0X3C;
TL0=0xB0;
TR0=1;
EA=1;
ET0=1;
while(1)
{
tep=0x04;
P2=tab[h/10];
disp();
P2=tab[h%10];
disp();
P2=tab[m/10];
disp();
P2=tab[m%10];
disp();
P2=tab[s/10];
disp();
P2=tab[s%10];
disp();
}
}
void timer0()interrupt 1
{unsigned int n;
TH0=0x3c;
TL0=0xb0;
n++;
if(n>=20)
{ n=0;
s++;
}
while(s==60)
{
m++;
s=0;
}
while(m==60)
{
h++;
m=00;
}
while(h==24)
{m++;s=00;
}
}