把若干个触发器串接起来,就可以构成一个移位寄存器。由4个边沿d 触发器构成的4位移位寄存器逻辑电路如图1所示。数据从串行输入端d1输入。左边触发器的输出作为右邻触发器的数据输入。假设移位寄存器的初始状态为0000,现将数码d3d2d1d0(1101)从高位(d3)至低位依次送到d1端,经过第一个时钟脉冲后,q0=d3。由于跟随数码d3后面的数码是d2,则经过第二个时钟脉冲后,触发器ff0的状态移入触发器ff1,而ff0变为新的状态,即q1=d3,q0=d2。依此类推,可得4位右向移位寄存器的状态, 如表1所示。
图1 用边沿d触发器构成的4位移位寄存器
表1 图1电路的状态表
cp
q0
q1
q2
q3
0
0
0
0
0
1
d3
0
0
0
2
d2
d3
0
0
3
d1
d2
d3
0
4
d0
d1
d2
d3
由表可知,输入数码依次地由低位触发器移到高位触发器,作右向移动。经过4个时钟脉冲后,4个触发器的输出状态q3q2q1q0与输入数码d3d2d1d0相对应。为了加深理解,在图2中画出了数码1101(相当于d3=1,d2=1,d1=0 ,d0=1)在寄存器中移位的波形,经过了4个时钟脉冲后,1101出现在寄存器的输出端q3q2q1q0。这样,就可将串行输入(从d1端输入)的数码转换为并行输出(从q3、q2、q1、q0端输出)的数码。这种转换方式特别适用于将接收到的串行输入信号转换为并行输出信号,以便于打印或由计算机处理。
图2 图1电路的时序图
在图3中还画出了第5到第8个时钟脉冲作用下,输入数码在寄存器中移位的波形(如图2所示)。由图可见,在第8个时钟脉冲作用后,数码从q3端已全部移出寄存器。这说明存入该寄存器中的数码也可以从q端串行输出。根据需要,可用更多的触发器组成多位移位寄存器。
除了用边沿d 触发器外,还可用其他类型的触发器来组成移位寄存器,例如,用主从jk 触发器来组成移位寄存器,其级间连接方式如图3所示。根据jk触发器的特征方程,由图3可得:
ff2和ff3的接法与ff1完全相似,所以各jk 触发器均以d 触发器的功能工作,图3和图1所示电路具有相同的功能。
图3 用主从jk触发器组成的4位移位寄存器