74HC595移位寄存器使用方法

扣扣技术交流群:460189483

74HC595是一个8位串行输入、平行输出的位移缓存器:平行输出为三态输出(三态指的是搞电平1、低电平0、高阻态而非悬空)。在SCK的上升沿,单行数据由SDL输入到内部的8位位移缓存器,并由Q7‘输出(可以连接到下一个74HC595的输入,这样可以组成多级级联设计),而平行输出则是在LCK的上升沿将在8位位移缓存器的数据存人到8位平行输出缓存器。当串行数据输人端OE的控制信号为低使能时,平行输出端的输出值等于平行输出缓存器所存储的值。而当OE为高电位,也就是输出关闭时,平行输出端会维持在高阻抗状态。

74HC595芯片引脚图及功能

74HC595引脚图

管脚编号管脚名管脚定义功能
1-7,15QA--QH三态输出管脚
8GND电源地
9SQH串行数据输出管脚
10RESET复位管脚(移位寄存器清零)
11SHIFT CLOCK数据输入时钟线(移位寄存器时钟线)
12LATCH CLOCK输出存储器锁存时钟线
13OUTPUT ENABLE输出使能
14A串行数据输入
16VCC电源端

74HC595芯片逻辑图

下面这个74HC595芯片逻辑图,输出使能端13脚我们一直让它使能,复位端10脚我们一直让它无效,这两个引脚在硬件设计时为了方便,就直接给它们连到相应的电平上了。程序中我们只需要关注数据输入引脚14脚、移位脉冲引脚11脚和锁存脉冲引脚12脚。

图中的SRA——SRH是移位寄存器 

(ShiftRegister),数据从它们的D引脚输入,从Q引脚输出,每次移位脉冲引脚(ShiftClock)提供一个脉冲,D引脚的数据就会输出并保持到Q引脚,因为这里的移位脉冲引脚(ShiftClock)是连到每一个SR上的,所以自然每次给一个移位脉冲的时候,所有的数据都向后移动了一位。

这里我们注意到,SRA的D脚连接的是串行数据输入,也就是我们的数据引脚。所以每次给脉冲移位之前,我们需要准备好该引脚的值,因为每次给一个脉冲,它的数据就会移入后方。

很直观的看到,我们给几个脉冲,数据引脚就会有几次被移入移位寄存器,并且这些值会保持在各个SR的Q脚。所以假设我们要将一个字节移入移位寄存器,因为1个字节是8位的,所以我们需要给出8个脉冲,那么SRA——SRH的Q脚就保持了这8位值,再看看这8位值,它是先在数据引脚输出的值就会走得越远,所以如果我们先输出数据高位的话,最高位在8个脉冲后就会跑到SRH的Q脚。这就像我们排队一样,一个寄存器里面有8个位置,每次给一个脉冲就好比一次呼叫:“大家可以往前移一位了!”就这样,队伍不断得往前移。

然后我们看到LRA——LRH,它们是锁存寄存器(LatchRegister),每次锁存脉冲引脚(LatchClock)给一个脉冲,Q脚就会输出并保持D脚的值。LR和SR其实是差不多的功能,只是SR多了个复位脚。

我们可以把LR看成是照相机,锁存脉冲引脚就相当于是照相机的快门,我们给一个锁存脉冲,那么数据就被锁存在了对应的Q脚。而当我们没有操作锁存引脚的时候,照相机只是摆在那里,不管队伍怎么前进了,照相机的输出始终是不变的。只有某次按下了快门,所有的照相机的照片就都更新了一次。

大概有人会问,图中的三角形加小圆圈是什么呢?那是非门,说白了就是如果它前面是0,后面就是1;前面是1,后面就是0。还有就是贴在方形锁存器上的那些小圆圈,也是起到反向的左右。

74HC595使用方法

74HC595的数据端

QA--QH:八位并行输出端,可以直接控制数码管的8个段。

SQH:级联输出端。将它接下一个595的A端。

A:串行数据输入端,级联的话接上一级的SQH。

74HC595的控制端说明

/RESET(10脚):低电平时将移位寄存器的数据清零。通常我将它接Vcc。

SHIFT CLOCK(11脚):上升沿时数据寄存器的数据移位。QA->QB->QC-->QD-->...-->QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)

LATCH CLOCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将LATCH CLOCK置为低电平,当移位结束后,在LATCH CLOCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。

/OE(13脚):高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。

注1)74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。

2)74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。

3)595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时LATCH CLOCK为低电平,/OE为低电平。从A每输入一位数据,串行输入时钟SHIFT CLOCK上升沿有效一次,直到八位数据输入完毕,输出时钟LATCH CLOCK上升沿有效一次,此时,输入的数据就被送到了输出端。

74HC595真值表

74HC595具体使用的步骤

第一步:目的:将要准备输入的位数据移入74HC595数据输入端上。方法:送位数据到_595。

第二步:目的:将位数据逐位移入74HC595,即数据串入方法:SH_CP产生一上升沿,将DS上的数据移入74HC595移位寄存器中,先送低位,后送高位。

第三步:目的:并行输出数据。即数据并出方法:ST_CP产生一上升沿,将由DS上已移入数据寄存器中的数据送入到输出锁存器。

说明:从上可分析:从SH_CP产生一上升沿(移入数据)和ST_CP产生一上升沿(输出数据)是二个独立过程,实际应用时互不干扰。即可输出数据的同时移入数据。

74HC595实践原理图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值