#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P3^6;
sbit rd=P3^7;
sbit p23=P2^3;
sbit p24=P2^4;
sbit p25=P2^5;
sbit p26=P2^6;
uchar tt=0;
char num=0;
int a=0,b=0,c=0;
uchar code table1[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uchar code table2[]={
0xaf,0x86,0xdb,0xcf,
0xe6,0xed,0xfd,0x87,
0xff,0xef};
int code date1[]={
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
};
int code date2[]={
0,0,0,1,1,1,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,9,9,9,0,0,0,1,1,2,2,2,3,3,4,4,4,5,5,6,6,6,7,7,8,8,8,9,9,9,0,
0,1,1,1,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,8,9,9,0,0,0,1,1,2,2,2,3,3,4,4,4,5,5,6,6,6,7,7,8,8,8,9,9,9,0,0,
1,1,1,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,8,9,9,0,0,0,1,1,2,2,2,3,3,4,4,4,5,5,6,6,6,7,7,7,8,8,9,9,9,0,0,1,1,
1,2,2,3,3,3,4,4,5,5,5,6,6,6,7,7,8,8,8,9,9,0,0,0,1,1,2,2,2,3,3,4,4,4,5,5,6,6,6,7,7,7,8,8,9,9,9,0,0,1,1,1,
2,2,3,3,3,4,4,5,5,5,6,6,6,7,7,8,8,8,9,9,0,0,0,1,1,2,2,2,3,3,4,4,4,5,5,5,6,6,7,7,7,8,8,9,9,9
};
int code date3[]={
0,4,8,2,6,0,4,7,1,5,9,3,7,1,5,9,3,7,1,4,8,2,6,0,4,8,2,6,0,4,8,1,5,9,3,7,1,5,9,3,7,1,5,8,2,6,0,4,
8,2,6,0,4,8,2,5,9,3,7,1,5,9,3,7,1,5,9,2,6,0,4,8,2,6,0,4,8,2,6,9,3,7,1,5,9,3,7,1,5,9,3,7,0,4,8,2,6,0,4,8,2,
6,0,4,7,1,5,9,3,7,1,5,9,3,7,1,4,8,2,6,0,4,8,2,6,0,4,8,1,5,9,3,7,1,5,9,3,7,1,5,8,2,6,0,4,8,2,6,0,4,8,2,5,
9,3,7,1,5,9,3,7,1,5,9,2,6,0,4,8,2,6,0,4,8,2,6,0,3,7,1,5,9,3,7,1,5,9,3,7,0,4,8,2,6,0,4,8,2,6,0,4,7,1,5,9,3,
7,1,5,9,3,7,1,4,8,2,6,0,4,8,2,6,0,4,8,1,5,9,3,7,1,5,9,3,7,1,5,8,2,6,0,4,8,2,6,0,4,8,2,5,9,3,7,1,5,9
};
void delay(uint z)
{
uint t1,y;
for(t1=z;t1>0;t1--)
for(y=110;y>0;y--);
}
void init();
void start();
void main()
{
init();
start();
while(1)
{
if(tt==20)
{
tt=0;
a=date1[num];
b=date2[num];
c=date3[num];
}
p23=1;p25=0;p24=0;
P1=table1[a];
p23=0;
p23=0;p25=1;p24=0;
P1=table2[b];
p25=0;
p23=0;p25=0;p24=1;
P1=table1[c];
p24=0;
}
}
void init()
{
TMOD=0x01;
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;
EA=1;
EX0=1;
ET0=1;
TCON=0x01;
TR0=1;
p26=0;
}
void start()
{
wr=1;
wr=0;
wr=1;
}
void time0() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
tt++;
}
void exterm0() interrupt 0
{
rd=0;
delay(1);
//num=P0;
num=128*P0^7+64*P0^6+32*P0^5+16*P0^4+8*P0^3+4*P0^2+2*P0^1+P0^0;
delay(10);
rd=1;
delay(30);
start();
}