移位寄存器时序演示-数据在时钟脉冲下逐位向左移动

移位寄存器时序演示-数据在时钟脉冲下逐位向左移动

1 次使用 1星 - 很差 2星 - 较差 3星 - 一般 4星 - 很好 5星 - 非常好 0.0 (0人已评)

移位寄存器时序演示-数据在时钟脉冲下逐位向左移动

4 位左移寄存器(串入串出):每个时钟上升沿,数据整体左移一格,串行输入从右边进入最低位 Q0,最高位 Q3 从左边移出。左移一位相当于乘 2。

DIN = 0 FF3 (Q3) 0 FF2 (Q2) 0 FF1 (Q1) 0 FF0 (Q0) 0 串行输出 CLK 时序图(左移方向:DIN → Q0 → Q1 → Q2 → Q3 → 移出) CLK DIN Q3 点「单步时钟」开始,波形会一格一格画出来
串行输入
时钟
并行预置
串行输入 DIN0
寄存器 Q3Q2Q1Q00000
本拍移出位(原 Q3)
已走时钟拍数0

移位过程:每个时钟上升沿,四个触发器同时动作——Q0 接收 DIN,Q1 接收原来的 Q0,Q2 接收原来的 Q1,Q3 接收原来的 Q2。数据在图上自右向左整体挪动一格,原来 Q3 里的数据从最左边被挤出寄存器,成为串行输出。因为四个触发器用的是同一个时钟,动作是同时发生的,不会出现某一级先动、数据被覆盖的情况。

串行转并行:把一串二进制位按节拍依次从 DIN 送入,n 拍之后这 n 位就整整齐齐地躺在寄存器里,可以一次性读出,这就是串口通信接收端的做法。反过来,先并行写入再逐拍移出,就是发送端。实际的 74HC595 芯片正是这样用 3 根控制线扩展出 8 个输出口来驱动数码管和点阵的。

移位方向与乘除 2:把 Q3Q2Q1Q0 看成一个二进制数,向左移一位就是整体乘 2(低位补进来的 0 相当于补上最低位),向右移一位就是整除 2。触发器本身完全一样,左移还是右移只取决于相邻两级之间的连线方向,把连线反过来接就变成右移寄存器。

关于预置:「预置 1011」是并行置数,不经过时钟,直接把四个触发器写成 Q3=1、Q2=0、Q1=1、Q0=1,方便你观察后续逐拍移出的过程。真实芯片上这个操作叫并行加载,需要专门的置数控制端。

工具信息

发布日期: 2026-09-04

描述: 四位左移移位寄存器在线演示,解决想象不出串行数据怎么一拍一拍进入寄存器、高位怎么被移出的问题。预置初始值后逐拍给时钟,看数据整体左移、串行输出逐位移出、时序图同步绘制。

使用方法: 1. 点「预置 1011」写入初始数据;2. 保持「DIN = 0」,连点「单步时钟」四次,看寄存器读数逐拍变为 0110、1100、1000、0000,移出位依次是 1、0、1、1;3. 把 DIN 改成 1 再打一拍,看 1 从右边进入 Q0;4. 「自动时钟」连续移位,「复位清零」重来。

← 返回

评论 (0)

发表评论

0/300

暂无评论,来发表第一条评论吧!

便签
已输入:0/500字

    扫码访问工具