移位存放器是一种在若干相一起刻脉冲下作业的以触发器为根底的器材,分为左移存放器、右移存放器和双向移位存放器三种。依据移位数据的输入-输出方法,又可将它分为串行输入-串行输出、串行输入-并行输出、并行输入-串行输出和并行输入-并行输出四种电路结构。
从逻辑结构上看,移位存放器有以下两个明显特征:
(1)移位存放器是由相同的存放单元所组成。一般说来,存放单元的个数便是移位存放器的位数。为了完结不同的移位功用,每个存放单元的输出与其相邻的下一个存放单元的输入之间的衔接方法也不同。
(2)一切存放单元共用一个时钟。在公共时钟的效果下,各个存放单元的作业是同步的。每输入一个时钟脉冲,存放器的*就次序向左或向右移动一位。一般可按*传输方法的不同对CMOS移位存放器进行分类。移位存放器的*输入方法有串行输入和并行输入之分。串行输入便是在时钟脉冲效果下,把要输入的*从一个输入端顺次一位一位地送入存放器;并行输入便是把输入的*从几个输入端一起送入存放器。
在CMOS移位存放器中,有的品种只具有串行或并行中的一种输入方法,但也有些品种一起兼有串行和并行两种输入方法。串行输入的*加到第一个存放单元的D端,在时钟脉冲的效果下输入,*传送速度较慢;并行输入的*一般由存放单元的R、S端送入,传送速度较快。移位存放器的移位方向有右移和左移之分。右移是指*由左面最低位输入,顺次由右边的最高位输出;左移时,右边的第一位为最低位,最左面的则为最高位,*由低位的右边输入,由高位的左面输出。
移位存放器的输出也有串行和并行之分。串行输出便是在时钟脉冲效果下,存放器最终一位输出端顺次一位一位地输出存放器的*;并行输出则是存放器的每个存放单元均有输出。CMOS移位存放器有些品种只要一种输出方法,但也有些品种兼具两种输出方法。实际上,并行输出方法也必定具有串行输出功用。
移位存放器的品种
1、依照移位的方向分类
分红
:
A、左移存放器
B、右移存放齐
C、双向移位存放器
2、依照移位数据的输入–输出方法
分红:
A、串行输入–串行输入
B、串行输入–并行输入
C、并行输入–串行输入
D、并行输入–并行输入
移位存放器有什么效果?
移位存放器又称为FIFO(First in First out,祖先先出)仓库,FX系列的仓库长度为2-512个字,先写入仓库的数据先读出。用移位存放器保存产品的编号,能够完成先入库的产品先出库。
图4-21中的方针元件D1是FIFO仓库的首地址,也是仓库的指针,移位存放器未装人数据时应将D1清0。在XO由OFF变为ON时,移位存放器写入指令SFWR将指针的值加1后写人数据。第一次写入时,源操作数DO中的数据写入D2。假如XO再次由OFF变为ON,D1中的数变为2,DO中新的数据写入D3。仓库写满后不再履行写入操作,且进位标志M8022置1 。
移位存放器写入指令
图4-22的X1由OFF变为ON时,移位存放器读出指令SFRD将D2中的数据送到源操作数D20,一起指针D1的值减1,D3到D9的数据向右移一个字。数据总是从D2读出,指针D1为0时,FIFO仓库被读空,不再履行上述处理,零标志M8020为ON。
下面的例程用移位存放器写入、读出指令完成先入库的产品先出库: