【单片机C51两个按键K1、K2控制8个LED灯,初始值0xFE。摁下一次K1,LED灯左移;摁下一次K2,LED灯右移;】2022-1-5
缘由单片机C51 两个按键K1、K2控制8个LED灯,初始值0xFE。摁下松开一次K1,LED灯左移一位点亮下一盏灯,前一位熄灭;摁下松开一次K2,LED灯右移一位点亮下一盏灯,前一位熄灭;-编程语言-CSDN问答
对于初学确有细说需求,特此说明些,若不想自手点击按键就让程序自己循环,就是第一次发的代码,若想按键释放前后执行,就把按键里面的语句调整前后即可。
#include "REG52.h"
#include<intrins.h>
void main()
{unsigned char Xd=0,xz=255,cs=99,ss=1,s1=0,s2=0,s3=2,s4=3;unsigned int wei=47474;P2=ss;while(1){if(P3==0xFE&&++Xd==0) //定义按键K1,按键接P1^0口 1111 1110 接地变为低电平{s1=0;while(P3==0xFE);}if(P3==0xFD&&++Xd==0) //定义按键K2,按键接P1^1口 1111 1101 接地变为低电平{s1=1;while(P3==0xFD);}if(++wei==0){P2=(s1==1?_crol_(P2,1):_cror_(P2,1));wei=47474;}}
}
#include "REG52.h"
#include<intrins.h>
void main()
{unsigned char Xd=0,xz=255,cs=99,ss=1,s1=0,s2=0,s3=2,s4=3;unsigned int wei=47474;P2=ss;while(1){if(P3==0xFE&&++Xd==0) //定义按键K1,按键接P1^0口 1111 1110 接地变为低电平{P2=_cror_(P2,1);while(P3==0xFE);}if(P3==0xFD&&++Xd==0) //定义按键K2,按键接P1^1口 1111 1101 接地变为低电平{P2=_crol_(P2,1);while(P3==0xFD);}}
}