移位寄存器:它们如何工作?

老小孩
转载
发布时间: 2025-06-14 15:46:27 | 阅读数 0收藏数 0评论数 0
封面
最近,我翻看刚接触电子行业时做的一堆旧项目。我发现了一个24 x 6的LED矩阵,这是我第一个“完整”的项目。虽然接线凌乱,不太完美,但还能正常工作。做这个项目的时候,我根本没想过用了哪些元件,它们是如何工作的等等。我只想尽快完成它,享受其中的乐趣。我相信有很多人和我一样。

准备工作:

材料:

  1. 1x 74HC595移位寄存器
  2. 1x 16 针 IC 插座
  3. 8个LED
  4. 8x 1k电阻
  5. 3x 10k电阻
  6. 3个触觉按钮
  7. 1个穿孔板
  8. 1 个微型 USB 分线板(可选)
1

了解移位寄存器

我们将使用的移位寄存器是74HC595,它是一个8 位三态移位寄存器,即具有 8 个输出。三态意味着输出可以设置为高电平、低电平或高阻抗。让我们看一下该 IC 的引脚及其功能。

注意:上升沿 - 从 0V 到 5V 的转换(从低到高)

下降沿 - 从 5V 到 0V 的转换(从高到低)


输入(控制引脚)

引脚 14 - 串行数据输入

数据从此引脚送入寄存器。串行意味着数据是逐位送入的。

引脚 13 - 输出使能 (OE)

此引脚用于打开或关闭输出。它是一个低电平有效引脚,这意味着将其拉低即可启用输出。我们将它直接连接到 GND,以使输出始终处于打开状态。

引脚 12 - 存储寄存器时钟 (RCLK)

当此引脚被拉高时,存储寄存器中的数据被传输到输出。

引脚 11 - 移位寄存器时钟 (SRCLK)

此引脚提供时钟信号。引脚 14(串行数据输入)的数据仅在时钟的上升沿记录。简单来说,只有当时钟信号从 0V 上升到 5V 时,引脚 14 上的数据才会被存储在寄存器中。

引脚 10 - 移位寄存器清除 (SRCLR)

它是一个低电平有效引脚。顾名思义,当此引脚被拉低时,它会清除存储寄存器中的所有数据。我们将永久连接到 5V 电源,这样存储寄存器中的数据就永远不会被清除。

输出

引脚 15,引脚 1 至 7 - QA 至 QH

这是移位寄存器的 8 个输出。


2

组装套件

一开始我打算用一个项目机箱。但由于使用的组件不太适合面板安装,我决定用穿孔板。规划好组件的布局。在合理可行的前提下,可以发挥创意来选择布局。

我使用了微型 USB 分线板,因为我将使用 USB 为套件供电。

已附上构建示意图。

PDF
原理图.pdf
35.56KB
3

工作

让我们开始运行它。我们将尝试点亮 Q0 和 Q1 处的 LED,即0000 0011

注意:按下按钮会使该特定引脚变为高电平(或 1),而松开按钮会使该特定引脚变为低电平(或 0)。

要遵循的步骤:

1. 首先,数据置为 1(高电平)。按住“数据”按钮。但数据尚未存储到寄存器中。

2. 当时钟信号从 0V 上升到 5V(即上升沿)时,数据存储在寄存器中。按住“数据”按钮的同时,按下“时钟”按钮一次,因为 IC 只会寻找上升沿。此时,数据以0000 0001 的形式存储在存储寄存器中。现在您可以松开“数据”按钮。

3. 为了让输出也反映同样的效果,按下 Latch 按钮一次。你应该会看到第一位的 LED 亮起。太棒了!

4. 还没完。再次按住“数据”按钮,并按一下“时钟”按钮。现在,原来的“1”左移一位,新添加的“1”取代原来的“1”。现在存储寄存器将显示为0000 0011

5. 按下锁存按钮以在输出中反映相同的内容。

就是这样!

现在你或许能理解为什么需要使用移位寄存器了。在这种情况下,只需一根线就可以控制 8 个输出。当微控制器上的输出引脚用完时,移位寄存器就派上用场了。

我制作了一个定格动画视频,以便更清晰地展示。您可以在 YouTube 上观看。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载