51单片机二极管从右往左循环轮流点亮
时间: 2023-05-22 20:04:41 浏览: 93
51单片机源码程序-点亮一个二极管.zip
可以使用位移运算和按位与运算实现。具体代码如下:
#include <reg51.h>
void main() {
unsigned char led = 0x01; // 二进制表示 00000001,第一个 LED 点亮
while (1) {
P1 = led; // 输出到 LED 灯
led = (led << 1) & 0xFE | (led >> 7); // 循环左移一位,最高位用最低位替换,保证只有一个 LED 点亮
delay(100); // 稍作延时
}
}
void delay(unsigned int cnt) {
unsigned int i, j;
for (i = 0; i < cnt; i++) {
for (j = 0; j < 123; j++);
}
}
注意:以上代码是使用 C 语言编写的,不是 Lua 语言。如果您需要使用 Lua 语言实现类似的功能,可以尝试使用 NodeMCU 固件或者 Lua RTOS。
阅读全文