寄存器是一种用来暂时存放数据、指令等的器件,它由触发器组成。一个触发器可以储存一位二进制代码。存放几位二进制代码用几个触发器即可。图1-34所示由D触发器组成的四位寄存器。
CP为时钟控制端,当CP上升沿到来时,四个数据输入端D 4 D 3 D 2 D 1 被寄存到四个触发器中使输出状态Q 4 Q 3 Q 2 Q 1 =D 4 D 3 D 2 D 1 。 为清除端,当 为低电平时,Q 4 Q 3 Q 2 Q 1 清零。
在微型计算机中,常用的是经过改造的移位寄存器,它除了具有存储数码的功能外,还具有移位功能。所谓移位功能,就是寄存器中所存的数据可在移位脉冲作用下逐次左移或右移。
图1-34所示为用D触发器组成的单向移位寄存器及时序图。其中每个触发器的输出端Q端依次接到下一个触发器的D端,只有第一个触发器的D端接收数据。
图1-34 单向移位寄存器(串行输入,串、并行输出)
当时钟脉冲上升沿到来时,输入的数码移入F1,同时每个触发器把自身的状态移给下一个触发器。假设输入的数码为1011,那么经过四个移位脉冲后,1011这四位数码恰好全部移入寄存器中。这时,也可以从四个触发器Q端得到并行的数码输出。如果需要得到串行输出信号,则只要再输入四个时钟脉冲,四位数码便可以从Q 4 端依次串行输出。由此可见,以上移位寄存器可实现串入并出或串入串出。
在CP移位脉冲的作用下,移位寄存器中数码的移动情况见表1-28。
表1-28 移位寄存器中数码的移动情况
74LS164就是一种串入并出的8位TTL集成移位寄存器,它的逻辑功能及引脚如图1-35所示。串行输入具有允许和禁止的功能。当A作数据输入端时,B则作为禁止或允许输入端。在时钟脉冲为高或低电平时,串入并出数据不改变,只有在时钟上升沿时才起作用。74LS164的功能表见表1-29。
表1-29 74LS164功能表
图1-35 74LS164结构及引脚
移位寄存器的输入同样也可以采用并行输入方式。图1-36所示就是一个串、并行输入,串行输出的移位寄存器。在并行输入时,采用了两拍接收方式,第一步先用清零脉冲通过触发器的R d 端,把所有触发器置0,第二步再利用接收脉冲通过S d 端输入数据。
图1-36 单向移位寄存器(串、并行输入,串行输出)
另外,74LS166/165为8位并行输入、串行输出的移位寄存器,引脚及功能可查相关手册。