我们前边学了点亮一个 LED 小灯,然后又学了 LED 小灯闪烁,现在我们要进一步学习如何让 8 个小灯依次一个接一个的点亮,流动起来,也就是常说的流水灯。先来看 8 个 LED的核心电路图,如图 4-12。
图4-12 LED 小灯电路图
通过前面的课程,我们可以了解到控制引脚 P0.0 经过 74HC245 控制了 DB0,P0.1 控制DB1...... P0.7 控制 DB7。我们还学到一个字节是 8 位,我们如果写一个 P0,就代表了 P0.0 到 P0.7 的全部 8 个位。比如我们写 P0 = 0xFE;转换成二进制就是 0b11111110,所以点亮 LED小灯的程序,实际上我们可以改成另外一种写法,如下所示。
图4-12 LED 小灯电路图
通过前面的课程,我们可以了解到控制引脚 P0.0 经过 74HC245 控制了 DB0,P0.1 控制DB1...... P0.7 控制 DB7。我们还学到一个字节是 8 位,我们如果写一个 P0,就代表了 P0.0 到 P0.7 的全部 8 个位。比如我们写 P0 = 0xFE;转换成二进制就是 0b11111110,所以点亮 LED小灯的程序,实际上我们可以改成另外一种写法,如下所示。
- #include <reg52.h>
- sbit ADDR0 = P1^0;
- sbit ADDR1 = P1^1;
- sbit ADDR2 = P1^2;
- sbit ADDR3 = P1^3;
- sbit ENLED

这是一个简单的C语言程序,用于控制LED流水灯。通过定义并设置P1口的位来控制LED,初始化时设定ADDR0为低电平,其他ADDR1-ADDR3设为高电平,然后向P0口写入数据0xFE,使得LED流水灯开始工作。程序进入无限循环,保持运行状态。

1276

被折叠的 条评论
为什么被折叠?



