/* 名称:K1-K4控制LED移位
说明:按下K1时,P0口LED上移一位;
#FormatImgID_0#
*/
按下K2时,P0口LED下移一位;
按下K3时,P2口LED上移一位;
按下K4时,P2口LED下移一位;
#includereg51.h>
#includeintrins.h>
#defineucharunsignedchar
#defineuintunsignedint
//延时
voidDelayMS(uintx)
{
uchari;
while(x--)
for(i=0;i120;i++);
}
//根据 P1 口的按键移动
LED
voidMove_LED()
{
if((P10x10)==0)P0=_cror_(P0,1);//K1
elseif((P10x20)==0)P0=_crol_(P0,1); //K2
elseif((P10x40)==0)P2=_cror_(P2,1);//K3
elseif((P10x80)==0)P2=_crol_(P2,1); //K4
}
//主程序
voidmain()
{
ucharRecent_Key;最近按键
P0=0xfe;
P2=0xfe;
P1=0xff;
Recent_Key=0xff;
while(1)
{
if(Recent_Key!=P1)
{
Recent_Key=P1;//保存最近按键
Move_LED();
DelayMS(10);
}
}
}