文章原始地址:http://feotech.com/?p=44
一. 74HC595芯片介绍
74HC595是串口转并口芯片,可输出三种状态:高电平、低电平和高组态。
一片74HC595芯片可实现3根口线扩展为8根口线.也可采用多片74HC595进行级联的方式扩展输出口线。
Q0~Q7: 并行数据数据输出端;
GND: 接地引脚;
Q7S: 串行数据输出(多芯片级联时使用);
MR: 复位引脚,当引脚接低电平时芯片内部数据存储寄存器数据清零复位.如不使用一般接高电平;
SHCP: 移位寄存器的时钟输入,当接收到上升沿时移位寄存器内部数据整体后移;
STCP: 数据存储寄存器时钟输入,当检测到上升沿时使能数据存储寄存器,将芯片接收到的数据输出到Q0~Q7 ,Q7S引脚.可以将其理解为锁存信号,当数据发送给芯片完成后对该引脚发送上升沿;
OE: 输出使能引脚,为高电平时芯片输出引脚为高组态,当为低电平时芯片输出引脚为高(低)电平.该引脚可用于同时控制并行输出引脚的电平,如控制LED闪烁等.当不使用该功能时通常接低电平;
DS: 串行数据输入端
VCC: 电源引脚
从功能框图中可以看出74HC595含有一个移位寄存器,一个存储寄存器和一个三态输出控制器。
在使用74HC595设计电路时应注意不同厂家生产的芯片对时钟最高频率和高电平保持时间范围都有不同要求.应查看对应厂家的芯片Data Sheet.本例程中使用的是Nexperia (NXP)所生产的74HCT595。
二. 74HC595硬件设计与74HC595驱动程序
1.单芯片工作模式
/**
******************************************************************************
* @file LED.c
* @author Ryan Zhao
* @version V1.0.0
* @date 2017-05-03
* @brief 用于通过驱动芯片74HC595来控制LED.
******************************************************************************
* @attention
* 注意CPU引脚的频率应在74HC595正常工作所允许的范围.
****************************************************************************