深入解析74HC595移位寄存器的工作原理
深入解析74HC595移位寄存器的工作原理
74HC595是一种常见的8位串行输入并行输出(SIPO)移位寄存器,广泛应用于电子项目中,用于扩展微控制器的输出引脚。它可以通过串行数据输入,将数据转换为并行输出,从而控制多个LED、显示器或其他设备。本文将深入解析74HC595的工作原理及其级联使用方法。
什么是74HC595?
74HC595是一种串行输入并行输出(SIPO)移位寄存器。它通过三根线输入串行数据,并通过八根线输出并行数据。多个74HC595可以级联使用,从而实现16位、24位、32位等更高位数的并行输出,广泛应用于I/O口扩展。其中并行输出为三态输出(即高电平、低电平和高阻抗)。
什么是三态?
在数字电路中,通常有两种基本状态:高电平(逻辑1)和低电平(逻辑0)。三态(Tri-state)是一种特殊的输出状态,除了高电平和低电平外,还有第三种状态,即高阻抗状态(Z)。
- 高电平(1):电路输出高电平信号。
- 低电平(0):电路输出低电平信号。
- 高阻抗(Z):电路输出呈现高阻抗状态,相当于断开,不影响电路其他部分。
三态逻辑通常通过使用一个额外的控制信号(如输出使能信号 OE)来实现。当输出使能信号为有效状态时,输出可以是高电平或低电平;当输出使能信号为无效状态时,输出为高阻抗状态。
例如,在74HC595移位寄存器中,OE引脚控制Q0-Q7输出是否为有效状态。将OE置为高电平,Q0-Q7进入高阻抗状态;将OE置为低电平,Q0-Q7输出正常的高电平或低电平。
工作原理
首先,通过DS(数据输入)引脚输入串行数据,每次输入一个位。每当SH_CP(移位时钟)引脚接收到一个时钟脉冲时,移位寄存器中的数据向左移位一位,新数据位从DS引脚进入移位寄存器的最低位(Q0)。这个过程会在每个时钟脉冲的上升沿发生。当ST_CP(存储时钟)引脚接收到一个时钟脉冲时,移位寄存器中的数据被锁存到输出寄存器中,更新输出引脚的状态。这个锁存过程也在时钟脉冲的上升沿发生。通过OE(输出使能)引脚控制输出是否有效。当OE引脚为低电平时,输出寄存器中的数据通过Q0-Q7引脚输出;当OE引脚为高电平时,输出处于高阻态。
74HC595移位寄存器有三个主要引脚用于数据传输:
- DS(数据输入):这是串行数据输入引脚,用于接收串行数据。
- SH_CP(移位时钟):每次时钟脉冲时,数据向移位寄存器中移位一位。这个引脚用于同步数据的移位操作。
- ST_CP(存储时钟):将移位寄存器中的数据锁存到输出寄存器中。这个引脚用于将移位寄存器中的数据传输到输出寄存器,从而更新输出状态。
此外,还有一个OE(输出使能)引脚,用于控制输出是否有效。当OE引脚为低电平时,输出有效;当OE引脚为高电平时,输出处于高阻态。
级联工作原理
当需要更多IO引脚可以进行级联,级联工作原理与上述工作原理类似,主要分为四个步骤:
数据输入:数据通过串行输入引脚(SER)输入到第一个74HC595芯片的移位寄存器中。
每个时钟脉冲(SCK)的上升沿会使移位寄存器中的数据向左移动一位,新的数据从SER输入。数据移位:在每个时钟脉冲的上升沿,移位寄存器中的数据向左移动一位,新的数据从SER输入并进入移位寄存器的最低位。当移位寄存器填满8位数据后,继续输入的数据会从移位寄存器的最后一个位(Q7)挤出,并从串行数据出口引脚(引脚9)输出。
级联连接:将第一个74HC595芯片的串行数据出口引脚(引脚9)连接到下一个74HC595芯片的串行数据输入引脚(SER)。这样,第一个芯片移位寄存器中的数据在填满后,会自动通过引脚9传递到下一个芯片的移位寄存器中,形成级联。可以继续将下一个74HC595芯片的串行数据出口引脚连接到再下一个芯片的串行数据输入引脚,以此类推,实现多级级联。
数据锁存:当需要将移位寄存器中的数据输出到并行输出引脚时,通过输出寄存器时钟引脚(RCLK)提供一个上升沿的时钟信号。在RCLK的上升沿,移位寄存器中的数据被锁存到输出寄存器中,并通过并行输出引脚(Q0-Q7)输出。
通常将OE引脚接地(GND),确保输出引脚始终处于使能状态。低电平时使能输出,高电平时禁止输出。
电路图以及引脚说明
在不同的电路图中,74HC595芯片的引脚名字可能会有所不同,但其功能是相同的。具体根据电路图上的引脚序号进行查看和说明。
引脚说明
符号 | 引脚序号 | 描述 |
---|---|---|
Q0…Q7 | 15, 1, 7 | 并行数据输出 |
GND | 8 | 地 |
Q7’ | 9 | 串行数据输出 |
MR | 10 | 主复位(低电平) |
SHCP | 11 | 移位寄存器时钟输入 |
STCP | 12 | 存储寄存器时钟输入 |
OE | 13 | 输出有效(低电平) |
DS | 14 | 串行数据输入 |
VCC | 16 | 电源 |
作用描述
- Q0…Q7 (引脚 15,1-7):这些引脚是移位寄存器的并行输出端口,用于输出 8 位数据到外部电路或设备。Q0 是最低有效位,Q7 是最高有效位。
- GND (引脚 8):提供电路的参考电压(0V),所有其他电压都是相对于这个引脚测量的。
- Q7’ (引脚 9):用于级联多个 74HC595 芯片,将第一个芯片的 Q7’ 连接到下一个芯片的 DS 引脚,实现多个移位寄存器的串联。(可以进行扩展)
- MR (引脚 10):当该引脚被拉低时,移位寄存器和存储寄存器会被清零(重置),所有输出变为低电平。通常需要通过上拉电阻连接到 VCC。
- SHCP (引脚 11):在上升沿时,将 DS 引脚的串行输入数据移入移位寄存器,并将寄存器内的内容依次右移一位。
- STCP (引脚 12):在上升沿时,将移位寄存器中的数据锁存到存储寄存器,从而更新 Q0-Q7 的输出状态。
- OE (引脚 13):该引脚为低电平时,使能并行输出端口 Q0-Q7;为高电平时,Q0-Q7 处于高阻态。常用于控制输出使能。
- DS (引脚 14):提供串行数据输入,通过 SHCP 时钟将数据移入移位寄存器。
- VCC (引脚 16):提供工作电压,通常为 +5V。
通过上述对应的引脚序号说明,可以在电路图中查看对应引脚的功能及如何配置使用。