-寄存器与移位寄存器教材
- 格式:ppt
- 大小:9.14 MB
- 文档页数:19


5.3寄存器和移位寄存器5.3.1寄存器寄存器用于寄存一组二值代码,一个触发器能存储一位二值代码,所以用n个触发器组成的寄存器能储存一组n位二值代码。
图5-3-l所示是由边沿D触发器组成的4位寄存器74LSl75的逻辑电路图,其输出状态仅取决于CP上升沿到达时刻的输入状态。
5.3.2锁存器由同步D触发器组成的寄存器,称为锁存器。
图5-3-2所示是双二位锁存器74LS75的逻辑电路图。
时钟信号端接入锁存信号,锁存信号没到来时,输出状态随输入状态的改变而变化(相当于输出直接接到输入端,即所谓“透明”),当锁存信号到达时,锁存器输出状态保持锁存信号跳变时的输出状态。
寄存器和锁存器虽然都能暂存数码,但是由于采用了不同触发方式的触发器,其适用范围是不同的。
5.3.3移位寄存器移位寄存器不但具有寄存器的功能——可以暂存数码,还可以在移位脉冲的作用下数码依次左移或右移。
无论左移还是右移都是相对于电路结构而言的。
1.单向移存器图5-3-3所示为由4个边沿D触发器组成的移位寄存器。
触发器间接移位方式串接,即每个触发器的输出端依次接到下一个触发器的输入端。
假定输人信号D为串行数码,依次为1101,移位寄存器的初始状态QoQ1Q2Q3=0000,第一个移位脉冲(时钟脉冲)作用下,数值1存人Fo,Fo的原有Qo(0)移至Fl,依次右移,即Q O Q l Q2Q3=1000;在第二个移位脉冲作用下,数值0存入Fo,依次右移,有Q O Q l Q2Q3=0100。
单向移位寄存器的状态转换表,如表5-3-1所示。
经4个CP触发,与CP同步的串行数码“1101”,就由FO输入端全部移人移存器。
这时“1101”码可以从Q O Q l Q2Q3端并行输出;从而实现了将串行码(时间先后码)转换成并行码(空间位置码)的串/并转换功能,即串入一并出功能。
当需要串行输出时,则以Q3为串行输出端,再经4个移位脉冲,移存器中存入的4位数码“1101”可由Q3端全部移出(输出),实现串入一串出功能,从而达到对串行码延时的目的。
移位存放器指令
移位存放器指令可用来进行顺序控制、步进及数据流控制。
移位存放器指令SHRB把输入端DATA数值移入移位存放器。
S_BIT指定移位存放器的最低位。
N指定移位存放器的长度和移位方向〔移位加= N,移位减= -N〕。
SHRB指令移出的每个位被放置在溢出内存位〔SM1.1〕中。
在“移位减〞〔N为负〕中,输入数据〔DATA〕移入移位存放器的最高位中,并移出最低位〔S_BIT〕。
移出的数据被放置在溢出内存位〔SM1.1〕中。
在“移位加〞〔N为正〕中,输入数据〔DATA〕移入移位存放器的最低位中〔由S_BIT指定〕,并移出移位存放器的最高位。
移出的数据被放置在溢出内存位〔SM1.1〕中。
移位存放器的最大长度为64位〔无论正负〕。
使用以下等式计算"移位存放器"最高位地址〔MSB.b〕:MSB.b = [(S_BIT字节) + ([N] - 1 + (S_BIT位)) / 8] . [被8除的余数]
例如:如果S_BIT是V33.4和N 是14,以下计算显示MSB.b是V35.1。
MSB.b = V33 + ([14] - 1 +4)/8
= V33 + 17/8
= V33 + 2 ,余数为1
= V35.1
移位存放器指令编程及时序如图1及图2所示。
图1 移位存放器指令编程
图2 移位存放器指令时序。