#include <reg52.h>
#include<intrins.h>
sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
sbit key4=P3^5;
typedef unsigned int uint;
typedef unsigned char uchar;
void delay(uint a)
{
uchar i;
while(a--)for(i=0;i<110;i++);
}
main()
{
uchar led=0x7f;
uchar flag=0;
while (1)
{
if(key1==0)
{
delay(5);
if(key1==0)
{
while(key1==0);
flag=1;
//led=0xfe;
}
}
if(key2==0)
{
delay(5);
if(key2==0)
{
while(key2==0);
flag=2;
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(key3==0);
flag=3;
}
}
if(key4==0)
{
delay(5);
if(key4==0)
{
while(key4==0);
flag=4;
}
}
switch(flag)
{
case 1:P1=led;led=_crol_(led,1);delay(1700);break;
case 2:P1=0xff;break;
case 3:P1=P1<<1;delay(1700); if (P1==0X00) P1=0XFF; break;
//case 4:P1=~P1;delay(1000);break;
case 4:P1--;delay(200);break;
default:continue;
}
}
}