概述
一、前言
SR锁存器(Set-Reset Latch)是静态存储单元当中最基本,也是电路结构最简单的一种,通常由两个或非门或者与非门组成。其中S表示Set,R表示Reset。则S_D称为置位端或置1输入端,R_D称为复位端或置0输入端
二、结构和状态
与非门为什么S R那里加两个小圆圈?
是为了说明S R是低电平有效。怎么看出来是低电平有效呢?因为其中S表示Set是置位信号,R表示Reset是复位信号,根据与非门的特征表可以看出S=0时 Qn+1为1实现了置位功能,所以S=0时有效,即S低电平有效。R类似。
对照上边电路结构图,根据正逻辑约定(高电平表示逻辑1状态;低电平表示逻辑0状态),可得到以下状态图(下面以用或非门组成的锁存器为例):
在正常工作情况下,输入信号应该满足
这个约束条件。
原因:假设Q为1 ,当R S都为1时,即从S =1 R =0变到R=1 S=1。此时根据公式可知Q和Q'都为1,不符合设计理论。其 次当两者为1,即置位又复位,不合理
但为什么说RS都为1这种状态是不稳定状态呢?这个不稳定怎么理解?
当R S都为1,想要同时翻转为0,同时翻转这个“同时”是很难做到的,此时存在着竞争关系,有可能R先翻转,有可能S先翻转,从而使得结果不确定,不稳定。
三、特性表(横着看)
Q 初态(锁存器原来的状态)
Q* 次态(锁存器新的状态)
a.用或非门组成的SR锁存器的特性表:
b.用与非门组成的SR锁存器的特性表:
以上的特性表最后两行均不满足遵守条件,状态不定。
为何特征表Q中会有两个值?
上边说到,Q表示锁存器原来的状态,也叫初态;Q*表示锁存器新的状态,也叫次态。则可以理解为特征表中的Q表示上一状态Q的值,Q*则理解为下一状态Q的值。
举个例子:
以上图蓝色那一列为例,将Q = 1的值作为初态,当
Q的值发生变化,而此时产生的新的Q的值被称为次态。
四、基本RS触发器如何实现按键消抖
基本RS触发器状态转换图(与非门实现)
状态转换图和特性表是等价的,但是你可能会疑惑为什么为什么没有R和S和同时为1的情况?
其实是有的。S=1时R无论为什么,都为0态,即这包含了两种情况:
(1)S=1 R=1 输出保持Qn不变(从零态到零态)
(2)S =1 R=0 零态
实现电路(切开关是指以地为中心在S和R两端切换)
机械开关上下切换,当没有切换到S'端时,S'点5V,当切换过去时,机械开关会产生抖动,使得S'点电压变化如下:
开关离开R',R'立马由0V变为5V,但是机械开关会抖动,于是Vs的电压上下变化。
应该如何实现消抖呢?
(1)软件消抖
把S端接到单片机IO口,检测IO口电平。,发现为0V后延时一会儿再检测到为0v,即不再抖动了
(2)硬件消抖
使用与非门构成的RS触发器,拨码开关从R'端切换到S'端 S'立马变为0,触发器反转为1态,即便S;端还有几毫秒的抖动,但是R'=1 不管S’为什么 都能维持1态,从而消除抖动。
最后
以上就是害羞翅膀为你收集整理的基本RS触发器(SR锁存器)一、前言二、结构和状态三、特性表(横着看)四、基本RS触发器如何实现按键消抖的全部内容,希望文章能够帮你解决基本RS触发器(SR锁存器)一、前言二、结构和状态三、特性表(横着看)四、基本RS触发器如何实现按键消抖所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复