#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar t;
sbit P33=P3^3; // 按键K2
void delay1ms(uint i)
{
uchar j;
while(i--)
{
for(j=0;j<125;j++)
{;}
}
}
void main()
{
P1=0xff;
EA=1;
EX1=1;
ET1=1;
IT1=1;
}
void int1() interrupt 2
{
if(P33==0)
{
delay1ms(15);
if(P33==0)
{
t++;
if(t==1) //按下K2第一次t为1时led右移
{
P1=0x7f;
delay1ms(300);
while(1)
{
P1=_cror_(P1,1);
delay1ms(300);
}
}
}
}
if(t==2) 、// 按下K2第二次t为2时led左移
{
P1=0xfe;
delay1ms(300);
while(1)
{
P1=_crol_(P1,1);
delay1ms(300);
}
}
if(t==3) // 按下K2第3次t为3时led全亮
{
while(1)
{
P1=0x00;
}
}
if(t==4) // 按下K2第4次t为4时led闪烁
{
while(1)
{
P1=0x00;
delay1ms(200);
P1=0xff;
delay1ms(200);
}
}
if(t>4)
{
t=0;
}
} |