电子时钟如何实现时间的实时显示

发布网友

我来回答

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;
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com