我们使用保存开关值的“传入”字节作为语句的开关 。然后我们有八种情况,每个开关一种 。如果你想允许两个按钮同时按下,你大概可以添加更多的按钮,但八个对我来说已经足够了!
在每种情况下,我们用LED图案填充datArray阵列,以二进制形式编写以便于查看 。在每个字节中,“1”表示LED打开,“0”表示LED关闭 。
我在数组中使用了八个元素来简化它,但是你可以把它加到任何你喜欢的数字上 。只需更改数组定义并遍历数组元素的for-next循环中的数字 。
我将模式切换之间的延迟设置为200毫秒,但您可以更改它 。更好的是,尝试在每个案例评估中使用延迟作为一个变量,这样您就可以使模式以不同的速度运行 。
代码像预期的那样工作 , 而且看起来很有趣 。
您可以通过级联74HC595来添加更多led来改进代码 。您也可以通过在一个模拟输入端添加一个电位计 , 并使用它来设置延迟时间,从而使速度可变 。74HC595上的使能输入可以由PWM驱动,以改变LED亮度,您可以用第二个电位计控制它 。
您甚至可以添加一些MOSFET来驱动更大的led , 并制作自己的特效!
一个简单的演示,潜力无限 。
结论移位寄存器可能是基本的构建模块,如果您需要向项目添加额外的输入或输出 , 它们会非常有用 。它们既便宜又容易使用 。
【用移位寄存器来扩展 8位移位寄存器】
- 鹿茸菇煲汤功效与作用
- 化疗多久恢复 化疗后副作用多久能恢复正常
- 学书法还有用吗 学书法有没有用
- 红米1s可以用4g网络吗
- 蒜贩子如何保存大蒜
- 路由器怎么用手机设置密码
- 泰拉瑞亚木剑有什么作用
- 路由器怎么用网线桥接
- 路由器怎么用着用着就上不去网了
- 钴金属的主要用途,锗金属的主要用途
