#include<reg52.h>
#include<intrins.h>
sbit JDQ=P3^7;
sbit KEY=P3^2;
unsigned int j,i;
unsigned int t=1;
unsigned int k,m;
LED_table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void delay_50us(unsigned int i)
{
unsigned int j;
for(;i>0;i–)
for(j=19;j>0;j–);
}
void delay_50ms(unsigned int i)
{
unsigned int j;
for(;i>0;i–)
for(j=6245;j>0;j–);
}
void main()
{
P1=0x7f;
delay_50ms(20);
P1=0xbf;
delay_50ms(20);
P1=0xdf;
delay_50ms(20);
P1=0xef;
delay_50ms(20);
P1=0xf7;
delay_50ms(20);
P1=0xfb;
delay_50ms(20);
P1=0xfd;
delay_50ms(20);
P1=0xfe;
delay_50ms(20);
P1=0xfd;
delay_50ms(20);
P1=0xfb;
delay_50ms(20);
P1=0xf7;
delay_50ms(20);
P1=0xef;
delay_50ms(20);
P1=0xdf;
delay_50ms(20);
P1=0xbf;
delay_50ms(20);
P1=0x7f;
JDQ=0;
EA=1;
EX0=1;
IT0=1£»
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
t=1;
while(1)
{
P1=LED_table[t-1];
if(k36000)
{
k=0;
t=t-1;
P1=LED_table[t-1];
if(t0)
{
JDQ=1;
P1=0xff;
TR0=0;
i=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
PCON=0x02;
}
}
}
}
void timer0()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
k++;
}
void int0()interrupt 0
{
delay_50ms(1);
if(KEY==0)
{
JDQ=0;
t=t+1;
if(t>8)t=1;
P1=LED_table[t-1];
TR0=0;
delay_50us(100);
TH0=()/256;
TL0=()%256;
TR0=1;
}
}