移位寄存器17 Mar 2025 | 6 分钟阅读 一组用于存储多个数据位的触发器,数据从一个触发器移动到另一个触发器,称为 移位寄存器。 当时钟脉冲在寄存器内部或外部应用时,存储在寄存器中的位会发生移位。 为了形成一个 n 位移位寄存器,我们必须连接 n 个触发器。 因此,二进制数的位数与触发器的数量成正比。 触发器的连接方式是第一个触发器的输出成为另一个触发器的输入。 一个 移位寄存器 可以将位向左或向右移动。 一个 移位寄存器,它将位向左移动,被称为 “左移寄存器”,它将位向右移动,被称为 “右移寄存器”。 移位寄存器分为以下几种类型
串行输入串行输出在“串行输入串行输出”中,数据以串行方式移入“IN”或移出“OUT”。 在 SISO 中,在时钟控制下,一次只能在向右或向左方向移动一位。 最初,所有触发器都设置为“复位”状态,即 Y3 = Y2 = Y1 = Y0 = 0。 如果我们传递二进制数 1111,则该数的 LSB 位首先应用于 Din 位。 第三个触发器(即 FF-3)的 D3 输入直接连接到串行数据输入 D3。 输出 Y3 传递到下一个触发器的数据输入 d2。 其余触发器也保持相同的过程。 “串行输入串行输出” 的框图如下所示。 框图![]() 操作当禁用时钟信号应用时,输出 Y3 Y2 Y1 Y0 = 0000。 该数的 LSB 位传递到数据输入 Din,即 D3。 我们将应用时钟,此时 D3 的值为 1。 第一个触发器,即 FF-3,被设置,并且该字存储在时钟的第一个下降沿的寄存器中。 现在,存储的字是 1000。 ![]() 二进制数的下一位,即 1,被传递到数据输入 D2。 设置第二个触发器,即 FF-2,并在下一个时钟负沿到达时存储该字。 存储的字更改为 1100。 ![]() 二进制数的下一位,即 1,被传递到数据输入 D1,并应用时钟。 设置第三个触发器,即 FF-1,并在时钟的负沿再次到达时存储该字。 存储的字更改为 1110。 ![]() 类似地,二进制数的最后一位,即 1,被传递到数据输入 D0,并应用时钟。 设置最后一个触发器,即 FF-0,并在时钟的负沿到达时存储该字。 存储的字更改为 1111。 ![]() 真值表![]() 波形![]() 串行输入并行输出在 “串行输入并行输出” 移位寄存器中,数据以串行方式传递到触发器,并以并行方式获取输出。 数据一位一位地传递到寄存器,并且在数据未传递到数据输入之前,输出保持禁用状态。 当数据传递到寄存器时,输出被启用,并且触发器包含它们的返回值。 下面是 4 位 串行输入并行输出 移位寄存器的框图。 具有四个 D 触发器的电路包含一个清除信号和时钟信号,用于重置这四个触发器。 在 SIPO 中,第二个触发器的输入是第一个触发器的输出,依此类推。 相同的时钟信号被应用于每个触发器,因为触发器彼此同步。 并行输出用于通信。 框图![]() 并行输入串行输出在 “并行输入串行输出” 寄存器中,数据以并行方式输入,而结果以串行方式输出。 下面设计了一个四位 “并行输入串行输出” 寄存器。 触发器的输入是前一个触发器的输出。 输入和输出通过组合电路连接。 通过此组合电路,传递二进制输入 B0、B1、B2、B3。 移位模式 和 加载模式 是 “PISO” 电路工作的两种模式。 加载模式当第二、第四和第六个“AND”门激活时,位 B0、B1、B2 和 B3 将传递到相应的触发器。 当移位或加载条形线设置为 0 时,这些门处于活动状态。 当时钟的边沿为低电平时,二进制输入 B0、B1、B2 和 B3 将被加载到相应的触发器中。 因此,发生并行加载。 移位模式当加载和移位线设置为 0 时,第二、第四和第六个门处于非活动状态。 因此,我们无法以并行方式加载数据。 此时,第一个、第三个和第五个门将被激活,并且数据的移位将从左向右位进行。 以这种方式,发生 “并行输入串行输出” 操作。 框图![]() 并行输入并行输出在 “并行输入并行输出” 中,输入和输出以并行方式进入寄存器。 输入 A0、A1、A2 和 A3 直接传递到相应触发器的数据输入 D0、D1、D2 和 D3。 当应用负时钟边沿时,二进制输入的位被加载到触发器中。 加载所有位都需要时钟脉冲。 在输出端,出现加载的位。 框图![]() 双向移位寄存器将数字的每个位向左移动一个位置后的二进制数将等效于原始数字乘以 2 产生的数字。 以相同的方式,将数字的每个位向右移动一个位置后的二进制数将等效于原始数字除以 2 产生的数字。 为了使用移位寄存器执行乘法和除法运算,需要数据在两个方向上移动,即在寄存器中向左或向右移动。 这种寄存器称为 “双向” 移位寄存器。 下面是 4 位 “双向” 移位寄存器的图,其中 DR 是 “串行右移数据输入”,DL 是 “左移数据输入”,M 是 “模式选择输入”。 框图![]() 操作1) 右移操作 (M=1)
2) 左移操作 (M=0)
通用移位寄存器数据仅在一个方向上移位的寄存器称为 “单向” 移位寄存器。 数据在两个方向上移位的寄存器称为 “双向” 移位寄存器。 “通用” 移位寄存器是一种特殊的寄存器,可以以并行方式加载数据,并在两个方向上移动该数据,即向右和向左。 将输入 M,即模式控制输入,设置为 1 以执行并行加载操作。 如果此输入设置为 0,则执行串行移位操作。 如果我们将模式控制输入接地,则电路将作为 “双向” 寄存器工作。 通用移位寄存器的图如下所示。 当输入传递到 串行输入 时,寄存器执行“串行左”操作。 当输入传递到输入 D 时,寄存器执行串行右操作。 框图![]() 下一主题计数器 |
我们请求您订阅我们的新闻通讯以获取最新更新。