移位寄存器有哪些功能
侧边栏壁纸
  • 累计撰写 192,421 篇文章
  • 累计收到 3 条评论

移位寄存器有哪些功能

admin
2022-12-18 / 0 评论 / 0 阅读 / 正在检测是否收录...

在数字电路中,移位寄存器是一种在若干相同时间脉冲下工作的以触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。

这种移位寄存器是一维的,事实上还有多维的移位寄存器,即输入、输出的数据本身就是一些列位。实现这种多维移位寄存器的方法可以是将几个具有相同位数的移位寄存器并联起来。

图片来源于网络

(1)移位寄存器是由相同的寄存单元所组成。一般说来,寄存单元的个数就是移位寄存器的位数。为了完成不同的移位功能,每个寄存单元的输出与其相邻的下一个寄存单元的输入之间的连接方式也不同。

(2)所有寄存单元共用一个时钟。在公共时钟的作用下,各个寄存单元的工作是同步的。每输入一个时钟脉冲,寄存器的*就顺序向左或向右移动一位。通常可按*传输方式的不同对CMOS移位寄存器进行分类。移位寄存器的*输入方式有串行输入和并行输入之分。串行输入就是在时钟脉冲作用下,把要输入的*从一个输入端依次一位一位地送入寄存器;并行输入就是把输入的*从几个输入端同时送入寄存器。

在CMOS移位寄存器中,有的品种只具有串行或并行中的一种输入方式,但也有些品种同时兼有串行和并行两种输入方式。串行输入的*加到第一个寄存单元的D端,在时钟脉冲的作用下输入,*传送速度较慢;并行输入的*一般由寄存单元的R、S端送入,传送速度较快。移位寄存器的移位方向有右移和左移之分。右移是指*由左边最低位输入,依次由右边的最高位输出;左移时,右边的第一位为最低位,最左边的则为最高位,*由低位的右边输入,由高位的左边输出。

移位寄存器的输出也有串行和并行之分。串行输出就是在时钟脉冲作用下,寄存器最后一位输出端依次一位一位地输出寄存器的*;并行输出则是寄存器的每个寄存单元均有输出。CMOS移位寄存器有些品种只有一种输出方式,但也有些品种兼具两种输出方式。实际上,并行输出方式也必然具有串行输出功能。

移位寄存器的原理

移位寄存器不仅能寄存数据,而且在时钟信号的最用下使它其中的数据依次左移或者右移。

出端Q接到右边一个触发器的输入端D。因为从时钟的信号CP的上升沿加到触发器上开始到输出端新状态稳定地建立起来有一段延迟的时间,所以当时钟信号同时加到四个触发器上的时候,每个触发器接受的都是左边一个触发器中原来的而数据(F0接收的输入数据D1)。寄存器中的数据依次右移一位。

移位寄存器按照不同的分类方法可以分为不同的类型。 如果按照移位寄存器的移位方向来进行分类, 可以分为左移移位寄存器、移位寄存器和双向移位寄存器等;如果按照工作方式来分类,可以分为串入/串出移位寄存器、串入/并出移位寄存器和并入/串出移位寄存器等。

移位寄存器的用法

移位寄存器可用于将上一次循环的值传递至下一次循环。移位寄存器以一对接线端的形式出现,分别位于循环两侧的边框上,位置相对。

右侧接线端含有一个向上的箭头,用于存储每次循环结束时的数据。LabVIEW将数据从移位寄存器右侧接线端传递到左侧接线端。循环将使用左侧接线端的数据作为下一此循环的初始值。该过程在所有循环执行完毕后结束。循环执行后,右侧接线端将返回移位寄存器保存的值。

移位寄存器可以传递任何数据类型,并和与其连接的第一个对象的数据类型自动保持一致。连接到各个移位寄存器接线端的数据必须属于同一种数据类型。

循环中可添加多个移位寄存器。如循环中的多个操作都需使用之上一次循环的值,可以通过多个移位寄存器保存结构中不同操作的数据值。

右上角的移位寄存器接线端将2,即第一次循环中0和2之和传递到左上角的移位寄存器接线端,作为加运算第二次循环的初始值。右下角的移位寄存器接线端将2, 即第一次循环中1和2之积传递到左下角的移位寄存器接线端,作为乘运算第二次循环的初始值。

第二次循环将2和2相加并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。第二次循环将2和2相乘,并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。

十次循环后,右上角的接线端将加运算的最终结果传递到上方的显示控件,右下角的解析那段将乘运算的最终结果传递到下方的显示控件。

0

评论 (0)

取消