单片机电子时钟程序?

如题所述

第1个回答  2012-05-07
这是一个不用定时器的程序,望使用
#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;
}
}
第2个回答  2011-11-21
这个网上太多了,不如自己对这电路图写一个吧,不过参考还是可以的!本回答被网友采纳
相似回答