用独立按键控制流水灯转向,按下独立按键流水灯向右移动,再按下独立按键流水灯向左移动
此代码用到
逻辑左移:_crol_(移动对象,移动的位数)文章来源:https://www.toymoban.com/news/detail-723372.html
逻辑右移:_cror_(移动对象,移动的位数)文章来源地址https://www.toymoban.com/news/detail-723372.html
#include <REGX52.H>
#include <INTRINS.H> //导入头文件
unsigned char LEDNum;
unsigned int count;
void Delay1ms(unsigned int xms) //@11.0592MHz //延时函数
{
unsigned char i, j;
while (xms--)
{
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
}
void main()
{
while(1)
{
if(P3_1==0)
{
Delay1ms(20);
while(P3_1==0);
Delay1ms(20); //软件消抖
P2=0xFE;
Delay1ms(500);
LEDNum = 0xFE;
while(1)
{
while(count == 0) //当count为0时进入此循环
{
LEDNum =_crol_(LEDNum,1);
P2 = LEDNum;
Delay1ms(500);//1
if(P3_1==0)
{
Delay1ms(20);
while(P3_1==0);
Delay1ms(20);
count = 1; //再次按下K1改变count值使进入逻辑右移
LEDNum = LEDNum;
}
}
while(count == 1) //当count为1时进入此循环
{
LEDNum =_cror_(LEDNum,1);
P2 = LEDNum;
Delay1ms(500);
if(P3_1==0)
{
Delay1ms(20);
while(P3_1==0);
Delay1ms(20);
count = 0; //再次按下K1改变count值使进入逻辑左移
LEDNum = LEDNum;
}
}
}
}
}
}
到了这里,关于在51单片机中使用一个独立按键控制流水灯方向的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!