1. 74HCT595芯片基础解析
74HCT595是一款经典的8位串行输入/并行输出移位寄存器,采用高速CMOS工艺制造,兼容TTL电平。这个看似简单的芯片在现代数字电路设计中扮演着重要角色,特别是在需要扩展IO口的场景下。我第一次接触这个芯片是在一个LED矩阵控制项目中,当时需要驱动64个LED但MCU的IO口严重不足,595完美解决了这个问题。
芯片的引脚功能值得深入理解:
- SER(14脚):串行数据输入,每个时钟上升沿采样一位数据
- SRCLK(11脚):移位寄存器时钟,上升沿时数据移入
- RCLK(12脚):存储寄存器时钟,上升沿时将移位寄存器内容锁存到输出
- OE(13脚):输出使能,低电平有效
- SRCLR(10脚):移位寄存器清零,低电平有效
关键提示:HCT系列与HC系列的主要区别在于输入电平阈值,HCT可以直接与5V TTL电路对接,而HC需要电平转换。这是选型时容易忽略的关键点。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. SPI协议核心机制
SPI(Serial Peripheral Interface)是Motorola提出的同步串行通信协议,采用主从架构,包含四线制:
- SCLK:时钟信号,由主机产生
- MOSI:主机输出从机输入
- MISO:主机输入从机输出
- SS:从机选择(低电平有效)
SPI的工作模式由CPOL(时钟极性)和CPHA(时钟相位)两个参数决定,组合出四种模式。在驱动74HCT595时,通常使用Mode 0(CPOL=0,CPHA=0),即时钟空闲时为低电平,数据在上升沿采样。
实际项目中遇到过时钟相位问题:某次使用STM32硬件SPI驱动595时,LED显示出现错位,最终发现是CPHA配置错误。硬件SPI的寄存器配置需要特别注意这些细节。
3. 74HCT595的SPI驱动实现
3.1 硬件连接方案
标准SPI与74HCT595的对接方式:
- MCU MOSI → 595 SER
- MCU SCLK → 595 SRCLK
- MCU任意GPIO → 595 RCLK
- MCU任意GPIO → 595 OE(可选)
- 595 Q7' → 下一级595 SER(级联时)
级联多个595时,所有芯片共享SRCLK和RCLK信号,前一级的Q7'连接后一级的SER。我曾用8片595级
