第 151 篇

考研数电·零基础讲义 第10讲|数据选择器

约 21 分钟 6479 字 华南师范大学数字电子技术考研数电零基础讲义

考研数电·零基础讲义 · 第 10 讲|数据选择器 学完这一讲,你能读懂 4 选 1(74HC153)和 8 选 1(74HC151)数据选择器的功能表与输出式,会用数据选择器实现逻辑函数——包括"变量比地址端多"时的降维方法,并能独立做完 2026 回忆题第 5 题。预计用时 2~2.5 小时。

本讲地图

  • 数据选择器(MUX):根据地址,从多路数据里挑一路送到输出,"多选一"。
  • 两个器件:双 4 选 1 的 74HC153,8 选 1 的 74HC151(有互补输出YY⁠、WW⁠)。
  • 实现逻辑函数:把输出式和函数的最小项式"对号入座"。变量数 = 地址数时数据端接 0/1;变量数 = 地址数 + 1 时数据端接 0、1、变量、反变量(降维);再多就让数据端接小函数。
  • 华师怎么考:2026 回忆题第 5 题——"化简Y=∑m(1,3,5,8,9,13)+∑d(7,10,11,14,15)Y=\sum m(1,3,5,8,9,13)+\sum d(7,10,11,14,15)⁠,用一片 74HC151 实现"。本讲第六节完整解答。
  • 教材对应:第 4 章 4.4.3 节(数据选择器),4.5 节例 4.5.4、例 4.5.5。

前置知识

  • 最小项、无关项、卡诺图化简(见第 03 讲、第 04 讲中、下)。
  • 74HC138 的"最小项"思想、低电平使能端(见第 09 讲下)。

一、数据选择器是什么

1.1 大白话:电视遥控器换台

家里电视能收很多个频道,但屏幕一次只放一个。你按遥控器上的频道号,电视就从众多信号里挑一个送到屏幕上。

数据选择器(Data Selector,也叫多路开关 Multiplexer,简称 MUX)就是这样:

有若干路数据输入D0,D1,⋯D_0,D_1,\cdots⁠,有几位地址输入(相当于频道号),地址是几,输出YY就等于第几路数据。

nn位地址能选2n2^n路数据:1 位地址 → 2 选 1;2 位 → 4 选 1;3 位 → 8 选 1。

4选1数据选择器好比一个旋转开关,地址决定接通哪一路数据(动画) D0 D1 D2 D3 Y 地址 A1A0 决定"刀片"拨到哪个触点 A1A0 = 00Y = D0 A1A0 = 01Y = D1 A1A0 = 10Y = D2 A1A0 = 11Y = D3

图 1:4 选 1 数据选择器像一个旋转开关,地址A1A0A_1A_0决定"刀片"接通哪一路(动画循环播放)

1.2 和译码器的区别

译码器 数据选择器
输入 地址 地址 + 多路数据
输出 多根线,选中的一根有效 一根线,等于被选中的数据
类比 叫号屏点亮一个窗口 遥控器选一个频道播放

二、从 2 选 1 到 4 选 1

2.1 2 选 1

教材的 2 选 1 有选择端SELSEL和两路数据AA⁠、BB⁠:SEL=1SEL=1选AA⁠,SEL=0SEL=0选BB⁠。输出式:

Y=SEL⋅A+SEL‾⋅BY=SEL\cdot A+\overline{SEL}\cdot B

逐行拆解:SEL=1SEL=1时,第二项的SEL‾=0\overline{SEL}=0把BB"关掉",Y=AY=A⁠;SEL=0SEL=0时第一项被关掉,Y=BY=B⁠。每个数据都配了一个"开关"(与门),开关由地址控制,最后用或门汇合。

2.2 4 选 1 的输出式

地址A1A0A_1A_0⁠,数据D0∼D3D_0\sim D_3⁠:

Y=D0 A1‾ A0‾+D1 A1‾A0+D2 A1A0‾+D3 A1A0Y=D_0\,\overline{A_1}\,\overline{A_0}+D_1\,\overline{A_1}A_0+D_2\,A_1\overline{A_0}+D_3\,A_1A_0

逐行拆解:

  • A1‾ A0‾\overline{A_1}\,\overline{A_0}就是地址变量的最小项m0m_0⁠,只在A1A0=00A_1A_0=00时为 1;它和D0D_0相与,意思是"地址为 00 时把D0D_0放过去"。
  • 依此类推,可以紧凑地写成Y=∑i=03Di miY=\sum_{i=0}^{3}D_i\,m_i⁠,mim_i是地址A1A0A_1A_0的最小项。

这个"DiD_i乘以地址最小项"的形式,就是用 MUX 实现逻辑函数的钥匙。 请记住。

功能表:

A1A_1 A0A_0 YY
0 0 D0D_0
0 1 D1D_1
1 0 D2D_2
1 1 D3D_3

2.3 双 4 选 1 数据选择器 74HC153

74HC153 一个芯片里装了两个完全相同的 4 选 1:

引脚 作用
A1A_1⁠、A0A_0 地址,两个选择器共用
D10∼D13D_{10}\sim D_{13} 第 1 个选择器的 4 路数据(下标第一位"1"表示第 1 个)
D20∼D23D_{20}\sim D_{23} 第 2 个选择器的 4 路数据
S1′S_1'⁠、S2′S_2' 两个选择器各自的选通端,低电平有效
Y1Y_1⁠、Y2Y_2 两个输出

教材给出(⁠S1=S1′‾S_1=\overline{S_1'}⁠):

Y1=[D10A1‾ A0‾+D11A1‾A0+D12A1A0‾+D13A1A0]⋅S1Y_1=\left[D_{10}\overline{A_1}\,\overline{A_0}+D_{11}\overline{A_1}A_0+D_{12}A_1\overline{A_0}+D_{13}A_1A_0\right]\cdot S_1

即S1′=0S_1'=0时正常工作;S1′=1S_1'=1时被禁止,输出封锁为低电平 0。第 2 个选择器同理。教材还讲了它的内部是用 CMOS 传输门(第 06 讲)搭的:两级传输门,地址决定哪条路通。

2.4 易错点 ⚠️

  • 74HC153 的两个 4 选 1 地址共用、使能和数据各自独立。用它做两个不同函数时,两个函数的地址变量必须相同。
  • 禁止时输出是 0(低电平),不是"高阻"。

三、8 选 1 数据选择器 74HC151

3.1 引脚

引脚 读法 作用
A2A1A0A_2A_1A_0 A 二 A 一 A 零 3 位地址,A2A_2最高位
D0∼D7D_0\sim D_7 D 零~D 七 8 路数据输入
S′S' S 非 选通(使能)端,低电平有效
YY Y 输出(原码)
WW W 互补输出,W=Y‾W=\overline{Y}

3.2 输出式(教材式 4.5.6,S′=0S'=0时)

Y=D0m0+D1m1+D2m2+D3m3+D4m4+D5m5+D6m6+D7m7,W=Y‾Y=D_0m_0+D_1m_1+D_2m_2+D_3m_3+D_4m_4+D_5m_5+D_6m_6+D_7m_7,\qquad W=\overline{Y}

其中mim_i是地址A2A1A0A_2A_1A_0的最小项,例如m5=A2A1‾A0m_5=A_2\overline{A_1}A_0⁠。

3.3 功能表

S′S' A2A_2 A1A_1 A0A_0 YY WW
1 × × × 0 1
0 0 0 0 D0D_0 D0‾\overline{D_0}
0 0 0 1 D1D_1 D1‾\overline{D_1}
0 0 1 0 D2D_2 D2‾\overline{D_2}
0 0 1 1 D3D_3 D3‾\overline{D_3}
0 1 0 0 D4D_4 D4‾\overline{D_4}
0 1 0 1 D5D_5 D5‾\overline{D_5}
0 1 1 0 D6D_6 D6‾\overline{D_6}
0 1 1 1 D7D_7 D7‾\overline{D_7}

逐行拆解:第一行S′=1S'=1⁠,芯片禁止,YY被封锁为 0(⁠WW为 1),和 74HC153 一样。其余八行:地址是几,YY就等于第几路数据。

3.4 例题 1:读 74HC151

题目:S′=0S'=0⁠,A2A1A0=110A_2A_1A_0=110⁠,D0∼D7=1,0,0,1,0,1,1,0D_0\sim D_7=1,0,0,1,0,1,1,0⁠。求YY⁠、WW⁠。

解:110 = 6,Y=D6=1Y=D_6=1⁠,W=0W=0⁠。

3.5 易错点 ⚠️

  • WW是YY的反,不是另一路选择结果。
  • S′S'低电平有效:做题时S′S'必须接 0(接地),图上要画出来。

四、用数据选择器实现逻辑函数:原理

4.1 大白话:对号入座

把 8 选 1 的输出式和一个三变量函数的最小项式放在一起:

Y=D0m0+D1m1+⋯+D7m7Y=D_0m_0+D_1m_1+\cdots+D_7m_7 Z=1⋅m0+0⋅m1+0⋅m2+1⋅m3+⋯Z=1\cdot m_0+0\cdot m_1+0\cdot m_2+1\cdot m_3+\cdots

只要让地址 = 函数的变量,再让**DiD_i = 函数中mim_i前面的系数**(含这个最小项就是 1,不含就是 0),YY就是ZZ⁠。就像按座位号入座:mim_i这个座位上坐的是"1"还是"0",就把DiD_i接 1 还是接 0。

4.2 能力:nn位地址能做几个变量的函数?

  • 变量数 = 地址位数nn⁠:数据端只接 0 或 1,直接对号入座。
  • 变量数 = n+1n+1⁠:多出来的一个变量放到数据端,数据端接 0、1、该变量、该变量的反 四种之一——这叫降维。
  • 变量数 > n+1n+1⁠:数据端要接由剩余变量构成的小函数(需要外加门电路),或者用多片扩展。

所以:4 选 1 能直接做任意 3 变量函数,8 选 1 能直接做任意 4 变量函数(教材原话:"用具有nn位地址输入的数据选择器,可以产生任何形式输入变量数不大于n+1n+1的组合逻辑函数")。

4.3 例题 2:三变量函数,直接对号入座(教材例 4.5.5)

题目:用 74HC151 实现Z=A‾ B‾ C‾+AC+A‾BCZ=\overline{A}\,\overline{B}\,\overline{C}+AC+\overline{A}BC⁠。

第 1 步:展开成最小项。 AC=ABC+AB‾C=m7+m5AC=ABC+A\overline{B}C=m_7+m_5⁠,所以

Z=m0+m3+m5+m7Z=m_0+m_3+m_5+m_7

第 2 步:对号入座。 A→A2A\to A_2⁠,B→A1B\to A_1⁠,C→A0C\to A_0⁠;D0=D3=D5=D7=1D_0=D_3=D_5=D_7=1⁠,D1=D2=D4=D6=0D_1=D_2=D_4=D_6=0⁠;S′=0S'=0⁠。则Y=ZY=Z⁠。

4.4 降维的方法

当变量比地址多一个,比如 4 个变量AA⁠、BB⁠、CC⁠、DD用 8 选 1:

  1. 选 3 个变量做地址(常用AA⁠、BB⁠、CC⁠),剩下的DD留给数据端。
  2. 地址ABCABC每取一个值(比如 101),就固定了AA⁠、BB⁠、CC⁠,剩下的函数只和DD有关,叫做这一格的余函数。看真值表中这两行(⁠D=0D=0和D=1D=1⁠):
D=0D=0时YY D=1D=1时YY 余函数 = 该数据端接
0 0 0
1 1 1
0 1 DD
1 0 D‾\overline{D}
  1. 按这个规则逐个填D0∼D7D_0\sim D_7⁠。

一个对应关系要牢记:地址ABC=kABC=k时,对应的两个四变量最小项编号是2k2k(⁠D=0D=0⁠)和2k+12k+1(⁠D=1D=1⁠)。例如ABC=101ABC=101(⁠k=5k=5⁠),对应m10m_{10}和m11m_{11}⁠。

4.4(补)在卡诺图上看降维

降维其实可以直接在卡诺图上"读"出来。以ABCABC做地址、DD做数据为例:地址ABC=kABC=k对应的两个最小项m2km_{2k}和m2k+1m_{2k+1}⁠,只差DD这一位,所以在卡诺图上它们一定相邻——要么在同一行的CD=00CD=00与0101两格,要么在CD=11CD=11与1010两格。

做法:把卡诺图每一行切成"左两格""右两格"两半,每一半就是一个地址的"小房间":

  • 左半(⁠CD=00,01CD=00,01⁠,即C=0C=0⁠):左格D=0D=0⁠,右格D=1D=1⁠;
  • 右半(⁠CD=11,10CD=11,10⁠,即C=1C=1⁠):注意顺序反了,左格是D=1D=1⁠,右格是D=0D=0⁠。

看每个小房间里两格的值,就能按 4.4 的表写出 0、1、DD或D‾\overline{D}⁠。熟练以后,不用列真值表,看着卡诺图就能把 8 个数据端一口气写出来。右半边"顺序反了"是最容易看错的地方,务必小心。

4.5 例题 3:降维(教材例 4.5.4,4 选 1 做三变量)

题目:交通信号灯监视电路Z=R‾ A‾ G‾+R‾AG+RA‾G+RAG‾+RAGZ=\overline{R}\,\overline{A}\,\overline{G}+\overline{R}AG+R\overline{A}G+RA\overline{G}+RAG(⁠RR⁠、AA⁠、GG为红、黄、绿灯,正常时只有一盏灯亮,Z=1Z=1表示故障),用 4 选 1 实现。

解:地址取A1=AA_1=A⁠、A0=GA_0=G⁠,RR留给数据端。按AGAG分组整理:

Z=R‾⋅(A‾ G‾)+R⋅(A‾G)+R⋅(AG‾)+1⋅(AG)Z=\overline{R}\cdot(\overline{A}\,\overline{G})+R\cdot(\overline{A}G)+R\cdot(A\overline{G})+1\cdot(AG)

(最后一组R‾AG+RAG=AG\overline{R}AG+RAG=AG⁠。)对照 4 选 1 输出式:D0=R‾D_0=\overline{R}⁠,D1=D2=RD_1=D_2=R⁠,D3=1D_3=1⁠。

4.6 易错点 ⚠️

  • 地址的高低位顺序决定DiD_i的编号含义,答卷上必须写清"A→A2A\to A_2⁠,B→A1B\to A_1⁠,C→A0C\to A_0"。
  • 选哪个变量留到数据端,结果不同但都对;一般留最低位变量,填表最方便。
  • 降维时数据端只能是 0、1、XX⁠、X‾\overline{X}⁠,如果是X‾\overline{X}⁠,需要一个非门(题目若说"只用一片 74HC151",要尽量避开反变量,或说明反变量已有)。

4.7 译码器 vs 数据选择器:实现函数怎么选?

74HC138 + 与非门 74HC151
单片能做的变量数 ≤3 ≤4(降维)
是否需要外加门 需要(每个输出一个与非门) 一般不需要(降维可能要一个非门)
多输出函数 很方便,一片 + 多个与非门 一片只出一个函数(74HC153 可出两个,但地址要共用)
思路 挑出需要的最小项"拼"起来 每个最小项"座位"上放 0/1/变量

所以:单输出、变量多 → 数据选择器;多输出、变量少 → 译码器。


五、更多例题

5.1 例题 4:用 4 选 1 做三变量奇校验

题目:用 4 选 1 实现三变量奇校验Y=A⊕B⊕CY=A\oplus B\oplus C⁠。(变量数 = 地址数 + 1,属于降维;用来练手。)

解:A1=AA_1=A⁠,A0=BA_0=B⁠。

  • AB=00AB=00⁠:Y=CY=C → D0=CD_0=C⁠;
  • AB=01AB=01⁠:Y=C‾Y=\overline{C} → D1=C‾D_1=\overline{C}⁠;
  • AB=10AB=10⁠:Y=C‾Y=\overline{C} → D2=C‾D_2=\overline{C}⁠;
  • AB=11AB=11⁠:Y=CY=C → D3=CD_3=C⁠。

如果变量再多一个(4 变量用 4 选 1),每个数据端就是"剩下两个变量"的函数,要用门电路先做出来再接上,原理完全相同:固定地址变量后,写出余函数。

5.2 例题 5:一片 74HC153 实现全加器

题目:用一片双 4 选 1 数据选择器 74HC153 实现 1 位全加器(输入AA⁠、BB⁠、CICI⁠,输出和SS⁠、进位COCO⁠),允许使用非门。

思路:两个函数要用 74HC153 的两个选择器分别产生。因为两者地址共用,所以必须选同样的两个变量做地址:A1=AA_1=A⁠,A0=BA_0=B⁠,CICI留给数据端。

第 1 步:写出两个函数的真值表(第 08 讲例 2)。SS⁠:输入有奇数个 1 时为 1;COCO⁠:至少两个 1 时为 1。

第 2 步:固定ABAB⁠,求余函数。

ABAB SS的余函数 COCO的余函数
00 0⊕0⊕CI=CI0\oplus0\oplus CI=CI 两个加数都是 0,进位只能是 0 → 00
01 1⊕CI=CI‾1\oplus CI=\overline{CI} 已有一个 1,再来一个才进位 → CICI
10 CI‾\overline{CI} CICI
11 0⊕CI=CI0\oplus CI=CI 已有两个 1,一定进位 → 11

第 3 步:接法。

  • 第 1 个选择器出SS⁠:D10=CID_{10}=CI⁠,D11=CI‾D_{11}=\overline{CI}⁠,D12=CI‾D_{12}=\overline{CI}⁠,D13=CID_{13}=CI⁠,S1′=0S_1'=0⁠,Y1=SY_1=S⁠。
  • 第 2 个选择器出COCO⁠:D20=0D_{20}=0⁠,D21=CID_{21}=CI⁠,D22=CID_{22}=CI⁠,D23=1D_{23}=1⁠,S2′=0S_2'=0⁠,Y2=COY_2=CO⁠。
  • 需要一个非门产生CI‾\overline{CI}⁠。

验证一行:A=1A=1⁠、B=1B=1⁠、CI=0CI=0⁠:地址 11,S=D13=CI=0S=D_{13}=CI=0⁠,CO=D23=1CO=D_{23}=1⁠。1+1+0=2=(10)21+1+0=2=(10)_2⁠,和 0、进位 1,正确。8 行已用程序核对。

对比上一讲用 74HC138 做全加器(需要两个 4 输入与非门),这里只要一片 74HC153 加一个非门。多输出函数用 74HC153,前提是各函数能共用同一组地址变量。


六、完整例题:2026 回忆题第 5 题

2026 回忆题:化简Y=∑m(1,3,5,8,9,13)+∑d(7,10,11,14,15)Y=\sum m(1,3,5,8,9,13)+\sum d(7,10,11,14,15)⁠,用一片 8 选 1 数据选择器 74HC151 实现。

6.1 看懂题目

  • ∑m(1,3,5,8,9,13)\sum m(1,3,5,8,9,13)⁠:函数在这 6 个最小项处为 1。
  • ∑d(7,10,11,14,15)\sum d(7,10,11,14,15)⁠:这 5 个是无关项,取 0 取 1 都可以(第 04 讲下)。
  • 其余m0,m2,m4,m6,m12m_0,m_2,m_4,m_6,m_{12}处函数为 0。
  • 变量 4 个,按惯例记为AA⁠、BB⁠、CC⁠、DD(⁠AA最高位)。

6.2 第一问:卡诺图化简

画 4 变量卡诺图(行ABAB⁠,列CDCD⁠,都按 00、01、11、10 的格雷码顺序),填 1、×、0:

2026回忆题5的卡诺图:蓝圈得D,橙圈得AB非 AB CD 00 01 11 10 00 01 11 10 0 m0 1 m1 1 m3 0 m2 0 m4 1 m5 × m7 0 m6 0 m12 1 m13 × m15 × m14 1 m8 1 m9 × m11 × m10 蓝圈:D(8 格) 橙圈:AB′(4 格)

图 2:2026 回忆题 5 的卡诺图。蓝圈 8 格得DD⁠,橙圈 4 格得AB‾A\overline{B}

画圈(原则:圈尽量大、个数尽量少,无关项"能帮忙就用"):

  1. 蓝圈:CD=01CD=01和CD=11CD=11两整列,共 8 格:m1,m3,m5,m7,m13,m15,m9,m11m_1,m_3,m_5,m_7,m_{13},m_{15},m_9,m_{11}⁠。其中 1 有m1,m3,m5,m9,m13m_1,m_3,m_5,m_9,m_{13}⁠,其余m7,m11,m15m_7,m_{11},m_{15}是无关项,取 1。这 8 格的公共特征:D=1D=1(⁠CC⁠、AA⁠、BB都在变)。所以这个圈是DD⁠。
  2. 橙圈:AB=10AB=10整行 4 格:m8,m9,m11,m10m_8,m_9,m_{11},m_{10}⁠。1 有m8,m9m_8,m_9⁠;m10,m11m_{10},m_{11}是无关项取 1。公共特征A=1A=1⁠、B=0B=0⁠,所以是AB‾A\overline{B}⁠。
  3. 检查:所有的 1(⁠m1,m3,m5,m8,m9,m13m_1,m_3,m_5,m_8,m_9,m_{13}⁠)都被圈到了;没有任何 0 被圈进去。m14m_{14}没用上,取 0。
Y=AB‾+DY=A\overline{B}+D

验算:0 的位置m0m_0=0000、m2m_2=0010、m4m_4=0100、m6m_6=0110、m12m_{12}=1100——它们都是D=0D=0⁠,且都不是"A=1,B=0A=1,B=0",所以Y=0Y=0⁠,正确;6 个 1 处Y=1Y=1⁠。已用程序对 16 个最小项逐一核对。

6.3 第二问:用 74HC151 实现(方法一:标准降维)

第 1 步:选地址。 4 个变量、3 位地址,降维:A→A2A\to A_2⁠,B→A1B\to A_1⁠,C→A0C\to A_0⁠,DD留给数据端。

第 2 步:逐个求数据端。 把Y=AB‾+DY=A\overline{B}+D中的AA⁠、BB⁠、CC按地址取值代进去:

地址ABCABC 对应最小项 代入Y=AB‾+DY=A\overline{B}+D 数据端
000 m0,m1m_0,m_1 0+D=D0+D=D D0=DD_0=D
001 m2,m3m_2,m_3 0+D=D0+D=D D1=DD_1=D
010 m4,m5m_4,m_5 0+D=D0+D=D D2=DD_2=D
011 m6,m7m_6,m_7 0+D=D0+D=D D3=DD_3=D
100 m8,m9m_8,m_9 1+D=11+D=1 D4=1D_4=1
101 m10,m11m_{10},m_{11} 1+D=11+D=1 D5=1D_5=1
110 m12,m13m_{12},m_{13} 0+D=D0+D=D D6=DD_6=D
111 m14,m15m_{14},m_{15} 0+D=D0+D=D D7=DD_7=D

(⁠A=1A=1⁠、B=0B=0时AB‾=1A\overline{B}=1⁠,即地址 100 和 101 两格。)

第 3 步:写接法。

A2=A, A1=B, A0=C;D0=D1=D2=D3=D6=D7=D,  D4=D5=1;S′=0A_2=A,\ A_1=B,\ A_0=C;\qquad D_0=D_1=D_2=D_3=D_6=D_7=D,\ \ D_4=D_5=1;\qquad S'=0

输出YY即为所求函数。

用一片74HC151实现2026回忆题5:地址接ABC,D4和D5接1,其余数据端接D 74HC151 D D D0 D1 D2 D3 D4 1 D5 1 D6 D7 S S'=0 A2 A A1 B A0 C Y Y = AB′+D W W = Y′

图 3:用一片 74HC151 实现 2026 回忆题 5(方法一)。绿线:6 个数据端接变量DD⁠;橙线:D4D_4⁠、D5D_5接 1

6.4 穷举验算

把 16 种输入全部代入电路:

ABCDABCD 地址ABCABC 选中 该数据端的值 电路输出YY 题目要求
0000 000 D0D_0 D=0D=0 0 0
0001 000 D0D_0 D=1D=1 1 1
0010 001 D1D_1 D=0D=0 0 0
0011 001 D1D_1 D=1D=1 1 1
0100 010 D2D_2 D=0D=0 0 0
0101 010 D2D_2 D=1D=1 1 1
0110 011 D3D_3 D=0D=0 0 0
0111 011 D3D_3 D=1D=1 1 ×(无关)
1000 100 D4D_4 1 1 1
1001 100 D4D_4 1 1 1
1010 101 D5D_5 1 1 ×(无关)
1011 101 D5D_5 1 1 ×(无关)
1100 110 D6D_6 D=0D=0 0 0
1101 110 D6D_6 D=1D=1 1 1
1110 111 D7D_7 D=0D=0 0 ×(无关)
1111 111 D7D_7 D=1D=1 1 ×(无关)

所有要求为 1 的行输出 1,要求为 0 的行输出 0,无关项随意——完全满足题意(此表由程序逐行模拟 74HC151 生成并比对)。

6.5 方法二:更巧的选法(了解)

化简结果Y=AB‾+DY=A\overline{B}+D 根本不含CC!既然只有 3 个变量真正起作用,就可以让AA⁠、BB⁠、DD做地址,数据端全部接常量:

A2=AA_2=A⁠,A1=BA_1=B⁠,A0=DA_0=D⁠;按地址ABDABD依次代入YY⁠:

ABDABD 000 001 010 011 100 101 110 111
YY 0 1 0 1 1 1 0 1

即D0=D2=D6=0D_0=D_2=D_6=0⁠,D1=D3=D4=D5=D7=1D_1=D_3=D_4=D_5=D_7=1⁠,CC不用接。同样已穷举 16 种输入核对。考试写方法一最稳(阅卷标准一般按降维法),有余力可以补一句方法二。

6.6 为什么题目要先"化简"?

如果不化简,直接拿原始的最小项做,无关项的取值就得自己定。比如把无关项全当 0:地址 011 对应m6=0m_6=0⁠、m7m_7取 0,则D3=0D_3=0⁠;地址 101 对应m10m_{10}⁠、m11m_{11}都取 0,则D5=0D_5=0⁠;地址 111 对应m14m_{14}⁠、m15m_{15}都取 0,则D7=0D_7=0⁠。这样得到的电路也满足题意,只是与化简式Y=AB‾+DY=A\overline{B}+D不是同一个函数(无关项取值不同)。题目先让你化简,就是要你按化简结果统一无关项的取值,所以第二问要和第一问的结果保持一致,按 6.3 的表来接。

6.7 标准答卷长什么样

解:(1)由卡诺图(图略,标出两个圈),利用无关项m7,m10,m11,m15m_7,m_{10},m_{11},m_{15}⁠,得Y=AB‾+DY=A\overline{B}+D⁠。

(2)令A2=AA_2=A⁠,A1=BA_1=B⁠,A0=CA_0=C⁠,则Y=∑i=07DimiY=\sum_{i=0}^{7}D_im_i⁠。将Y=AB‾+DY=A\overline{B}+D按ABCABC展开:Y=D m0+D m1+D m2+D m3+1⋅m4+1⋅m5+D m6+D m7Y=D\,m_0+D\,m_1+D\,m_2+D\,m_3+1\cdot m_4+1\cdot m_5+D\,m_6+D\,m_7⁠。所以D0=D1=D2=D3=D6=D7=DD_0=D_1=D_2=D_3=D_6=D_7=D⁠,D4=D5=1D_4=D_5=1⁠,S′=0S'=0⁠。电路如图(画出接线)。

6.8 易错点 ⚠️

  • 卡诺图的列顺序是 00、01、11、10,不是 00、01、10、11。m3m_3在第三列、m2m_2在第四列。
  • 地址ABC=kABC=k对应的是m2km_{2k}和m2k+1m_{2k+1}⁠,别对错。
  • 别忘了S′=0S'=0⁠。
  • 用了反变量要说明来源;本题恰好没有反变量,一片 74HC151 就够了,不需要任何额外的门。

6.9 考场常见变形

  1. 无关项不同:方法完全一样——先卡诺图化简(无关项帮忙圈大圈),再按化简式逐个地址求余函数。
  2. 指定变量接法:比如题目规定"BB⁠、CC⁠、DD接地址,AA接数据端"。那就固定BCDBCD⁠,看A=0A=0和A=1A=1两种情况:地址BCD=kBCD=k时,对应的最小项是mkm_k(⁠A=0A=0⁠)和mk+8m_{k+8}(⁠A=1A=1⁠)。以本题为例,地址 000:m0=0m_0=0⁠、m8=1m_8=1 → 接AA⁠;地址 001:m1=1m_1=1⁠、m9=1m_9=1 → 接 1;……编号对应关系变了,必须重新算,不能照搬2k2k⁠、2k+12k+1。
  3. 要求用WW输出:W=Y‾W=\overline{Y}⁠。如果题目要的是F‾\overline{F}⁠,就把FF做在YY上,从WW取出来;或者把每个数据端都取反后从WW取FF⁠。
  4. 只问化简:卡诺图要画出来、圈要标出来,写清用了哪几个无关项。

七、扩展:两片 74HC151 组成 16 选 1

思路:16 路数据需要 4 位地址A3A2A1A0A_3A_2A_1A_0⁠。两片的A2A1A0A_2A_1A_0并联;最高位A3A_3控制使能:片(1) 的S′S'接A3A_3(⁠A3=0A_3=0时工作,管D0∼D7D_0\sim D_7⁠),片(2) 的S′S'接A3‾\overline{A_3}(⁠A3=1A_3=1时工作,管D8∼D15D_8\sim D_{15}⁠)。因为被禁止的那一片输出Y=0Y=0⁠,所以把两片的YY用一个或门合起来就是总输出。(已用程序随机数据核对 16 个地址。)


八、做数据选择器题的五步口诀

  1. 定地址:选哪几个变量接地址端,按高低位写清楚(⁠A→A2A\to A_2⁠……)。
  2. 化或展:题目要化简就先化简;不化简就展开成最小项。
  3. 求余函数:地址每取一个值,看剩下的变量怎样决定输出。
  4. 接数据:余函数是 0、1、XX⁠、X‾\overline{X}中哪一个,就接哪一个;使能端接成工作状态。
  5. 穷举验:至少代两三组数检查,有时间就把真值表全部过一遍。

常见失分点:使能端没画、地址高低位写反、卡诺图右半边DD的顺序看反、无关项取值前后不一致。


速记卡

项目 要点
MUX 地址选数据,"多选一";nn位地址选2n2^n路
4 选 1 Y=D0A1‾ A0‾+D1A1‾A0+D2A1A0‾+D3A1A0Y=D_0\overline{A_1}\,\overline{A_0}+D_1\overline{A_1}A_0+D_2A_1\overline{A_0}+D_3A_1A_0
74HC153 双 4 选 1,地址共用,S1′S_1'⁠、S2′S_2'各自低有效;禁止时输出 0
74HC151 8 选 1,Y=∑DimiY=\sum D_im_i⁠,W=Y‾W=\overline{Y}⁠;S′=1S'=1时Y=0Y=0
实现函数 地址 = 变量,DiD_i = mim_i的系数
能力 nn位地址可做≤n+1\le n+1变量的任意函数
降维规则 余函数 0→接 0,1→接 1,与XX同→接XX⁠,与XX反→接X‾\overline{X}
编号对应 地址kk ↔ 最小项m2km_{2k}⁠、m2k+1m_{2k+1}(低位变量做数据)
2026-5 Y=AB‾+DY=A\overline{B}+D⁠;ABCABC做地址,D4=D5=1D_4=D_5=1⁠,其余Di=DD_i=D⁠,S′=0S'=0

自测练习

1. 74HC151 中S′=1S'=1⁠,A2A1A0=011A_2A_1A_0=011⁠,所有数据端接 1。YY⁠、WW分别是多少?

答案与提示

S′=1S'=1芯片禁止,Y=0Y=0⁠,W=1W=1⁠。

2. 用 74HC151 实现三人多数表决Y=AB+BC+ACY=AB+BC+AC⁠,写出数据端接法。

答案与提示

Y=∑m(3,5,6,7)Y=\sum m(3,5,6,7)⁠。A→A2A\to A_2⁠,B→A1B\to A_1⁠,C→A0C\to A_0⁠;D3=D5=D6=D7=1D_3=D_5=D_6=D_7=1⁠,D0=D1=D2=D4=0D_0=D_1=D_2=D_4=0⁠,S′=0S'=0⁠。

3. 用一片 74HC151 实现四变量函数Y=∑m(0,2,5,7,8,10,13,15)Y=\sum m(0,2,5,7,8,10,13,15)(⁠A→A2A\to A_2⁠,B→A1B\to A_1⁠,C→A0C\to A_0⁠)。并说说你发现了什么。

答案与提示

逐对看(m2k,m2k+1)(m_{2k},m_{2k+1})⁠:k=0k=0⁠:(1,0) → D‾\overline{D}⁠;k=1k=1⁠:(1,0) → D‾\overline{D}⁠;k=2k=2⁠:(0,1) → DD⁠;k=3k=3⁠:(0,1) → DD⁠;k=4,5k=4,5同k=0,1k=0,1 → D‾\overline{D}⁠;k=6,7k=6,7 → DD⁠。所以D0=D1=D4=D5=D‾D_0=D_1=D_4=D_5=\overline{D}⁠,D2=D3=D6=D7=DD_2=D_3=D_6=D_7=D⁠。化简可知Y=BD+B‾ D‾=B⊙DY=BD+\overline{B}\,\overline{D}=B\odot D⁠,与AA⁠、CC无关。已用程序核对。

4. 用 4 选 1 数据选择器实现Y=A‾ B‾+ACY=\overline{A}\,\overline{B}+AC(⁠A1=AA_1=A⁠,A0=BA_0=B⁠)。

答案与提示

AB=00AB=00⁠:Y=1Y=1 → D0=1D_0=1⁠;AB=01AB=01⁠:Y=0Y=0 → D1=0D_1=0⁠;AB=10AB=10⁠:Y=CY=C → D2=CD_2=C⁠;AB=11AB=11⁠:Y=CY=C → D3=CD_3=C⁠。

5. 若 2026 回忆题 5 改用 4 选 1 数据选择器(⁠A1=AA_1=A⁠,A0=BA_0=B⁠)实现化简后的Y=AB‾+DY=A\overline{B}+D⁠,数据端怎么接?

答案与提示

AB=00AB=00⁠:Y=DY=D⁠;0101⁠:Y=DY=D⁠;1010⁠:Y=1Y=1⁠;1111⁠:Y=DY=D⁠。所以D0=D1=D3=DD_0=D_1=D_3=D⁠,D2=1D_2=1⁠。CC不需要。已用程序核对。

6.(华师真题风格,分析)某电路中 74HC151 的A2=AA_2=A⁠,A1=BA_1=B⁠,A0=CA_0=C⁠,S′=0S'=0⁠,D0=D7=1D_0=D_7=1⁠,D1=DD_1=D⁠,D2=D‾D_2=\overline{D}⁠,D3=D6=0D_3=D_6=0⁠,D4=DD_4=D⁠,D5=1D_5=1⁠。写出YY的最小项表达式。

答案与提示

逐个地址展开:D0=1D_0=1 → m0,m1m_0,m_1⁠;D1=DD_1=D → m3m_3⁠;D2=D‾D_2=\overline{D} → m4m_4⁠;D3=0D_3=0 → 无;D4=DD_4=D → m9m_9⁠;D5=1D_5=1 → m10,m11m_{10},m_{11}⁠;D6=0D_6=0 → 无;D7=1D_7=1 → m14,m15m_{14},m_{15}⁠。Y=∑m(0,1,3,4,9,10,11,14,15)Y=\sum m(0,1,3,4,9,10,11,14,15)⁠。化简为Y=AC+B‾D+A‾ C‾ D‾Y=AC+\overline{B}D+\overline{A}\,\overline{C}\,\overline{D}⁠。已用程序核对。

7. 用两片 74HC151 组成 16 选 1,除了两片芯片,还需要什么门?

答案与提示

一个非门(得到A3‾\overline{A_3}接片(2) 的S′S'⁠)和一个或门(合并两片的YY⁠)。也可以用两片的WW接与非门代替或门:W1W2‾=Y1+Y2\overline{W_1W_2}=Y_1+Y_2⁠。


下一讲预告

第 11 讲讲算术电路:从半加器、全加器到 4 位超前进位加法器 74HC283,再到比较大小的数值比较器 74HC85。

👉 点击进入下一讲:第11讲|加法器与数值比较器

评论

还没有评论。 来写第一条。

留下一条评论

选填,不会公开

纯文本,链接会自动识别。