下面是一个使用C51编写的控制流水灯花样的示例代码:

#include <reg52.h>

sbit LED1 = P1^0;  // 连接第一个LED的引脚
sbit LED2 = P1^1;  // 连接第二个LED的引脚
sbit LED3 = P1^2;  // 连接第三个LED的引脚
sbit LED4 = P1^3;  // 连接第四个LED的引脚

void delay(unsigned int ms) {
    while (ms--) {
        unsigned char i, j;
        for (i = 0; i < 10; i++)
            for (j = 0; j < 200; j++);
    }
}

void main() {
    unsigned char pattern = 0;  // 当前的花样
    unsigned char key;  // 按键值

    while (1) {
        key = P3;  // 读取P3口的按键值

        if (key == 0x01) {  // 如果按下的是按键1
            pattern = 1;  // 设置花样为1
        } else if (key == 0x02) {  // 如果按下的是按键2
            pattern = 2;  // 设置花样为2
        } else if (key == 0x04) {  // 如果按下的是按键3
            pattern = 3;  // 设置花样为3
        } else if (key == 0x08) {  // 如果按下的是按键4
            pattern = 4;  // 设置花样为4
        }

        switch (pattern) {
            case 1:
                LED1 = 1;  // 点亮第一个LED
                delay(100);  // 延时
                LED1 = 0;  // 熄灭第一个LED

                LED2 = 1;  // 点亮第二个LED
                delay(100);  // 延时
                LED2 = 0;  // 熄灭第二个LED

                LED3 = 1;  // 点亮第三个LED
                delay(100);  // 延时
                LED3 = 0;  // 熄灭第三个LED

                LED4 = 1;  // 点亮第四个LED
                delay(100);  // 延时
                LED4 = 0;  // 熄灭第四个LED
                break;
            case 2:
                // 其他花样的控制逻辑
                break;
            case 3:
                // 其他花样的控制逻辑
                break;
            case 4:
                // 其他花样的控制逻辑
                break;
            default:
                break;
        }
    }
}

这个示例代码中,我们使用了P1口的四个引脚来连接四个LED灯,使用P3口的四个引脚来连接四个按键。在main函数中,我们通过读取P3口的按键值来确定当前选择的花样,并根据当前花样控制四个LED灯的点亮和熄灭。每个花样的控制逻辑都可以在switch语句中的对应case中实现。在每个case中,我们可以根据需要点亮或熄灭不同的LED灯,并使用delay函数进行延时控制

C51编写一个不同按键控制不同花样的流水灯

原文地址: http://www.cveoy.top/t/topic/hLft 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录