#define uchar unsigned char
void delayms(uint);
void display(uchar shi,uchar ge);
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x98};
uchar num;
void main()
{
uchar a,b,num1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
EX0=1;
TR0=1;
while(1)
{
if(num>=20)
{
num=0;
num1++;
if(num1==6)
{
ET0=0;
PCON=0x02;
}
a=num1/10;
b=num1%10;
}
display(a,b);
}
}
void display(uchar a,uchar b)
{
P2=0xbf;
P0=table[a];
delayms(5);
P2=0x7f;
P0=table;
delayms(5);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}
void ex_int0() interrupt 0
{
PCON=0;
ET0=1;
}
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}