移位寄存器的工作原理是什么?把若干个触发器串接起来,就可以构成一个移位寄存器。由4个边沿D触发器构成的4位移位寄存器逻辑电路如图8.8.1所示。数据从串行输入端D1输入。左边触发器的输出作为右邻触发器的数据输入。假设移位寄存器的初始状态为0000,现将数码D3D2D1D0(1101)从高位(D3)至低位依次送到D1端,经过第一个时钟脉冲后,Q0=D3。由于跟随数码D3后面的数码是D2,则经过第二个时钟脉冲后,触发器FF0的状态移入触发器FF1,而FF0变为新的状态,即Q1=D3,Q0=D2。依此类推,可得4位右向移位寄存器的状态,如表8.8.1所示。由表可知,输入数码依次地由低位触发器移到高位触发器,作右向移动。经过4个时钟脉冲后,4个触发器的输出状态Q3Q2Q1Q0与输入数码D3D2D1D0相对应。为了加深理解,在图8.8.2中画出了数码1101(相当于D3=1,D2=1,D1=0,D0=1)在寄存器中移位的波形,经过了4个时钟脉冲后,1101出现在寄存器的输出端Q3Q2Q1Q0。这样,就可将串行输入(从D1端输入)的数码转换为并行输出(从Q3、Q2、Q1、Q0端输出)的数码。这种转换方式特别适用于将接收到的串行输入信号转换为并行输出信号,以便于打印或由计算机处理。在图8.8.3中还画出了第5到第8个时钟脉冲作用下,输入数码在寄存器中移位的波形(如图8.8.2所示)。由图可见,在第8个时钟脉冲作用后,数码从Q3端已全部移出寄存器。这说明存入该寄存器中的数码也可以从Q端串行输出。根据需要,可用更多的触发器组成多位移位寄存器。除了用边沿D触发器外,还可用其他类型的触发器来组成移位寄存器,例如,用主从JK触发器来组成移位寄存器,其级间连接方式如图8.8.3所示。根据JK触发器的特征方程,由图8.8.3可得:FF2和FF3的接法与FF1完全相似,所以各JK触发器均以D触发器的功能工作,图8.8.3和图8.8.1所示电路具有相同的功能。双向移位寄存器:若将图8.8.1所示电路中各触发器间的连接顺序调换一下,让右边触发器的输出作为左邻触发器的数据输入,则可构成左向移位寄存器。若再增添一些控制门,则可构成既能右移(由低位向高位)、又能左移(由高位至低位)的双向移位寄存器。图8.8.4是双向移位寄存器的一种方案,它是利用边沿D触发器组成的,每个触发器的数据输入端D同与或非门组成的转换控制门相连,移位方向取决于移位控制端S的状态。当S=1时,D0=DSR,D1=Q0,即FF0的D0端与右移串行输入端DSR接通,FF1的D1端与Q0接通,在时钟脉冲CP作用下,由DSR端输入的数据将作右向移位;反之,当S=0时,D0=Q1,D1=Q2,在时钟脉冲CP作用下,Q2、Q1的状态将作左向移位。同理,可以分析其他两位触发器间的移位情况。由此可见,图8.8.4所示寄存器可作双向移位。当S=1时,数据作右向移位;当S=0时,数据作左向移位。可实现串行输入——串行输出(由DOR或DOL输出)、串行输入――并行输出工作方式(由Q3~Q0输出)。有时要求在移位过程中数据不要丢失,仍然保持在寄存器中。只要将移位寄存器的最高位的输出接至最低位的输入端,或将最低位的输出接至最高位的输入端。这种移位寄存器称为循环移位寄存器,它也可以作为计数器用,称为环行计数器。移位寄存器工作原理移位寄存器不仅能够寄存数码,而且具有移位功能。移位是数字系统和计算机技术中非常重要的一个功能。如二进制数0101乘以2的运算,可以通过将0101左移一位实现;而除以2的运算则可通过右移一位实现。移位寄存器的种类很多,有左移寄存器、右移寄存器、双向移位寄存器和循环移位寄存器等。图9-14所示是由四个触发器组成的四位左移寄存器。数码从第一个触发器的端串行输入,使用前先用将各触发器清零。现将数码1101从高位到低位依次送到端。图9-14由触发器组成的四位左移寄存器表9-6四位左移寄存器状态表第一个CP过后,=d3=1,其他触发器输出状态仍为0,即=000,d3=0001。第二个CP过后,=d2=1,=d3=1,而==0。经过四个CP脉冲后,=d3d2d1d0=1101,存数结束。各输出端状态如表9-6所示。如果继续送四个移位脉冲,就可以使寄存的这四位数码1101逐位从端输出,这种取数方式为串行输出方式。直接从取数为并行输出方式。