#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函数进行延时控制。


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

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