51单片机独立按键控制流水灯花样显示

以下是一个使用51单片机独立按键控制流水灯花样显示的代码:

1.定义LED灯:首先,我们需要定义LED灯的位置,以便在后续的程序中进行操作 

2.定义独立按键:然后,我们需要定义独立按键的位置,用于表示哪个按键被按下 

3.编写控制程序:接下来,我们需要编写控制程序。程序的核心部分是根据按键的状态来控制LED灯的亮灭。当某个按键被按下时,对应的LED灯就会亮起;当按键松开时,对应的LED灯就会熄灭

4.花样显示:最后,我们可以通过改变LED灯的亮灭顺序,实现花样显示 

#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); 
            LEDNum = 0xFE; 
            while(1) 
            { 
                while(count == 0) //当count为0时进入此循环 
                { 
                    LEDNum = _crol_(LEDNum,1); 
                    P2 = LEDNum; 
                    Delay1ms(500);//1 
                } 
                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; 
                    } 
                } 
            } 
        } 
        while(count == 0); 
        count = 1; 
    } 
}

这段代码首先定义了一个LEDNum变量,用来存储当前的LED灯颜色。然后,主函数中有一个无限循环,当检测到P3_1按键被按下时,开始执行流水灯的控制逻辑。

在控制逻辑中,LEDNum变量会被不断地左移或右移,从而产生不同的颜色变化。同时,通过控制LEDNum的移动,可以实现流水灯的花样显示。

这只是一个基本的示例,实际上,你还可以根据需要添加更多的控制逻辑,比如增加按键的数量,或者改变流水灯的花样等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值