單片機(jī)C語(yǔ)言程序設(shè)計(jì):K1-K4 控制 LED 移位
/* 名稱:K1-K4 控制 LED 移位
說(shuō)明:按下 K1 時(shí),P0 口 LED 上移一位;
#FormatImgID_0#
*/
按下 K2 時(shí),P0 口 LED 下移一位;
按下 K3 時(shí),P2 口 LED 上移一位;
按下 K4 時(shí),P2 口 LED 下移一位;
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延時(shí)
void DelayMS(uint x)
{
uchar i;
while(x--)
for(i=0;i<120;i++);
}
// 根 據(jù) P1 口 的 按 鍵 移 動(dòng)
LED
void Move_LED()
{
if ((P1&0x10)==0) P0=_cror_(P0,1); //K1
else if((P1&0x20)==0) P0=_crol_(P0,1); //K2
else if((P1&0x40)==0) P2=_cror_(P2,1); //K3
else if((P1&0x80)==0) P2=_crol_(P2,1); //K4
}
//主程序
void main()
{
uchar Recent_Key;最近按鍵
P0=0xfe;
P2=0xfe;
P1=0xff;
Recent_Key=0xff;
while(1)
{
if(Recent_Key!=P1)
{
Recent_Key=P1; //保存最近按鍵
Move_LED();
DelayMS(10);
}
}
}