#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
uchar count;
uchar sec ;
uchar min = 50;
uchar hour = 11;
void delay(){
uchar i;
for(i=0;i<224;i++)
;
}
/*-------------------------
*led display
*
*------------------------*/
void display(){
/*
uchar sge = sec%10;
uchar sshi = sec/10;
uchar mge = min%10;
uchar mshi = min/10;
uchar hge = hour%10;
uchar hshi = hour/10;
*/ /*-------0------------*/
uchar i,ch;
uchar index[8];
index[0] = sec%10;
index[1] = sec/10;
index[2] = 10;
index[3] = min%10;
index[4] = min/10;
index[5] = 10;
index[6] = hour%10;
index[7] = hour/10;
ch = 0xfe;
for(i=0;i<8;i++){
P2 = 0xff;
P0 = tab[index[i]];
P2 = ch;
delay();
P2 = 0xff;
ch = (ch<<1)|0x01;
}
}
void main(){
TMOD = 0x01;
TH0 = (65535 - 50000)>>8;
TL0 = (65535 - 50000);
ET0 = 1;
EA = 1;
TR0 = 1;
while(1){
if(sec == 60){
sec = 0;
min ++;
if(min == 60){
min = 0;
hour ++;
if(hour == 60)
hour = 0 ;
}
}
display();
}
}
void timer0()interrupt 1 using 2{
TH0 = (65535 - 50000)>>8;
TL0 = (65535 - 50000);
count++;
if(count == 20){
count = 0;
sec ++;
}
}