#include
#define uchar unsigned char
uchar led1=0xfe;led2=0xfe;led3=0xfe;
uchar cnt=0;
uchar keyval=0;
sbit key=P3^2;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=10)
{
switch(keyval)
{
case 0:
P0=led1;led1=_crol_(led1,1);break;
case 1:
P0=led1;led1=_crol_(led1,1);
P1=led2;led2=_crol_(led2,1);break;
case 2:
P0=led1;led1=_crol_(led1,1);
P1=led2;led2=_crol_(led2,1);
P2=led3;led3=_crol_(led3,1);break;
default:break;
}
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key==0)
{
while(key==0);
keyval++;
keyval%=3;
}
}
}