74HC595芯片使用说明及驱动程序
74系列芯片简介
74系列集成电路大致可分为6大类:
74××(标准型);
74LS××(低功耗肖特基);
74S××(肖特基);
74ALS××(先进低功耗肖特基);
74AS××(先进肖特基);
74F××(高速)。
近年来还出现了高速CMOS电路的74系列,该系列可分为3大类:
HC为COMS工作电平;
HCT为TTL工作电平,可与74LS系列互换使用;
HCU适用于无缓冲级的CMOS电路。
其中74HC系列是目前应用最为广泛的74系列芯片,应用广泛且价格低廉。74HC系列是高速CMOS标准逻辑电路系列,具有与74LS系列同等的工作度和CMOS 集成电路固有的低功耗及电源电压范围宽等特点。型号最后几位数字相同,表示电路的逻辑功能、管脚排列完全兼容。
74HC595的主要参数
74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK的上升沿,串行数据由DS输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。
简单来说,就是单片机的信号可以通过串行输入74HC595来实现并行输出,节约了单片机上珍贵的引脚资源。(相应的,也有一款芯片可以实现并行输入,串行输出,和595功能正相反,这个芯片就是74HC165)
符号 | 引脚 | 描述 |
---|---|---|
QA–QH | 第15脚,第1-7脚 | 8位并行数据输出 |
GND | 第8脚 | 地 |
SQH | 第9脚 | 串行数据输出 |
SCLR | 第10脚 | 主复位(低电平有效) |
SH_CP、SCK | 第11脚 | 数据输入时钟线 |
ST_CP、RCK | 第12脚 | 输出存储器锁存时钟线 |
OE | 第13脚 | 输出有效(低电平有效) |
SI | 第14脚 | 串行数据输入 |
VCC | 第16脚 | 电源 |
(不同批次芯片其引脚名称可能有变化,但位置功能不变)
74HC595的使用
首先将74HC595的SHCP、STCP、SI连接单片机的三个输出引脚,SCLR接VCC,OE接GND,QA-QH连接输出。
当SHCP波形处于上升沿时,芯片会读取SI引脚高低电平并将数据依次保存在储存器中,当数据输入完成后,给STCP一个上升沿,芯片就能把储存器中数据并行输出。
595的数据来源只有这一个口,一次只能输入一个位,那么连续输入8次,就可以积攒为一个字节了。
假如,我们要将二进制数据0111 1111 输入到595的移位寄存器中,0111 1111 这个数据完全输入后是这样的
这里我们注意到,0111 1111对应的输出引脚并不是ABCD……的顺序,而是HGFE……的倒序。
我们现在知道,使用一块74HC595可以用单片机的三个IO口控制8路信号输出,但若是想要控制16路信号呢?32路呢?是不是要用单片机的6个、12个引脚呢?这样的确可以达成目的,但是74HC595的SQH引脚为我们提供了更好的解决方案。我们可以将第一块595芯片的SQH引脚连接下一块595芯片的SI引脚,再将两块595芯片的SHCP,STCP分别连接在一起,这时,我们可以一次性朝第一块595芯片的SI引脚输入16位数据(如0011 0000 1111 0000),当输入到第九位数据1时,第一块595芯片的储存器已满,所以数据的第一位0就会由SQH引脚输入到第二块595芯片的储存器中,以此类推直到输入完16位数据。这样我们就通过两块595串联利用单片机的三个IO口控制16路输出了,如果是四块595串联,那就可以利用三个IO口控制32路输出了……
这里推荐一段视频,非常的直观易懂。https://www.bilibili.com/video/BV1xZ4y1Z7RP/?spm_id_from=333.999.0.0&vd_source=0c966c3372f6f92eed8e89d108b3ccca
74HC595数据手册:https://www.semiee.com/file/backup/PHILIPS-74HC595.pdf
供参考:stm32f103驱动程序header文件
1 |
|