海南西门子S7-1200PLC模块一级(代理商)移位寄存器的用途 移位寄存器的功能

移位寄存器介绍
移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。按代码的移位方向可分为左移、右移和可逆移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同又可分为:串入串出、串入并出、并入串出、并入并出四种形式。
移位寄存器的用途
移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。
目前常用的集成移位寄存器种类很多,如均为八位单向移位寄存器,为四位单向移存器,为四位双向移存器,为八位双向移存器。
移位寄存器分类
根据移位方向,常把它分成左移寄存器、右移寄存器和双向移位寄存器三种。根据移位数据的输入-输出方式,又可将它分为串行输入-串行输出、串行输入-并行输出、并行输入-串行输出和并行输入-并行输出四种电路结构。
此外,有些移位寄存器还具有预置数功能,可以把数据并行地置入寄存器中。
利用移位寄存器能进行数据运算、数据处理,实现数据的串行—并行互相转换,还可接成各种移位寄存器式计数器,如环形计数器、扭环形计数器等。
移位寄存器的用法:
移位寄存器可用于将上一次循环的值传递至下一次循环。如下图所示,移位寄存器以一对接线端的形式出现,分别位于循环两侧的边框上,位置相对。

右侧接线端含有一个向上的箭头,用于存储每次循环结束时的数据。LabVIEW将数据从移位寄存器右侧接线端传递到左侧接线端。循环将使用左侧接线端的数据作为下一此循环的初始值。该过程在所有循环执行完毕后结束。循环执行后,右侧接线端将返回移位寄存器保存的值。
移位寄存器可以传递任何数据类型,并和与其连接的个对象的数据类型自动保持一致。连接到各个移位寄存器接线端的数据必须属于同一种数据类型。
循环中可添加多个移位寄存器。如循环中的多个操作都需使用之上一次循环的值,可以通过多个移位寄存器保存结构中不同操作的数据值。如下图所示。

在上一个程序框图中,右上角的移位寄存器接线端将2,即次循环中0和2之和传递到左上角的移位寄存器接线端,作为加运算第二次循环的初始值。右下角的移位寄存器接线端将2, 即次循环中1和2之积传递到左下角的移位寄存器接线端,作为乘运算第二次循环的初始值。
第二次循环将2和2相加并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。第二次循环将2和2相乘,并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。
十次循环后,右上角的接线端将加运算的结果传递到上方的显示控件,右下角的解析那段将乘运算的结果传递到下方的显示控件。
移位寄存器工作原理

在数字电路中,移位寄存器(英语:shift register)是一种在若干相同时间脉冲下工作的以触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。这种移位寄存器是一维的,事实上还有多维的移位寄存器,即输入、输出的数据本身就是一些列位。实现这种多维移位寄存器的方法可以是将几个具有相同位数的移位寄存器并联起来。
移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。
移位寄存器工作原理_4位移位寄存器工作原理_4位双向移位寄存器74LS194逻辑电路和图形符号----移位寄存器原理
移位寄存器不仅能寄存数据,而且能在时钟信号的作用下使其中的数据依次左移或右移。四位移位寄存器的原理图如图所示。F0、F1、F2、F3是四个边沿触发的D触发器,每个触发器的输出端Q接到右边一个触发器的输入端D。因为从时钟信号CP的上升沿加到触发器上开始到输出端新状态稳定地建立起来有一段延迟时间,所以当时钟信号同时加到四个触发器上时,每个触发器接收的都是左边一个触发器中原来的数据(F0接收的输入数据D1)。寄存器中的数据依次右移一位。
移位寄存器工作原理_4位移位寄存器工作原理_4位双向移位寄存器74LS194逻辑电路和图形符号----由JK触发器组成的4位移位寄存器工作原理
移位寄存器不仅有存放数码而且有移位的功能。所谓移位,就是每当来一位移位脉冲(时钟脉冲),触发器的状态便向右或向左移动一位,也就是指寄存的数码可以在移位脉冲的控制下依次进行移位。移位寄存器在计算机中应用广泛。
图1所示是由JK触发器组成的4位移位寄存器。 接成D触发器,数码由D端输入。设寄存的二进制数为1011,按移位脉冲(即时钟脉冲)的工作节拍从高位到低位依次串行送至D端。工作之初先清零。首先 ,个移位脉冲的下降沿来到时使触发器 翻转, ,其他保持0态。接着 ,第二个移位脉冲的下降沿来到时使 和 同时翻转,由于 的J端为1, 的J端为0,所以 , , 和 仍为0。以后过程见表1,移位一次,存入一个新数码,直到第4个脉冲的下降沿来时,存数结束。这时,可以从4个触发器的Q端得到并行的数码输出。

图1 由JK触发器组成的4位移位寄存器

表1 移位寄存器的状态表
移位寄存器工作原理_4位移位寄存器工作原理_4位双向移位寄存器74LS194逻辑电路和图形符号----由D触发器组成的4位移位寄存器_4位双向移位寄存器74LS194逻辑电路和图形符号
移位寄存器不但可以寄存数码,而且在移位脉冲作用下,寄存器中的数码可根据需要向左或向右移动。移位寄存器也是数字系统和计算机中应用很广泛的基本逻辑部件。
图1所示电路是由边沿D触发器组成的4位移位寄存器。
由图1可知,由个D触发器FF0的输入端接收输入信号,其余的每个触发器的输入端均与前一个触发器的输出端相连。各触发器的时钟脉冲控制端与同一个时钟脉冲CP信号相连,因此各触发器的触发时刻相同,都是CP脉冲的上升沿。
下面以4位二进制代码1101为例,说明图1所示移位寄存器的寄存过程。
二进制代码1101以串行的方式从串行输入端DI依次输入。设各触发器的初始状态为零,即Q3Q2Q1Q0=0000。

图1 由D触发器组成的4位移位寄存器
首先,将个二进制码“1”输入串行输入端DI。当移位脉冲CP的个上升沿到达时,个触发器将各自的输入端状态传输到输出端。由于从CP脉冲的上升沿到达开始到各触发器次态的建立需要一段传输延时时间,因此当CP脉冲的上升沿同时作用于各触发器时,各触发器输入端的状态还没有改变。于是FF3按Q2原来的状态触发,FF2按Q1原来的状态触发,FF1按Q0原来的状态触发,FF0按串行输入端D1的状态触发。因此,当CP的个上升沿到达后,各触发器的状态变为Q3Q2Q1Q0=0001。
同理,将第二个二进制数码“1”送入串行输入端D1,当CP的第二个上升沿到达时,各触发器的状态变为Q3Q2Q1Q0=0011。以此类推,当第4个移位脉冲过后,将这4个二进制代码储存到了4个触发器的输入端Q3Q2Q1Q0=1101。
移位数据寄存情况如表1所示。也可以用波形图的形式表示移位寄存器的数据寄存情况,如图2所示。

图2 图1电路的波形图
从图6-5-3所示的波形图可以看出,经过4个CP脉冲后,串行输入的4位二进制代码全部已入了移位寄存器中,同时可以从4个触发器的输出端同时输出这4为二进制代码。如果继续加入4个CP脉冲,则可以从串行输入-并行输出和串行输出入-串行输出。由于在移位脉冲的作用下,二进制代码在移位寄存器中依次右移,所以又称为右移移位寄存器。当移位寄存器的电路实现的是在移位脉冲的作用下,二进制代码在移位寄存器中依次左移,这种寄存器称为左移移位寄存器。
为了便于扩展移位寄存器的功能和增加使用的灵活性,在定型生产的移位寄存器集成电路上有的又附加了左移、右移控制,并行数据输入、保持、异步置零(复位)等功能。图3所示为4位双向移位寄存器74LS194的逻辑电路和图形符号。

图3(a) 逻辑图图3(b) 图形符号
由图3所示,双向移位寄存器74LS194由4个RS触发器和输入控制电路组成。DIR为数据右移串行输入端,DIL为数据左移串行输入端,D0~D3为数据并行输入端,Q0~Q3为数据并行输出端,同时Q3还可以作为数据串行输出端,CP为移位脉冲控制端 为清零端,移位寄存器正常工作时该端置“1”,S0、S1为双向移位寄存器的工作状态控制端。

74LS194既可以实现串行输入,也可以并行输入;既可以实现串行输出,也可以并行输出,在串行寄存方式中,既可以实现右移寄存,也可以实现左移寄存,还可以保持数据不变。74LS194双向移位寄存器的这些工作状态都是由控制端S0、S1实现的,如表1所示。表1称为74S194的逻辑功能表。
当S1=S0=0时,移位寄存器处于数据保持状态。此时不论输入端和移位脉冲输入端有何变化,移位寄存器各输出端的状态保持不变。
当S1=0,S0=1时,移位寄存器保持右移寄存状态。随着位移脉冲的到来,右移串行输入端DIR的数据依次寄存到寄存器中,并且移位寄存器中的数据依次右移。
当S1=1,S0=0时,移位寄存器处于左移寄存状态。随着移位脉冲的到来,左移串行输入端DIL的数据依次寄存到寄存器中,并且移位寄存器中的数据依次左移。
当S1=1,S0=1时,位移寄存器处于并行输入寄存状态。此时串行输入端的数据不起任何作用。当移位脉冲CP来一个脉冲时,寄存器将并行输入端D0~D3的数据并行输入到并行输出端Q0~Q3。
例1 用两片4位双向移位寄存器74LS194接成一个8位双向移位寄存器。
解 所要涉及的8位双向移位寄存器需要完成8位二制数据的寄存,因此需要由两片4位双向移位寄存器74LS194组成。同时,8位双向移位寄存器应具备4位双向移位寄存器所有的逻辑功能,即能实现并行输入、左移寄存、右移寄存、数据保持和异步清零等功能。
如图4所示,通过分析,将两片4位双向移位寄存器的输入和输出同时作为8位双向移位寄存器的输入和输出。将74LS194(I)的右移串行输入端作为8位双向移位寄存器的右移串行输入端,同时将74LS194(I)的串行输出端与右侧74LS194(II)的右移串行输入端相连。同样,将74LS194(II)的左移输入端作为8位双向移位寄存器的左移串行输出端,同时将74LS194(II)的串行输出端与74LS194(I)的左移串行输入端相连。将两片4位双向移位寄存器的移位脉冲输入端、清零端和工作状态输入端分别相连。这样,就实现了用两片4位双向移位寄存器74LS19474LS194接成一个8位双向移位寄存器。

图4 例1的电路图
海南西门子S7-1200PLC模块一级(代理商)