K1-K4 控制LED移位 /* 名稱:K1-K4 控制LED移位 說明:按下K1時(shí),P0口LED上移一位; 按下K2時(shí),P0口LED下移一位; 按下K3時(shí),P2口LED上移一位; 按下K4時(shí),P2口LED下移一位; file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg*/ #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int //延時(shí) void DelayMS(uint x) { uchari; 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 elseif((P1&0x20)==0) P0=_crol_(P0,1); //K2 elseif((P1&0x40)==0) P2=_cror_(P2,1); //K3 elseif((P1&0x80)==0) P2=_crol_(P2,1); //K4 } //主程序 void main() { ucharRecent_Key; //最近按鍵 P0=0xfe; P2=0xfe; P1=0xff; Recent_Key=0xff; while(1) { if(Recent_Key!=P1) { Recent_Key=P1; //保存最近按鍵 Move_LED(); DelayMS(10); } } }
|