众所周知,计算机、计算器和其它智能机器使用寄存器或内存来存储数据。通常情况下,有两种这样的数据类型:永久和临时。这些机器中使用移位寄存器来存储临时数据。
移位寄存器是一种使用时序逻辑来存储和传输二进制数据的设备,移位寄存器是双向电路,它在每个时钟脉冲上将数据的每一位从输入移到输出。目前有多种移位寄存器型号,其中,74HC595就是这样一种串并输出移位寄存器。
74HC595是一个8位串行输入并行输出移位寄存器,它具有存储和移位8位数据的能力,其主要目的是接收串行输入数据,并将其转换为并行输出,以供LED显示器、LCD显示器等各种设备使用。
例如,如果你想连续点亮八个LED,可以使用八个不同的引脚/信号,然后依次将它们全部点亮。或者,也可以使用单个引脚/信号并逐个发送一个字节(8 位),表示应该打开哪些LED。然后,移位寄存器可以接收并存储传入的八位,然后将各个位作为并行输出发送到LED。
74HC595是一款16针IC,提供通孔和SMD版本,其引脚图如下:
下面以表格形式给出74HC595的引脚说明:
| Pin | 符号 | 名称和功能 |
|---|---|---|
| 1 | Q1 | 并行数据输出1 |
| 2 | Q2 | 并行数据输出2 |
| 3 | Q3 | 并行数据输出3 |
| 4 | Q4 | 并行数据输出4 |
| 5 | Q5 | 并行数据输出5 |
| 6 | Q6 | 并行数据输出6 |
| 7 | Q7 | 并行数据输出7 |
| 8 | GND | 接地 |
| 9 | Q7S | 串行数据输出 |
| 10 | ~MR | 主复位输入 |
| 11 | SH_CP/SRCLK | 移位寄存器时钟输入 |
| 12 | ST_CP/RCLK | 存储寄存器时钟输入 |
| 13 | OE | 输出使能输入 |
| 14 | DS | 串行数据输入 |
| 15 | Q0 | 并行数据输出1 |
| 16 | VCC | 电源电压 VCC |
移位寄存器使用5个控制信号进行操作:
74HC595由两个寄存器组成:移位寄存器和存储/输出寄存器,两者都有8位宽度。第一个负责在时钟脉冲的每个上升沿接收输入数据,而存储寄存器负责将数据传送到输出引脚 (Q0 -Q7),如下图所示:
第1步:八位移位寄存器在移位寄存器时钟 (SH_CP) 的每个正跳变时从串行输入 (DS/SER) 获取数据。因此需要8个时钟脉冲才能将8位数据移入寄存器。
注意:当它为低电平时,复位功能 (MR) 将所有移位寄存器值设置为零并且独立于所有时钟。
第2步:来自输入串行移位寄存器的数据通过存储寄存器时钟 (ST_CP) 引脚上的上升脉冲放置在输出寄存器中。因此需要一个时钟脉冲将8位数据从第一个寄存器传输到输出寄存器(Q0 – Q7)。
注意:输出使能 (~OE) 置为低电平时,三态输出 Q0-Q7 变为活动状态。
这意味着74HC595的输出只有在锁存器引脚12处于高逻辑电平时才会更新。来自存储寄存器的数据连接到8个输出引脚,这些引脚并联连接,可以驱动单个负载,如LED。
下面给出了74HC595的时序图,以便更好地理解其工作过程。
74HC595设备包含一个8位串行输入、并行输出移位寄存器,为8位D型存储寄存器提供数据。存储寄存器具有并行的三态输出。为移位寄存器和存储寄存器提供了单独的时钟。移位寄存器具有直接超控清除(SRCLR)输入、串行(SER)输入和级联串行输出。
另外,当输出使能(OE)输入为高时,输出处于高阻抗状态,移位寄存器时钟(SRCLK)和存储寄存器时钟(RCLK)均为正边沿触发。如果两个时钟连接在一起,则移位寄存器总是比存储寄存器提前一个时钟脉冲。
