从左到右的流水灯(2)

02 从左到右的流水灯

/* 名称:从左到右的流水灯

说明:接在P0 口的8 个LED 从左到右循环依次点亮,产生走 马灯效果


下面是使用C语言编写的流水灯示例代码,可以实现将接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果:

c复制代码#include <reg51.h>

#define DELAY_TIME 100 // 定义延时时间

void delay(unsigned int count);

void main() {
    unsigned char pattern = 0x01; // 初始点亮模式

    while (1) {
        P0 = pattern; // 将模式值写入P0口
        delay(DELAY_TIME);

        pattern <<= 1; // 模式左移一位

        if (pattern == 0) {
            pattern = 0x01; // 如果模式为0,则重置为初始点亮模式
        }
    }
}

// 延时函数
void delay(unsigned int count) {
    unsigned int i, j;

    for (i = 0; i < count; i++) {
        for (j = 0; j < 120; j++);
    }
}

上述代码中使用了延时函数来控制LED灯的亮灭时间间隔。你可以根据实际需求调整DELAY_TIME的值来改变走马灯的速度。此外,还需要根据你所使用的具体8位单片机型号和开发环境进行相应的修改,以使代码能够正确运行。

原文链接:,转发请注明来源!