5.4.1 寄存器

来源:互联网 发布:java socket示例代码 编辑:程序博客网 时间:2024/06/06 23:56
2006-05-11 22:33:08

字体变小 字体变大
5.4.1 寄存器5.4.2 移位寄存器5.3.2 计数器
5.4.1 寄存器
  在数字系统中,常需要一些数码暂时存放起来,这种暂时存放数码。一个触发器可以寄存1位二进制数码,要寄存几位数码,就应具备几个触发器,此外,寄存器还应具有由门电路构成的控制电路,以保证信号的接收和清除。
图5.4.1所示的寄存器,接收脉冲到达后,将待存数据送至各D触发器 , 取数脉冲加入后将所存数据送出,输入与输出为并行工作方式。


图5.4.1 并行输入并行输出的寄存器5.4.2 移位寄存器
  移位寄存器除了具有寄存数码的功能外,还具有移位功能,即在移位脉冲作用下,能够把寄存器中的数依次向右或向左移。它是一个同步时序逻辑电路,根据移位方向,常把它分成左移寄存器、右移寄存器 和 双向移位寄存器三种;根据移位数据的输入-输出方式,又可将它分为串行输入-串行输出、串行输入-并行输出、并行输入-串行输出和并行输入-并行输出四种电路结构。
  一、由D触发器构成的简单移位寄存器
  图5.4.3 用D触发器构成的四位移位寄存器,从CP上升沿开始到输出新状态的建立需要经过一段传输延迟时间,所以当CP上升沿同时作用于所有触发器时,它们输入端的状态都未改变。于是,F F0按DI原来的状态翻转,F F1按Q0原来的状态翻转, F F2按Q1原来的状态翻转, F F3按Q2原来的状态翻转,同时,输入端的代码存入F0,总的效果是寄存器的代码依次右移一位。
图5.4.3 用D触发器构成的移位寄存器可见,经过4个CP信号后,串行输入的四位代码全部移入了移位寄存器,并在四个输出端得到并行输出代码。利用移位寄存器可实现代码的串行—并行转换。若再加4个CP信号,寄存器中的四位代码还可以从串行端依次输出。二、集成双向移位寄存器74LS194
  74LS194 是一种典型的中规模集成移位寄存器。它是由 4 个RS触发器和一些门电路所构成的 4 位双向移位寄存器。DIL 和DIR分别是左移和右移串行输入。D0、D1、D2和D3是并行输入端;Q0和Q3分别是左移和右移时的串行输出端,Q0、Q1、Q2和Q3为并行输出端。其逻辑图如图 5.5.4 所示,功能表如表 5.4.4 所示。
图5.4. 4 四位双向移位寄存器74LS194A的逻辑图
从其功能表可以看出,只要RD=0,移存器无条件清 0。只有当RD=1,CP上升沿到达时,电路才可能按S1S0设置的方式执行移位或置数操作:S1S0=11为并行置数,S1S0=01为右移,S1S0=10为左移,时钟无效或虽然时钟有效,但S1S0=00 则电路保持原态。
三、移位寄存器应用举例
1、 功能扩展

  例5.4.1 用两片74LS194A接成8位双向移位寄存器

  解:
  

  图5.4.5 例5.4.1 8位双向移位寄存器


2.实现数据的串—并转换
  在数字系统中,信息的传播通常是串行的,而处理和加工往往是并行的,因此经常要进行输入、输出的串、并转换
  例5.4.2 用74LS194双向移位寄存器实现七位串入—并出转换功能
  解:  图5.4.6 例5.4.2 双向移位寄存器实现七位串入—并出转换功能  
表 5.4.5 七位串入—并出状态表 例5.4.3 用74LS194双向移位寄存器实现七位并入—串出转换功能解:图5.4.7 例5.4.3 双向移位寄存器实现七位并入—串出转换功能
表 5.4.6 七位并入—串出状态表

3.构成移位型计数器
 移位型计数器的状态变化顺序必须符合移位的规律,即
图5.4.8 移位型计数器一般框图 例5.4.4 用74LS194双向移位寄存器实现7 分频电路
  解:其态序表如表7-19 所示,其状态变化与扭环计数器相似,但跳过了全 0 状态。
表 5.4.7 M=7 分频器状态表
图 5.4.9 用74LS194 构成的 7 分频电路 5.3.2 计数器 用于对时钟脉冲计数,还可用于定时,分频,产生节拍脉冲,进行数字运算等。
  计数器的分类:
  1.计数器中的触发器是否同时翻转分类,可把计数器分为同步和异步两类。在同步计数器中,当时钟脉冲输入时触发器的翻转是同时发生的。而在异步计数器中,触发器的翻转有先有后,不同时翻转。
  2.按计数过程中的数字增减分类:加法计数器、减法计数器和可逆计数器。
  3.按数字的编码方式分:二进制计数器、二-十进制计数器、循环码计数器等。
  4.按计数容量(即计数模)分类:有十进制计数器,十二进制计数器,六十进制计数器等。
一、同步计数器:
  计数器若工作在同步方式时,在一个多位二进制数的末位上加1时,若其中第 i 位(即任何一位)以下各位皆为1时,则第 i 位应改变状态(由0变成1,由1变成0)。而最低位的状态在每次加1时都要改变。用T触发器构成计数器时,应使:
T0=1 T1=Q0
T2=Q0Q1 T3= Q0Q1Q2
则电路的状态方程如下:  每输入16个计数脉冲计数器工作一个循环,并在输出端Q3产生一个进位输出信号,所以又把这个电路叫十六进制计数器。根据状态方程可以画出电路图状态转换表和状态转换图,如图5.4.10、表5.4.8和图5.4.10所示。

 


图5.4.10 同步二进制加法计数器 表5.4.8 图5.4.10电路的状态转换表
  若计数输入脉冲的频率为f0,则Q0、 Q1、 Q2、 和Q3端输出脉冲的频率将依次为f0/2、 f0/4、 f0/8、和f0/16。针对计数器的这种分频功能,也把它叫做分频器。二、异步计数器
  异步计数器采用从低位到高位逐位进位的方式工作,由T′触发器构成,只需将低位触发器的Q端接至高位触发器的时钟输入端就行了。下图为异步十进制计数器的电路图。

图5.4.12 异步十进制计数器 驱动方程:状态方程与时钟条件:和同步计数器相比,异步计数器具有结构简单的优点。但异步计数器也存在两个明显的缺点:一是工作频率比较低,因为异步计数器的各级触发器是以串行进位方式连接的;
二是在电路状态译码时存在竞争-冒险现象。 三、常用中规模集成计数器电路
  1. 四位二进制同步计数器74161
  1)结构
74161为中规模集成的4位同步二进制计数器,具有二进制加法计数功能之外,还具有预置数、保持和异步置零等附加功能。异步置零即只要RD出现低电平,触发器立即被置零,不受CP的控制。4位同步二进制计数器74161的逻辑图如下。
图5.3.13 四位同步二进制计数器74161的逻辑图 2)功能
l 异步清除
当清除端RD=0,各触发器的输出端QA~QD就全部被复位为0状态,计数器的输出呈现“0000”状态。此时与其它输入端状态(包括CP时钟信号)均无关。
l 同步预置(送数)
计数器具有并行输入数据的功能。当LD=0,R=1时,计数器执行并行送数,在置数输入端A、B、C、D预置某个外加的数据,在CP脉冲上升沿来到时,输出端即反映输入数据的状态。
l 保持
计数器有两种保持状态,当RD=LD=1时,计数器不进行清除和送数操作。只要EP、ET中有一个为0,各触发器处于J=K=0,无论CP端有无计数脉冲输入,各触发器均处于保持状态。
l 计数
当LD = RD = EP=ET)= 1时,计数器执行计数。设计数器的初始状态QDQCQBQA = 0000,当第十五个计数脉冲作用后,计数器状态为“1111”,进位输出QCC=TQAQBQCQD 为1,表示已计满,当第十六个计数脉冲作用后,计数器恢复到初始的全零状态。74161的功能表如下:
表5.3.11 四位同步二进制计数器74161的功能表74161的时序图:2.单时钟同步十六进制加/减计数器74LS191
  74LS191计数器既能进行递增计数又能进行递减计数,还具有异步预置数功能。
电路只有一个时钟信号输入端,电路的加、减由U/D的电平决定,所以称这种电路结构为单时钟结构。
图5.3.14单时钟同步十六进制加/减计数器74LS191表5.4.12 同步十六进制加/减计数器74LS191的功能表3.二-五-十进制异步计数器74LS290
  二-五-十进制异步计数器74LS290的电路结构如图5.3.15。F1和F3的CP端从CP1端单独引出。若以CP0为计数脉冲输入端、Q0为输出端,即得到二进制计数器(或二分频器);若以CP1作为计数脉冲输入端、Q3为输出端,则得到五进制计数器(或五分频器);若将CP1与Q0相连,同时以CP0为计数脉冲输入端、Q3为输出端,则得到十进制计(或十分频器)。
图5.3.15二-五-十进制异步计数器74LS290 四、任意进制计数器的构成方法
  目前常见的计数器芯片在计数进制上只做成应用较广的几种类型,如十进制、十六进制、7位二进制、12位二进制、14位二进制等。在需要其它任意一种进制的计数器时,只能用已有的计数器产品经外电路的连接方式得到。
假定已有的是N进制计数器,而需要得到M进制计数器。
当M>N时:按照计数过程中跳跃N-M个状态实现方法的不同有两种方法:置零法(复位法)和置数法(置位法):
  1.置零法
置零法如下图所示。电路一进入SM状态就立即被置成S0状态,所以SM状态仅在极短的瞬时出现,在稳定的状态循环中不包括SM状态,置零法适用于有异步置零输入端的计数器。
图5.3.16 获得任意进制计数器的置零法  2.置数法
置数法如下图所示。通过给计数器重复置入某个数值的方法跳越N-M状态,适用于有预置数功能的计数器电路。
  图5.3.17 获得任意进制计数器得置数法  当M  解: 1)置零法
  利用置零法设反馈状态逻辑为0110即可。
  由于置零信号随着计数器被置零而立即消失,所以置零信号持续时间极短,如果触发器的复位速度有快有慢,则可能动作慢的触发器还未来得及复位置零信号已经消失,导致电路误动作。为克服这个缺点,常采用如下图所示的改进电路。  1)置数法
利用置数法设反馈状态逻辑为0101即可,如下图给出用置数法将74160接成六进制计数器两种实现电路。
  例5.3.2 试用两片同步十进制计数器接成二十九进制计数器。
  解:实现分两步:
  1) 两片同步十进制计数器接成百进制计数器,有并行进位方式和串行进位方式两种实现方法。
并行进位方式
  串行进位方式  2) 将百进制计数器接成二十九进制计数器
图中利用异步置零法,设反馈状态逻辑为29即可实现逻辑功能。
五、寄存器型计数器
  1.环形计数器
将移位寄存器首尾相接,即D0=Q3,在连续不断地输入时钟信号时寄存器里的数据将循环右移。
环形计数器的状态转换图:能自启动的环形计数器电路通过在输出与输入之间接入适当的反馈逻辑电路,可以将不能自启动的电路修改为能够自启动的电路。图5.3.20 能自启动的环形计数器图5.3.21 图5.3.20电路状态转换图2.扭环形计数器
  若将反馈逻辑函数取为:D0=Qn-1则得到扭环形计数器,也称为约翰逊计数器。
显然,图中所示的扭环形计数器不能自启动。

图5.3.22 扭环形计数器

有效循环 无效循环

图5.3.23 图5.3.22电路转换图
  用n位移位寄存器构成的扭环形计数器可以得到含2n个有效状态的循环,状态利用率较环形计数器提高了一倍。从状态循环图中可看到由于电路在每次状态转换时只有一位触发器改变状态,因而在将电路状态译码时不会产生竞争-冒险现象。
能自启动的扭环形计数器电路
令D0=Q1Q2+Q3,于是得到图5.3.41的电路和图5.3.42的状态转换图
 图5.3.24能自启动环形计数器图5.3.25 图5.3.24电路的状态转换图 <iframe id=baiduframe border=0 align=center marginWidth=0 frameSpacing=0 marginHeight=0 src="http://unstat.baidu.com/bdun.bsc?tn=siya110&csid=106&rkcs=0&bgcr=FFFFFF&ftcr=505050&rk=0&bd=0&bdas=0" frameBorder=0 width=0 scrolling=no height=0> </iframe><iframe id=baiduframe border=0 align=center marginWidth=0 frameSpacing=0 marginHeight=0 src="http://unstat.baidu.com/bdun.bsc?tn=siya110&csid=106&rkcs=0&bgcr=FFFFFF&ftcr=505050&rk=0&bd=0&bdas=0" frameBorder=0 width=0 scrolling=no height=0> </iframe><iframe id=baiduframe border=0 align=center marginWidth=0 frameSpacing=0 marginHeight=0 src="http://unstat.baidu.com/bdun.bsc?tn=siya110&csid=106&rkcs=0&bgcr=FFFFFF&ftcr=505050&rk=0&bd=0&bdas=0" frameBorder=0 width=0 scrolling=no height=0> </iframe>