#include
#include
#define uchar unsigned char
sbit key_l=P1^0;
sbit key_r=P1^1;
sbit key_d=P1^2;
sbit p27=P2^7;
sbit p20=P2^0;
bit flag;
uchar sudu=3;
void delay(uchar sd)
{
int i;
while(sd--)for(i=0;i<12000;i++);
}
void dxzy(void)
{
while(P1&0x07 == 0)
{
P2=_crol_(P2,1);
delay(sudu);
}
}
void dxyy(void)
{
while(P1&0x07 == 0)
{
P2=_cror_(P2,1);
delay(sudu);
}
}
void sxzyy(void)
{
while(P1&0x07 == 0)
{
if(p27 & p20)
{
if(p27)flag=0;
else flag=1;
}
if(flag)P2=_cror_(P2,1);
else P2=_crol_(P2,1);
delay(sudu);
}
}
main()
{
P2=0xef;
while(1)
{
if(key_l==0)
{
while(key_l==0);
dxzy();
}
if(key_r==0)
{
while(key_r==0);
dxyy();
}
if(key_d==0)
{
while(key_d==0);
sxzyy();
}
}
}