描述
移位寄存器概要
在数字电路中,移位寄存器(英语:shiftregister)是一种在若干相同时间脉冲下工作的以触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。这种移位寄存器是一维的,事实上还有多维的移位寄存器,即输入、输出的数据本身就是一些列位。实现这种多维移位寄存器的方法可以是将几个具有相同位数的移位寄存器并联起来。
移位寄存器原理
移位寄存器不仅能寄存数据,而且能在时钟信号的作用下使其中的数据依次左移或右移。
四位移位寄存器的原理图如图所示。F0、F1、F2、F3是四个边沿触发的D触发器,每个触发器的输出端Q接到右边一个触发器的输入端D。因为从时钟信号CP的上升沿加到触发器上开始到输出端新状态稳定地建立起来有一段延迟时间,所以当时钟信号同时加到四个触发器上时,每个触发器接收的都是左边一个触发器中原来的数据(F0接收的输入数据D1)。寄存器中的数据依次右移一位。
移位寄存器特点
移位寄存器可以用来寄存代码,还可以用来实现数据的串行—并行转换、数值的运算以及数据的处理等。
移位寄存器分类
根据移位方向,常把它分成左移寄存器、右移寄存器和双向移位寄存器三种。根据移位数据的输入-输出方式,又可将它分为串行输入-串行输出、串行输入-并行输出、并行输入-串行输出和并行输入-并行输出四种电路结构。
此外,有些移位寄存器还具有预置数功能,可以把数据并行地置入寄存器中。
利用移位寄存器能进行数据运算、数据处理,实现数据的串行—并行互相转换,还可接成各种移位寄存器式计数器,如环形计数器、扭环形计数器等。
移位寄存器作用
移位寄存器是一种存储器,存在里边的数据可以从低位向高位移动或从高位向低位移动。例如一个8位的移位寄存器,存在其中的数据为11001010,如果向左(高位)移动一次,就变成1001010X,原来的最高位的1移出,最低位的X可以是新移入的数据,也可以是0(不同型号的移位寄存器对此有不同的规定)。
移位寄存器应用
移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。
(1)环形计数器
把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位,如图7-2所示,把输出端Q3和右移串行输入端SR相连接,设初始状态Q0Q1Q2Q3=1000,则在时钟脉冲作用下Q0Q1Q2Q3将依次变为0100→0010→0001→1000→„„,如表7-2所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。图7-2电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。
如果将输出QO与左移串行输入端SL相连接,即可达左移循环移位。
(2)实现数据串、并行转换
①串行/并行转换器
串行/并行转换是指串行输入的数码,经转换电路之后变换成并行输出。图7-3是用二片CC40194(74LS194)四位双向移位寄存器组成的七位串/并行数据转换电路。
图7-3 七位串行/并行转换器
电路中S0端接高电平1,S1受Q7控制,二片寄存器连接成串行输入右移工作模式。Q7是转换结束标志。当Q7=1时,S1为0,使之成为S1S0=01的串入右移工作方式,当Q7=0时,S1=1,有S1S0=10,则串行送数结束,标志着串行输入的数据已转换成并行输出了。
串行/并行转换的具体过程如下:
转换前,RC端加低电平,使1、2两片寄存器的内容清0,此时S1S0=11,寄存器执行并行输入工作方式。当第一个CP脉冲到来后,寄存器的输出状态Q0~Q7为01111111,与此同时S1S0变为01,转换电路变为执行串入右移工作方式,串行输入数据由1片的SR端加入。随着CP脉冲的依次加入,输出状态的变化可列成表7-3所示。
由表7-3可见,右移操作七次之后,Q7变为0,S1S0又变为11,说明串行输入结束。这时,串行输入的数码已经转换成了并行输出了。
当再来一个CP脉冲时,电路又重新执行一次并行输入,为第二组串行数码转换作好了准备。
②并行/串行转换器
并行/串行转换器是指并行输入的数码经转换电路之后,换成串行输出。
图7-4是用两片CC40194(74LS194)组成的七位并行/串行转换电路,它比图7-3多了两只与非门G1和G2,电路工作方式同样为右移。
寄存器清“0”后,加一个转换起动信号(负脉冲或低电平)。此时,由于方式控制S1S0为11,转换电路执行并行输入操作。当第一个CP脉冲到来后,Q0Q1Q2Q3Q4Q5Q6Q7的状态为0D1D2D3D4D5D6D7,并行输入数码存入寄存器。从而使得G1输出为1,G2输出为0,结果,S1S2变为01,转换电路随着CP脉冲的加入,开始执行右移串行输出,随着CP脉冲的依次加入,输出状态依次右移,待右移操作七次后,Q0~Q6的状态都为高电平1,与非门G1输出为低电平,G2门输出为高电平,S1S2又变为11,表示并/串行转换结束,且为第二次并行输入创造了条件。转换过程如表7-4所示。
中规模集成移位寄存器,其位数往往以4位居多,当需要的位数多于4位时,可把几片移位寄存器用级连的方法来扩展位数。