【微实验】Multisim 实现任意序列发生器
2026/5/17 5:11:32 网站建设 项目流程

本文针对序列串行发生需求,以00011000为例,基于 74 系列中规模芯片,在 Multisim 中实现两种可直接使用的序列发生器方案:移位寄存器型计数器 + 数据选择器型,均可以稳定输出目标串行序列。

一、设计原理:序列发生的核心逻辑

序列发生器的核心是按照固定顺序循环输出预设的二进制序列,本次目标序列为00011000(8 位),两种方案的核心逻辑分别是:

  1. 移位寄存器型:利用移位寄存器的移位特性,将目标序列预存在寄存器中,通过时钟控制循环移位输出
  2. 计数器 + 数据选择器型:利用计数器的地址输出,控制数据选择器按顺序输出预设序列

核心器件及真值表

1. 74HC194(4 位双向移位寄存器)

本次用它的并行载入 + 循环移位功能,实现序列的循环输出

输入控制功能
\(\overline{CLR}\)=0异步清零,所有输出置 0
\(\overline{CLR}\)=1,\(S_1S_0\)=11并行载入:将\(D_0-D_3\)的输入载入到\(Q_0-Q_3\)
\(\overline{CLR}\)=1,\(S_1S_0\)=01右移位:时钟上升沿时,\(Q_0\leftarrow D_{SR}\),\(Q_1\leftarrow Q_0\),\(Q_2\leftarrow Q_1\),\(Q_3\leftarrow Q_2\)
\(\overline{CLR}\)=1,\(S_1S_0\)=00保持状态:输出不变
2. 74HC161(4 位同步计数器)

本次用它的模 8 计数功能,生成 8 个地址信号,用于控制数据选择器

输入控制功能
\(\overline{CLR}\)=0异步清零,所有输出置 0
\(\overline{CLR}\)=1,\(\overline{LOAD}\)=0并行载入:将\(D_0-D_3\)的输入载入到\(Q_0-Q_3\)
\(\overline{CLR}\)=1,\(\overline{LOAD}\)=1,\(EN_P=EN_T=1\)同步计数:时钟上升沿时,\(Q_0-Q_3\)加 1
3. 74HC151(8 选 1 数据选择器)

和之前的序列检测中功能一致,根据地址选择输入的序列数据输出

地址输入\(A_2A_1A_0\)输出 Y
000\(D_0\)
001\(D_1\)
010\(D_2\)
011\(D_3\)
100\(D_4\)
101\(D_5\)
110\(D_6\)
111\(D_7\)

二、Multisim 电路实现

方案 1:移位寄存器型(74HC194 级联)

1. 电路接线逻辑

本次目标序列是 8 位,所以使用两片 74HC194 级联实现 8 位移位寄存器

  1. 第一片 74HC194(低位,对应序列的第 1-4 位:0001
    • \(\overline{CLR}\)(1 脚):接 5V(禁止清零)
    • \(S_1S_0\)(9、10 脚):先接 11(并行载入模式),载入完成后改接 01(右移位模式)——S0一直是1,S1先1后0
    • \(D_0-D_3\)(3-6 脚):按序列低 4 位0001连接,\(D_0=0\)(接地)、\(D_1=0\)(接地)、\(D_2=0\)(接地)、\(D_3=1\)(接 5V)
    • \(D_{SR}\)(7 脚):接第二片的\(Q_0\)(12 脚),实现循环移位
    • CLK(2 脚):接 1kHz 的时钟源(数字时钟源,TTL 电平)
    • \(Q_0-Q_3\)(12-15 脚):\(Q_3\)作为串行输出端的低位输出,同时\(Q_3\)接第二片的\(D_{SL}\)(8 脚)
  2. 第二片 74HC194(高位,对应序列的第 5-8 位:1000
    • \(\overline{CLR}\)(1 脚):接 5V(禁止清零)
    • \(S_1S_0\)(9、10 脚):和第一片保持一致,先 11 后 01
    • \(D_0-D_3\)(3-6 脚):按序列高 4 位1000连接,\(D_0=1\)(接 5V)、\(D_1=0\)(接地)、\(D_2=0\)(接地)、\(D_3=0\)(接地)
    • \(D_{SL}\)(8 脚):接第一片的\(Q_3\)(15 脚)
    • CLK(2 脚):和第一片接同一个 1kHz 时钟源(同步移位)
    • \(Q_0-Q_3\)(12-15 脚):\(Q_0\)接第一片的\(D_{SR}\)(7 脚),\(Q_3\)作为串行输出端的高位输出
2. 操作与验证
  1. 先将两片 74HC194 的\(S_1S_0\)接 11,给一个时钟上升沿,完成并行载入,此时两片的输出分别为0001(低位)和1000(高位)
  2. 将\(S_1S_0\)改接 01,之后每一个时钟上升沿,序列会循环右移:
    • 第 1 个时钟:输出0(第 1 位)
    • 第 2 个时钟:输出0(第 2 位)
    • 第 3 个时钟:输出0(第 3 位)
    • 第 4 个时钟:输出1(第 4 位)
    • 第 5 个时钟:输出1(第 5 位)
    • 第 6 个时钟:输出0(第 6 位)
    • 第 7 个时钟:输出0(第 7 位)
    • 第 8 个时钟:输出0(第 8 位)
    • 第 9 个时钟:回到第 1 位,循环输出
  3. 可以在串行输出端接示波器,观察到连续的00011000串行波形

方案 2:计数器 + 数据选择器型(74HC161+74HC151)

1. 电路接线逻辑
  1. 74HC161(模 8 计数器,生成地址)
    • \(\overline{CLR}\)(1 脚):接 5V(禁止清零)
    • \(\overline{LOAD}\)(9 脚):接 5V(禁止并行载入)
    • \(EN_P、EN_T\)(7、10 脚):接 5V(使能计数)
    • CLK(2 脚):接 1kHz 的时钟源(数字时钟源,TTL 电平)
    • \(Q_0-Q_3\)(14-11 脚):取\(Q_0-Q_2\)(14、13、12 脚)接 74HC151 的地址端\(A_0-A_2\)(1、2、3 脚),实现模 8 计数(0-7 循环)
    • RCO(15 脚):悬空,本次用不到进位输出
  2. 74HC151(8 选 1 数据选择器,输出序列)
    • \(\overline{EN}\)(7 脚):接地(使能选择器)
    • \(D_0-D_7\)(11、10、9、6、5、4、13、12 脚):按目标序列00011000依次连接:
      • \(D_0=0\)(接地)、\(D_1=0\)(接地)、\(D_2=0\)(接地)、\(D_3=1\)(接 5V)
      • \(D_4=1\)(接 5V)、\(D_5=0\)(接地)、\(D_6=0\)(接地)、\(D_7=0\)(接地)
    • Y(5 脚):作为串行序列的输出端,可接示波器观察波形
2. 操作与验证
  1. 打开时钟源,74HC161 会开始模 8 计数,\(Q_0-Q_2\)依次输出000、001、010、011、100、101、110、111循环
  2. 74HC151 会根据地址依次选择\(D_0-D_7\)输出,最终在Y端得到串行序列00011000循环输出
  3. 如果需要修改输出序列,只需要修改\(D_0-D_7\)的接线即可,扩展性强

三、总结

本次实现的两种序列发生器方案,都可以在 Multisim 中稳定输出00011000序列:

  1. 移位寄存器型:适合需要循环移位输出的场景,电路的时序连贯性更好
  2. 计数器 + 数据选择器型:修改序列更灵活,适合需要经常更换输出序列的场景

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询