数码寄存器

🏠 首页 《无线电》杂志 1984年 🔗 第260期 🔗 第34页 分类:维修快易通 🔗 宋东生 🔗, 张晋纯 🔗

(张晋纯 宋东生编译)在数字系统中,经常要用到一种能够寄存二进制数码的部件,这种部件叫数码寄存器,简称寄存器。

图1
图1 🔍原图 (453×549)

图1是寄存器应用的一个示意图。由十进制计数器输出的四位二进制代码,在命令脉冲到来时,就会被寄存器接收,经译码器译码后,驱动辉光数码管显示出十进制数字。当命令脉冲消失后,不论计数器的状态如何变化,寄存器不再接收数码,原来输入的数码将被稳定地保存下来。此时,数码管只显示寄存器存贮的内容。

寄存器是怎样工作的

图2
图2 🔍原图 (723×577)

双稳态触发器就是一种简单的具有记忆功能的电路,它能存贮一位二进制数。图2是由双稳态触发器构成的一位二进制数码寄存器。图中C′是计数双稳态触发器,它的两个输出端Q′与Q-′分别通过两个控制门接在寄存双稳态触发器C的R端(置“0”端)和S端(置“1”端)。在命令脉冲未到来时,接收命令端为低电平,此时,不管计数双稳态触发器是什么状态,各二极管阳极电位都被箝制在0伏左右,迫使控制门关闭,计数器的状态不会影响寄存双稳态触发器。

当命令脉冲到来时,接收命令端为高电平,两个二极管均截止,计数触发器C′输出的数码,将通过10KΩ电阻传输给寄存触发器C。例如,计数触发器输出端Q′=1,Q-′=0时,则寄存触发器C中晶体管T\(_{2}\)基极为高电位,T2导通,集电极输出低电位,即Q=0;与此同时,晶体管T\(_{1}\)基极为低电位,T1截止,集电极输出高电位,即Q=1。这样,计数触发器的状态就被寄存触发器接受下来了。当命令脉冲离去后,控制门又关闭,寄存器就把它接受的数码贮存起来。

集成电路组成的寄存器

上面介绍了由分立元件双稳态触发器组成的寄存器。实用的寄存器都已集成化,下面以最简单的由集成电路触发器和门电路搭接成的寄存器为例,讲解数码寄存的道理。

图3
图3 🔍原图 (696×362)

图3是由集成电路R—S触发器(参见本刊今年第4期)和与非门构成的四位二进制数码寄存器。计数器输出的四位二进制数码(由A、B、C、D端引入),分别通过由命令脉冲控制的四个与非门,和四个R—S触发器的S-端(置“1”端)相连,各触发器的R-端(置“0”端)连在一起,作为清零脉冲输入端。

在寄存器接收数码之前,先用清零负脉冲使所有的触发器都回到“0”状态。有待寄存的数码加到寄存器以D、C、B、A四个输入端上,当命令脉冲到来时,CP=“1”,这时,凡是输入为“1”的与非门,就会输出一个负脉冲,去触发R—S触发器,使相应的Q端为“1”,而输入为“0”的与非门,输出高电位“1”,相应的触发器仍保持“0”状态不变。例如,若输入二进制数码为DCBA=1010,当命令脉冲到来时,与非门YF\(_{2}\)和YF4输出为低电位,使Q\(_{2}\)和Q4为“1”,而Q\(_{1}\)与Q3状态保持“0”不变。这时,寄存器就把“1010”这个数码接收下来了。命令脉冲过后,CP=“0”,不管输入数码有无变化,各与非门输出都是高电位“1”,寄存器寄存的数码不变。

图3所示的寄存器,接收数码要进行两步操作:清零与命令。还有一种寄存器,清零与命令只需要一个命令脉冲。图4就是按一步接收方式设计的四位二进制数码寄存器。当命令脉冲到达时,CP=“1”,接在每个触发器R-、S-端的两个与非门均具备了开门条件,若某个与非门的数据输入端为“1”,则对应的触发器S-=0、R-=1,触发器被置“1”,即Q=1;若某个数据输入端为“0”,则S-=1、R-=0,触发器被置“0”,即Q=0、Q-=1。命令脉冲离去后,CP=“0”,所有与非门输出均为高电位“1”,各触发器的状态不再随输入数据的变化而改变。

具有移位功能的寄存器

图4
图4 🔍原图 (952×342)

在数字系统中,存取数码往往要求寄存器具有移位的功能,也就是在移位脉冲作用下,寄存器能在接收数码的同时,把寄存的数码向左或向右移动。具有这种功能的寄存器叫移位寄存器。

图5
图5 🔍原图 (426×312)

图5是移位寄存器的原理电路。寄存触发器C\(_{1}\)的输入控制门受C2输出端Q\(_{2}\)、Q-2的控制,在移位脉冲的作用下,C\(_{2}\)中寄存的数码就会向右移位到C1中去。

设C\(_{2}\)已寄存数码“0”,即Q2=0,Q-\(_{2}\)=1,于是C1的R\(_{1}\)端输入控制门开启,S1端输入控制门关闭,当移位脉冲到来时,通过R\(_{1}\)端的输入控制门使触发器置“0”,如果C2寄存的是数码“1”,则Q\(_{2}\)=1,Q-2=0,移位脉冲不能通过R\(_{1}\)端的输入控制门,只能通过S1端输入控制门使C\(_{1}\)置“1”。这样,在移位脉冲作用下,C2中寄存的数码就会移位到C\(_{1}\)中去了。

图6
图6 🔍原图 (990×333)

如果把多个寄存双稳态触发器按上述方式串联起来,就可以组成多位移位寄存器。图6是一个四位右移移位寄存器。数码是从输入端随时间逐个输入的,每输入一个数码,就给出一个移位脉冲。下面分析它的工作过程。

假设开始时各寄存触发器都进行“清零”,我们输入二进制数码“1101”,从高位到低位逐次输入。当第一个数码1输入时,图中S\(_{4}\)端控制门开启,S3、S\(_{2}\)和S1端的输入控制门均关闭,因而在第一个移位脉冲作用下,C\(_{4}\)翻转为“1”态,其余触发器状态不变。第二位数码0输入时,由于此时C4为“1”态,因此S\(_{3}\)端输入控制门开启,在第二个移位脉冲作用下,C3变为“1”态;同时,第二位数码0输入时,使R\(_{4}\)端输入控制门开启,在第二个移位脉冲作用下,C4变为“0”态。其余触发器状态不变,这就相当于把C\(_{4}\)原来寄存的数码1移到C3中去了。余可类推。每次移位后,寄存器中各触发器的状态如下表所示。

移位脉 输入数码 移位寄存器中数码

冲顺序 C\(_{4}\) C3 C\(_{2}\) C1

0 0 0 0 0 0

1 1 1 0 0 0

2 0 0 1 0 0

3 1 1 0 1 0

4 1 1 1 0 1