四个d触发器组成,有反码和原码两种码输出,d3d2d1d0是待寄存的数据输入端,le是写入数据控制端,cr为清零端。电路的操作过程如下:
1. cr=1,寄存器清零q3q2q1q0=0000;
2. 放置好数据,如d3d2d1d0=1011;
3. 给写命令le高电平,1011就写入触发器中;
下图是由8个d触发器构成的8位数码寄存器,电路具有三态输出,一个写入控制和读出控制端。
这是一个cpu和ram之间进行信息读取的硬件电路,cpu的地址低二位a1、a0控制373进行数据存入或读出,373作ram的地址锁存用。数据读取具体操作如下:
1)cpu地址a1a0=11,cpu的p1口送出一个数据,然后a1a0=00,这时cpu送出的数据被锁存在373中,该数据成为ram的读写地址了;
2)cpu对该地址中的具体内容进行写入或读出操作,当cpu的a2=0,读出ram中的信息传输到cpu,当a2=1时,cpu中的信息存入ram;
二、移位寄存器
移位寄存器除能寄存二进制信息以外,还能对存入的信息在时钟脉冲的作用下进行移位操作。
1. 单向移位寄存器
将寄存器中的数据实现单方向(向左或向右)移位操作。
四位右向移位寄存器逻辑电路。
电路的四种操作模式:
⑴ 串行输入/输出(siso):一位数据一个cp脉冲地依次存入,如存入d3d2d1d0=1011信息。
⑵ 串行输入/并行输出(sipo):当用四个cp脉冲存入1011信息后,q3q2q1q0=1011了,然后,可以从q3q2q1q0端一起输出。
⑶ 并行输入/输出(pipo):寄存器清零后,信息从并行输入端通过寄存命令le一次存入,存入后可以从 q3q2q1q0端一起输出。
⑷ 并行输入/串行输出(piso):并行存入数据后,依次加入cp脉冲,则数据就从串行输出端依次输出。从数据的高低位讲:是高位数据依次向低位移位;所以,通常右移是指:高位数据依次向低位移位,即每移动一位相当于÷2(×2-1);而左移是指:低位依次向高位移位操作,即每左移一位相当于×2;
2. 双向移位寄存器
在控制信号的控制下,信息可以依次从右向左或从左向右存入并实现移位操作。双向移位寄存器cc40194型的逻辑电路图:
四个d 触发器的d 端信息由四选一的选择器决定。s2s1是四选一的地址控制。s2s1=00,为保持;s2s1=01,右移;s2s1=10,左移;s2s1=11,并行存数;可以写出四个4/1的输出函数关系式:如最高位1d3函数,,,,
三、移位寄存器的应用举例
1. 数字延迟线
n位的移位寄存器连接成右移串行输入模式,先在右移串行输入端加一个高电平脉冲,cp上升沿到达后,将高电平存入n位中的最高位,然后,经过(n-1)个cp周期,该高电平出现在输出q0,实现了延迟的目的。
2. 产生序列脉冲
n位的移位寄存器连接成循环右移模式,如图,并行输入序列代码数据后,该序列就在移位寄存器中循环移位,产生一系列脉冲。如以四位为例子,并行存入0110序列代码后,序列脉冲波形如图所示。
3. 构成乘法器电路
乘法器的符号位用二个乘数的符号位异或实现,所以,乘法用原码运算最方便。下面求乘法运算时的算法。令被乘数为:,乘数为:。
两数值部分相乘有:
式中的分别表示不移位、左移一位,二位, …,m-1位。这表明,乘积的数值等于被乘数左移和相加二部分操作完成。
二个三位二进制数乘法电路:
4. 构成除法器
时序逻辑电路的设计方法:
在前面用触发器设计计数器时,只要知道电路的状态转换图,在选定触发器型号后,就可以设计出电路来,因此,画出原始的状态转换图是关键。所以,一般时序电路设计步骤如下:
一、进行逻辑抽象,得出待设计电路的状态转换图或状态转换表。由题意确定输入/输出变量及电路所需要的状态数。将状态编号后,按题意画出状态转换图。
二、状态化简。电路的状态转换数目越少时,设计出来的电路也越简。如果两个状态在输入相同,输出也相同时,称这两个状态等价,这两个状态可以合并成为一个状态,状态化简后,使状态转换图最简。
三、状态分配(状态编码)。由状态转换图中的状态数,确定所需要的触发器个数n,若状态数m时,则触发器个数为:,n个触发器可以有个状态,当状态分配(状态编码)方案不合理时,设计出来的电路会复杂的多。通常,状态分配以自然二进制规律进行分配。然后,画出编码后的状态转换图。
四、选定触发器的型号,列出现—次态状态转换、激励要求和电路输出状态关系表,求出驱动方程、输出方程,画出电路图。(这一步和计数器设计时相同)。
