第三章 组合逻辑电路
§ 3.1 概述
§ 3.2 组合逻辑电路的分析和设计
§ 3.3 若干常用的组合逻辑电路
§ 3.4 组合电路中的竞争 — 冒险现象
§ 3-1 概述电路特点功能特点任意时刻的输出信号只与此时刻的输入信号有关,而与信号作用前电路的输出状态无关不包含有记忆功能的单元电路,
也没有反馈电路。
组合逻辑电路的特点数字电路 组合逻辑电路时序逻辑电路
§ 3-2 组合逻辑电路的分析和设计
3.2.1 组合逻辑电路的分析已知组合逻辑电路 写输出逻辑表达式化简分析其功能填真值表分析其功能一,分析方法二、举例解,1 ),根据逻辑图写输出逻辑表达式并化简组合逻辑电路如图,
试分析其逻辑功能 。
BAB AY +==
BABBAA +++= BABA +=
2)、根据逻辑表达式列真值表
0 0
0 1
1 0
1 1
A B Y
0
1
1
0
3)、由真值表分析逻辑功能当 AB相同时,输出为 0
当 AB相异时,输出为 1 异或功能。
&
&
&
& YA
B
AB A?AB B?AB
3.2.2 组合逻辑电路的设计试设计一个三人多数表决电路,
要求提案通过时输出为 1,否则为 0。
一、设计方法 ( 用基本门设计电路 )
二,举例 1、列真值表解:
2、填卡诺图 化简逻辑函数
0
0
0
1
0
1
1
1
A B C Y
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 11 110
0 0 01
BC 00 01 11 10
0
1
A
Y
用与非门设计逻辑电路根据功能要求 填卡诺图化简逻辑函数列真值表写最简 与或式 用多种基本门 设计 逻辑电路变为 与非与非式
3,输出函数式
4、用与门、或门设计电路
5、用与非门设计电路思考,若 只 用二输入与非门设计电路,如何画逻辑图?
Y=AB+BC+AC
ACBCABY=
提示,的形式画逻辑图。
&
&
&
&
A
B
C
Y
&
&
&
≥1
A
B
C
Y
Y=( AB BC) AC将函数式化为
§ 3-3 若干常用的组合逻辑电路
3-3-1 编码器
3-3-2 译码器
3-3-3 数据选择器
3-3-4 加法器
3-3-5 数值比较器
3-3-6 常用组合逻辑电路的应用
3-3-1 编码器逻辑功能,把输入的每一个高低电平变成对应的二进制代码。
一、普通编码器特点,任何时刻只允许输入一个编码信号,
否则输出将发生混乱。
1、真值表
3、输出函数式
I3 I2 I1 I0 Y1 Y0
Y1=I3I2 Y1=I3I2 Y0=I3I1 Y0=I3I1
Y1
I3I2
I1I0
00 01 11 10
00
01
11
10
1
1
0 0X
XXX
X
XX
X X X X
X
Y0
I3I2
I1I0
00 01 11 10
00
01
11
10
1
0
1 0X
XXX
X
XX
X X X X
X
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
1 1
1 0
0 1
0 02,卡诺图以两位二进制编码器为例:
5、逻辑符号由逻辑符号知电路的特点:
0编码有效,输出两位二进制原码。
4,逻辑图
I3 I2 I1 I0
Y1 Y0
4线 —— 2线
I3 I2 I1 I0
Y1 Y0
4线 —— 2线
&
Y1
&
Y0
I3
I2
I1
I0
2)若电路符号如右表示电路特点为:
6、说明
1)电路中的 I0 端可以去掉,
所以,端叫做,隐含端”I0
因为当 I3I2I1 = 111时,必然输出 0的两位代码 00,
0编码有效,输出两位二进制 反码 。
二、优先编码器( 以 2位二进制编码器为例 )
特点:允许输入端同时有多个编码信号,但,
电路只对优先权较高的一个进行编码。
2,输出函数式
1、真值表 输 入 输出
I3 I2 I1 I0 Y1 Y0
Y1=I3I2
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1X
0 0 0 0
0 0 0 0
1 1 1 1
0 0 1XY0=I3 I2+I3I1
0 X X X
1 0 X X
1 1 0 X
1 1 1 0
0 0
0 1
1 0
1 1
Y1
I3I2
I1I0
00 01 11 10
00
01
11
10
Y0
I3I2
I1I0
00 01 11 10
00
01
11
10
输出反码。
要求:
I3的优先权最高,
I0的优先权最低。
3,逻辑符号
4,功能表
YS,选通输出端
S,选通输入端(使能端)
YEX,输出扩展端
SIYS =
SYY SEX =
1
X X X X
1
0 0
1 1 1 1
0 1
0
有,0”
反码输出附加的功能端有,
0 1 1 1 0
1 X X X X 1 1 1 1
0 1 1 1 1 1 1 0 1
0 0 X X X
0 1 0 X X
0 1 1 0 X
输 入 输 出
0 0 1 0
0 1 1 0
1 0 1 0
1 1 1 0
S I3 I2 I1 I0 Y0Y1 YEXYS
I3 I2 I1 I0
Y1 Y0S Y
S
YEX
I3 I2 I1 I0
Y1 Y0S Y
S
YEX
I3 I2 I1 I0
Y1 Y0S Y
S
YEX
1 1
1 1
1
1
注 意三、编码器的功能扩展 (利用 YS,YEX端)
试用两片 4线 — 2线优先编码器,将 A0~A7 8个低电平输入信号编为 000~111 8个 3位二进制代码。其中 A7的优先权最高,A0的优先权最低。输出原码。
1、连线图
( 1)片工作时:
( 2)片不工作YS1=1 S2=1
YEX1=0
( 1)片输入全 1不工作时:
( 2)片工作YS1=0 S2=0
YEX1=1
I3 I2 I1 I0
Y1 Y0
S YSYEX
1 & &
Z2 Z1 Z0
A7 A6 A5 A4 A3 A2 A1 A0
I3 I2 I1 I0
Y1 Y0
S YSYEX( 1) ( 2)可编出 111,110,101,100
可编出 011,010,001,000
2,工作原理此时,
此时,
Z2=1
Z2=0
四、常用集成编码器
1,74LS148
2,74LS147
二 — 十进制优先编码器
0编码有效
输出 8421BCD反码
10线 — 4线( 实为 9线 — 4线 )
没有 I0 端,
当 I9~I1全为 1时,输出 0000的反码 1111
8线 — 3线优先编码器
0编码有效输出 3位二进制反码
74LS148
I7 I6 I5 I4 I3 I2 I1 I0
YEX Y2 Y1 Y0
YSS
74LS147
I8 I7 I6 I5 I4 I3 I2
Y2 Y1 Y0
I9 I1
Y3
3-3-2 译码器逻辑功能,将输入的每个代码分别译成高电平(或低电平)。
一,二进制译码器
1) 真值表
3) 逻辑图 Y3=A1A0=m3
Y0=A1A0=m0
Y1=A1A0=m1
Y2=A1A0=m2
S 端为控制端(片选端、使能端)
常用有,二进制译码器,二 —— 十进制译码器,显示译码器当 S=0时,译码器工作;
当 S=1时,译码器禁止,
所有的输出端均为 0。
输入 输 出
A1 A0 Y3 Y2 Y1 Y0
1 0
0 0
1 1
0 1
0 0 0 1
0 1 0 0
0 0 1 0
1 0 0 0
1,2位二进制译码器
2) 输出表达式
A1
1
A0
1
1
S
&
Y3
&
Y2
&
Y1
&
Y0
4)逻辑符号 (2线 — 4线译码器 )
输出 0有效的 2线 — 4线译码器可用与非门构成,
输出 1有效
5)常用集成 2线 — 4线译码器
0m=01 AA=
= 1m
2Y 2m=
3Y 3m=01 AA=
74LS139:
双 2线 — 4线译码器输出 0有效
1Y = 01 AA
= 01 AAY0
Y3 Y2 Y1 Y0
A0A1S
Y3 Y2 Y1 Y0
A0A1S
74LS139
Y13Y12Y11Y10 Y23Y22Y21Y20
A20A21S2A10A11S1
输出逻辑表达式
2、三位二进制译码器三位二进制译码器即 3线 — 8线译码器,
常用 3线 — 8线译码器有 74LS138
逻辑符号 (输出 0有效):
3、综合
1)同理,四位二进制译码器为 4线 — 16线译码器
2)二进制译码器就是 n线 — 2n线译码器,
即,n变量全部最小项的译码器。
当控制端 S1S2S3=100 时,译码器处工作状态,
它能将三位二进制数的每个代码分别译成低电平。
74LS138
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
S2 S3S1 A2 A1 A0
译码器禁止时,所有输出端都输出无效电平 (高电平)。
4、译码器的功能扩展
1)题意 3线 — 8线译码器的真值表利用 D2的 0,使 s1=0,(1)片工作;
使 s2=1,(2)片不工作。
利用 D2的 1,使 s2=0,(2)片工作;
使 s1=1,(1)片不工作。
2)连线图之一输 入 输 出
0 0 0 1 1 1 1 1 1 1 0
1 1 1 1 1 1 0 1
1 1 1 1 1 0 1 1
1 1 1 1 0 1 1 1
1 1 1 0 1 1 1 1
1 1 0 1 1 1 1 1
1 0 1 1 1 1 1 1
0 1 1 1 1 1 1 1
D2 D1 D0 Z3 Z2 Z1 Z0Z7 Z6 Z5 Z4
例,试用两片 2线 — 4线译码器组成 3线 — 8线译码器,将输入的三位二进制代码 D2 D1 D0译成 8个独立的低点平信号 Z7~Z0。
1 DOD1D2
Y3 Y2 Y1 Y0
A0A1S
Y3 Y2 Y1 Y0
A0A1S
( 1)( 2)
Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z7
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
二、二 — 十进制译码器 (以 8421BCD码的译码器为例)
2、结构,4线 — 10线,没有片选端。
3、常用集成 8421BCD码译码器有 74LS042,
三、显示译码器
1、七段字符显示器 ( 七段数码管)
由七个发光二极管组成的数码显示器叫做 LED数码管,
或 LED七段显示器,可以显示十进制数。
它有 A3~A0四个输入端,有 Y9~Y0十个输出端。
3)连线图之二
1、功能:能将 8421BCD码译成对应的高、低点平。
D2 D1 D0
S2
(2)
S1 A1 A0
(1)
S1 S2 A1 A0
1D2 = 0 时,(1)片工作 ;
D2 = 1 时,(2)片工作,
输入端可如图连线:
如果 译码器的片选端有多个,
(图略)
等效电路:
共阳极,需 0驱动 共阴极,需 1驱动
2,BCD码 七段显示译码器为了使七段数码管显示 BCD代码所表示的十进制数,必须使用 显示译码器,将
BCD代码译成数码管所需的驱动信号。
常用可以驱动 共阴极 LED数码管的显示译码器有 74LS248等 。
LED数码管外形图
h
a
g
d
b
ce
f
74LS248
A3 A2 A1 A0
a b c d e f g
+U
a b c d e f g a b c d e f g
3-3-3 数据选择器地址码二、输出表达式三、逻辑 电路 图
D2
0 0
0 1
1 0
1 1
D0
D1
D3
A1 A0 Y
数据选择器的功能是从一组数据中选则某个 数据 输出一、真值表
≥1
Y
&A
1
1A0
1
D3 D2 D1 D0
(以四选一数据选择器为例)
四、逻辑符号( 附加控制端 )
A1
A0
四选一
D3 D2 D1D0S
Y
Y=A1A0D0+A1A0D1+A1A0D2 +A1A0D3
八选一数据选择器有三位地址码 A2A1A0
可在八位数据 D7 ~ D0选择某一位。(图 略)
五,数据选择器功能的扩展例,试用一片双四选一数据选择器
74LS153 组成一个八选一数据选择器。
解:连接线路如图 1
A2
≥1 Y
常用集成四选一数据选择器有 74LS153,内含双四选一电路。
当 A2=0时,(1)部分电路工作,
可在 D0 ~ D3 种选择某个数据; ( 1)
( 2)
A1 A0
D7
D6
D5
D4
D3
D2
D1
D0
74LS153
D22
D20
D12
D10
D23
D21
S2
D13
D11
S1
Y2
Y1
A1 A0
可在 D4 ~ D7中选择某个数据。
当 A2=1时,(2)部分电路工作,
3-3-4 加法器加法器是构成计算机中算术运算电路的基本单元。
一,1位加法器
1,1位半加器
真值表
输出逻辑表达式?逻辑图
S=AB+AB=A⊕B
CO=AB
0 0
0 1
1 0
1 1
00
10
10
01
A B SCO

A B
SCO
逻辑符号
=1AB
&
S
CO
只能将两个 1位二进制数相加,
不能将低位的进位信号纳入计算的加法器称为 1位半加器。
输 入 输 出
2,1位全加器能将低位的进位信号纳入计算的加法器称为全加器二、多位加法器两个多位数相加时每一位都可能出现进位信号,因此,必须使用全加器。
1、串行进位加法器输入 输出
A B CI CO S
ICBAmmmmS=+++= 7421
IIO ACBCABmmmmC ++=+++= 7653
CO ∑ CI
A B
S
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
1位 全加器 真值表
1位 全加器 输出表达式:
逻辑图(略) 逻辑符号:
00
10
10
01
10
01
01
11
4位 串行进位加法器,
1
0
0
1
1
1
01
1 1 1
例如做 14+7的运算:
2、超前进位加法器串行进位运算速度慢,用超前进位法可提高运算速度。
不片接时,芯片 74LS83的 CI 端应接低电平,
=( 10101) 2 = 16+4+1 =( 21) 10
常用 4位超前进位加法器有 74LS83等。
0 1 1 1
0
(1110)2+(0111)2
0CO ∑ CI
A B
S
CO ∑ CI
A B
S
CO ∑ CI
A B
S
CO ∑ CI
A B
S
74LS83
B3B2B1B0A3A2A1A0
S3 S2 S1 S0
CICO
3-3-5 数值比较器一,1位数值比较器
1、真值表
2、输出逻辑表达式二、多位数值比较器常用多位数值比较器有 74LS85,
它能进行两个 4位二进制数的比较。
电路结构不同,扩展端的用法就可能不同,使用时应加以注意。
YA<B=AB YA>B=AB
3、逻辑图
YA=B=AB+AB
不进行片接时,其扩展端应满足:
10 0
1 0 0
10 0
10 0
=YA<B + YA>B=AB+AB Y(A=B)≥1
A B Y(A<B) Y(A=B) Y(A>B)
0 0
0 1
1 0
1 1
&1
1 & Y(A>B)
Y(A<B)
74LS85
Y(A<B)Y(A=B)Y(A>B) I(A<B)
I(A=B)
I(A>B)
B3B2B1B0A3A2A1A0I(A<B)I(A=B)I(A>B)=011
A
B
3-3-6 常用组合逻辑电路的应用一、译码器的应用
1、用译码器作数据分配器例如用 2线 — 4线译码器作数据分配器:
A1A0端:地址码输入端
S 端,数据 D的输入端
Y3~ Y0,数据输出端把数据 D=1010依次 加在 S 端,
1 0
1 1 1 11 0 1 1
1 0 1 1
1 1 1 1
0 0
0 1
1 0
1 1
A1 A0
地址码 输出
Y2=D
Y0=D
Y
1010
例如:令地址码 A1A0=10
结果只有 Y2=1010
功能表
D
Y3 Y2 Y1 Y0
A0A1S
Y1=D
Y3=D
2、用译码器产生任意逻辑函数
n线 — 2n线的译码器,可产生不多于 n个变量的任意逻辑函数。
1)方法步骤
2)注意控制端的条件要满足。
函数变量的 权位 应 与 所用译码器输入代码的 权位 相 对应 ;
所用译码器输出 1有效时,输出端应附加 或门 ;
把原函数化为最小项之和形式;
根据函数的变量数 n,确定用 n线 —— 2n线译码器;
所用译码器输出 0有效时,输出端应附加 与非门 。
假设用图示输出 1有效的
3线 — 8线译码器产生此函数,
则应将 Z式变为如下形式:
如果用输 ·出 0有效的 3线 — 8线译码器 74LS138产生此函数,
例 1:用译码器产生 Z=ABC+AB
解:
≥1
Z
A B C1译码器输出端附加 或门 即可。
则应将 Z式 变为如下形式:
译码器输出 端 附加与非门即可。
Z=ABC+ABC+ABC =m0+m6+m7
Y0+Y6+Y7Z=m0+m6+m7
Z=m0+m6+m7= m0·m6·m7 Y0·Y6·Y7
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
S A2 A1 A0
74LS138
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
S2 S3S1 A2 A1 A0
Z
A B C1
&
例 2,用 一片 74LS138实现
1位全加器的逻辑功能连接线路如图。
例 3,用 1片 74LS139实现
1位全加器的逻辑功能。
先将双 2线 — 4线连接成 3线 — 8线译码器,再产生题示逻辑功能。
7421 mmmmCIBAS +++=、、
7653 mmmmCIBACO +++=、、
已知 1位全加器的逻辑表达式为
74LS138
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
S2 S3S1 A2 A1 A0
& &
1 A B CI
SCO
74LS139
Y13Y12Y11Y10 Y23Y22Y21Y20
A20A21S2A10A11S2
& &
1
A B CI
SCO
二、数据选择器的应用具有 n位地址码的数据选择器,可以产生不多于 n+1个变量的任意逻辑函数。
解,四选一数据选择器的输出表达式为:
例,用四选一数据选择器产生三变量的逻辑函数 Z=ABC+ABC+AB
Y=A1A0D0 +A1A0D1 +A1A0D2 +A1A0D3
将 Z 式写成与 Y 式完全对应的形式:
对照 Z 式与 Y 式知,只要令:
Z = 根据替代关系连接线路
A1
A0 D3 D2 D1D0S
Y
ABC + AB?0 + AB C + AB?1
A
B
C 11
Z
A1=A,A0=B,D0=C,D1=0,D2=C,D3=1
数据选择器的输出函数就是 Z 式所表示的逻辑函数三、加法器的应用加法器常用来进行代码转换用一片 74LS83把
8421BCD码转换成余 3码。
解:余 3码 = 8421BCD + 0011
余 3 码
8421BCD码用一片 74LS83,附加必要的门电路将 8421BCD码转换成 2421BCD 码。
设计过程见下页所以:如图连接即可。
74LS83
B3B2B1B0A3A2A1A0
S3 S2 S1 S0
C ICO
0 0 1 1
修正值例 1:
例 2:
2、修正电路的设计
1、真值表(设计一览表)
74LS83的输入 74LS83的输出
8421BCD
A3A2A1A0
修正值
B3B2B1B0
2421BCD
S3 S2 S1 S0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 1 1 0
0 1 1 0
0 1 1 0
0 1 1 0
0 1 1 0
观察修正值可知:
B3=0; B0=0;
B2 =B1 =( A3A2A1A0) ( A3A2A1A0) m5+m6+m7+m8+m9
约束项,m10+m11+m12+m13+m14 +m15 =0
解:
3、修正电路输出逻辑表达式已知,
B2=B1=m5+m6+m7+m8+m9
m10+m11+m12+m13+m14 +m15 =0
8421BCD码修正值
2421BCD码
≥1&
B2=B1= A3 + A2A0+ A2A1
74LS83
B3B2B1B0A3A2A1A0
S3 S2 S1 S0
C ICO
B2=B1 A1A0
A3A2 00 01 11 10
0 0 0 0
1 1 10
1 1
X X X X
X X
00
01
10
11
连接线路
§ 3-4 组合逻辑电路的竞争冒险现象
3-4-1 竞争 — 冒险现象及其成因前面分析组合逻辑电路的功能时,都假定输入信号处于稳定状态(静态) ;若输入信号处于 跳变状态(动态),且门电路的传输延迟时间 tpd 不能忽略时,组合逻辑电路就有可能产生竞争冒险 — 现象。
结果,在 t1— t2 时间内,电路输出端产生了 Y=1的尖峰脉冲,
Y=A A Y 0
tpd
t1 t2 t3 t4
A
Y
A
它不符合静态下 Y= AA恒为 0 的逻辑关系。
例设静态时,
动态,且 tpd ≠ 0 时,Y=?
tpd
A
Atpd
&
1
Y
竞争:门电路两个输入信号同时向相反的逻辑电平跳变的现象。
尖峰脉冲会使敏感的电路(如触发器)误动作,
因此,设计组合电路时要采取措施加以避免。
3-4-2 检查竞争 — 冒险现象的方法一、化简法(对于简单的逻辑函数)
二、实验法用示波器观察电路输出端有无尖峰脉冲三、用计算机辅助分析的手段检查复杂的数字系统形式为 Y=AA的将出现 正向 尖峰脉冲;
形式为 Y=A+A的将出现 负向 尖峰脉冲。
只要逻辑函数在一定的条件下能化成 Y=AA 或 Y=A+A
的形式,则可判定其电路有竞争 — 冒险的可能。
竞争 — 冒险:由于竞争而在电路输出端可能产生尖峰脉冲的现象。
(略)
3-4-3 消除竞争 — 冒险现象的方法常用的方法:
选通脉冲 使得静态时电路工作,
动态时电路封锁。
1、在电路的输出端接入滤波电容。
2、在电路的输入端引入 选通脉冲如 Y=AB+AC 在 B=C=1的条件下,
Y=A+A,将有负向尖峰脉冲出现。
3、修改逻辑设计若将原逻辑关系 改为 Y=AB+AC+BC
则可在 B=C=1时,使 Y=A+A+1,
确保没有负向尖峰脉冲出现,
消除了原逻辑设计中的竞争 — 冒险。
&
1A
Y
P
t1 t2 t3 t4
Y
P
0
A
A t
pd tpd