用移位寄存器来扩展 8位移位寄存器( 八 )

正如你所看到的,我再次从之前的所有演示中借用了编码 。事实上,这个代码只有一件事不同,那就是允许您选择 LED 模式的 switch-case 语句 。
我们使用保存开关值的“传入”字节作为语句的开关 。然后我们有八个情况,每个开关按下一个 。如果您想允许同时按下两个按钮,您可能可以添加更多按钮,但八个对我来说已经足够了!
在每个情况下,我们用 LED 图案填充datArray阵列,以二进制编写,以便于查看 。在每个字节中,“1”表示 LED 点亮,而“0”表示 LED 熄灭 。
我在数组中使用了八个元素以使其更容易,但您可以将其增加到您喜欢的任何数字 。只需更改数组定义和循环遍历数组元素的 for-next 循环中的数字即可 。
我将模式更改之间的延迟设置为 200 毫秒,但您可以更改它 。更好的是,尝试将延迟作为每个案例评估中的变量,这样您就可以使模式以不同的速度运行 。

用移位寄存器来扩展 8位移位寄存器


代码按照预想的方式运行,实际上观看起来很有趣 。
您可以通过级联 74HC595 以添加更多 LED 来改进代码 。您还可以通过将电位计添加到模拟输入之一并使用它来设置延迟时间来使速度可变 。74HC595 上的使能输入可以用 PWM 驱动来改变 LED 强度,你可以用第二个电位器来控制 。
您甚至可以添加一些 MOSFET 来驱动更大的 LED 并制作您自己的特效!
一个有很多潜力的简单演示 。
结论移位寄存器可能是基本构建块,如果您需要为项目添加额外的输入或输出,它们会非常有用,它们既便宜又易于使用 。

推荐阅读