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

8位移位寄存器(用移位寄存器来扩展)
今天我们将使用几个基本的电子“构建模块”,移位寄存器 。这些方便的设备可用于各种用途,如数据转换、缓冲和存储,但今天我们将看到它们也可用于扩展 Arduino 数字 I/O 端口的数量 。

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


本文原创: 加拿大DroneBotWorkshop.com 翻译整理:DIY百事
通过学习使用移位寄存器,您将为设计师的工具包添加另一个方便的工具 。
目录1简介
1.1扩展您的 Arduino
2 移位寄存器
2.1移位寄存器的类型
2.1.1串行输入-并行输出
2.1.2并行输入-串行输出
2.1.3并行输入-并行输出 & 串行输入-串行输出
2.2移位寄存器的工作原理
2.3级联移位寄存器
3 74HC575 & 74HC165 移位寄存器
3.1 74HC595——8位串行输入——并行输出
3.2 74HC165——8位并行输入——串行输出
4. 74HC595 的额外输出端口
4.1 Arduino & 74HC595 连接
4.2 Arduino shiftOut() 函数
4.3 Arduino & 74HC595 草图
【用移位寄存器来扩展 8位移位寄存器】5. 驱动 7 段显示器
5.1 7 段 LED 显示
5.2 74HC595 7 段显示器连接
5.3 74HC595 7段显示示意图
6. 74HC165 的额外输入端口
6.1 Arduino shiftIn() 函数
6.2 Arduino & 74HC165 连接
6.3 Arduino & 74HC165 代码
7. 74HC595 和 74HC165 一起使用
7.1 74HC595 和 74HC165 连接
7.2 74HC595 和 74HC165 代码 1
7.3 74HC595 和 74HC165 代码 2 – 令人兴奋!
8. 结论
---------------------------------------------------------------------------------------------------------
扩展您的 ArduinoArduino 已经有许多数字 I/O 端口,事实上,Arduino Mega 250 拥有 54 个数字 I/O 引脚和另外 16 个可以兼作数字 I/O 引脚的模拟输入 。因此,对于 70 个潜在的 I/O 引脚,您通常不需要更多 。但有时你确实需要更多 。
以熟悉的“LED Cube”为例 。一个 4x4x4 尺寸的立方体需要 64 个 LED,如果你“借用”几个模拟引脚,这在 Arduino Mega 2560 的能力范围内 。但是你快到极限了 。
如果你想扩展到一个 5x5x5 的立方体,那么你就不走运了,为此你需要 125 个 LED,而且你不能用一个 Arduino 单独控制它们 。
即使是使用标准(即不可寻址)RGB LED 的 4x4x4 立方体也会超过限制 。
有很多方法可以解决这些问题,包括在矩阵中运行 LED 或使用移位寄存器 。移位寄存器将允许您仅使用几个 Arduino I/O 引脚来寻址大量 LED 。
有时,您有很多传感器、显示器或其他 I/O 设备,无法为 LED 或开关留出大量引脚,但您需要一个多 LED 显示器或一个小键盘 。移位寄存器可以再次派上用场 。
让我们来看看这些设备的使用 。
移位寄存器移位寄存器是用于二进制数据的转换、存储或传输的时序逻辑电路 。
用移位寄存器来扩展 8位移位寄存器


这些设备用于在串行和并行数据之间进行转换 。它们可用于数据通信电路以及存储器和缓冲电路 。许多复杂的电子电路,例如微处理器和微控制器,在内部使用移位寄存器 。
移位寄存器的类型移位寄存器处理其输入和输出上的串行和并行数据,并且它们可以在这些格式之间进行转换 。
有四种基本类型的移位寄存器:
串行输入-并行输出
用移位寄存器来扩展 8位移位寄存器


并行输入 - 串行输出
用移位寄存器来扩展 8位移位寄存器


并行输入 - 串行输出 (PISO) 移位寄存器将并行数据转换为串行数据 。它用于通信并将多个输入端口转换为串行数据 。

推荐阅读