#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
unsigned char tab[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char dian[16]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};
uchar count,s,j=0,m=59,h=23;
sbit a=P3^0;
sbit b=P3^1;
sbit c=P3^2;
sbit d=P3^3;
sbit e=P3^4;
sbit f=P3^5;
void delay (uint i)
{
while (i--){}
}
void timeint()
{
TMOD=0X01;
TH0=(65536-13200)/256;
TH1=(65536-13200)%256;
TR0=1;
ET0=1;
EA=1;
}
void time() interrupt 1
{
TH0=(65536-13200)/256;
TH1=(65536-13200)%256;
count++;
}
void shuchu()
{
P3=0XFF;
a=0;
P2=tab[h/10];
delay(100);
P3=0XFF;
b=0;
P2=dian[h%10];
delay(100);
P3=0XFF;
c=0;
P2=tab[m/10];
delay(100);
P3=0XFF;
d=0;
P2=dian[m%10];
delay(100);
P3=0XFF;
e=0;
P2=tab[s/10];
delay(100);
P3=0XFF;
f=0;
P2=tab[s%10];
delay(100);
}
void main ()
{
timeint();
while(1)
{
if (count==20)
{
s++;
count=0;
}
if(s==60)
{
m++;
s=0;
}
if(m==60)
{
h++;
m=0;
}
if(h==24)
{
h=0;
}
shuchu();
}
}
|