1
存储技术
移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。按代码的移位方向可分为左移、右移和可逆移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同又可分为:串入串出、串入并出、并入串出、并入并出四种形式。
移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。
目前常用的集成移位寄存器种类很多,如74164、74165、74166、74595均为八位单向移位寄存器,74195为四位单向移存器,74194为四位双向移存器,74198为八位双向移存器。
根据移位方向,常把它分成左移寄存器、右移寄存器和双向移位寄存器三种。根据移位数据的输入-输出方式,又可将它分为串行输入-串行输出、串行输入-并行输出、并行输入-串行输出和并行输入-并行输出四种电路结构。
此外,有些移位寄存器还具有预置数功能,可以把数据并行地置入寄存器中。
利用移位寄存器能进行数据运算、数据处理,实现数据的串行—并行互相转换,还可接成各种移位寄存器式计数器,如环形计数器、扭环形计数器等。
移位寄存器可用于将上一次循环的值传递至下一次循环。如下图所示,移位寄存器以一对接线端的形式出现,分别位于循环两侧的边框上,位置相对。
右侧接线端含有一个向上的箭头,用于存储每次循环结束时的数据。LabVIEW将数据从移位寄存器右侧接线端传递到左侧接线端。循环将使用左侧接线端的数据作为下一此循环的初始值。该过程在所有循环执行完毕后结束。循环执行后,右侧接线端将返回移位寄存器保存的值。
移位寄存器可以传递任何数据类型,并和与其连接的第一个对象的数据类型自动保持一致。连接到各个移位寄存器接线端的数据必须属于同一种数据类型。
循环中可添加多个移位寄存器。如循环中的多个操作都需使用之上一次循环的值,可以通过多个移位寄存器保存结构中不同操作的数据值。如下图所示。
在上一个程序框图中,右上角的移位寄存器接线端将2,即第一次循环中0和2之和传递到左上角的移位寄存器接线端,作为加运算第二次循环的初始值。右下角的移位寄存器接线端将2, 即第一次循环中1和2之积传递到左下角的移位寄存器接线端,作为乘运算第二次循环的初始值。
第二次循环将2和2相加并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。第二次循环将2和2相乘,并将结果4传递到左上角的移位寄存器接线端以用于第三次循环。
十次循环后,右上角的接线端将加运算的最终结果传递到上方的显示控件,右下角的解析那段将乘运算的最终结果传递到下方的显示控件。
全部0条评论
快来发表一下你的评论吧 !