46
组合逻辑电路
-中规模组合逻辑电路数字电子电路 基础
47
§ 3 几种常用的组合逻辑组件
3,1 编码器所谓 编码 就是赋予选定的一系列二进制代码以固定的含义。
n个二进制代码( n位二进制数)有 2n种不同的组合,可以表示 2n个信号。
一、普通编码器二进制编码器的作用,将一系列信号状态编制成二进制代码。
48
(a) 用二极管组成
VCC
Y0Y1Y2
RRR
0I
1I
3I
5I
7I
2I
4I
6I
8 - 3 线编 码 器
I 0
I 1
I 2
I 3
I 4
I 5
I 6
I 7
Y 0
Y 1
Y 2
8-3线编码器框图
49
I1
I2
I3
I4
I5
I6
I7
I8
& & &
F3 F2 F1
(b)用与非门组成
50
I
1
I
2
I
3
I
4
I
5
I
6
I
7
I
8
F
3
F
2
F
1
0 1 1 1 1 1 1 1 0 0 0
1 0 1 1 1 1 1 1 0 0 1
1 1 0 1 1 1 1 1 0 1 0
1 1 1 0 1 1 1 1 0 1 1
1 1 1 1 0 1 1 1 1 0 0
1 1 1 1 1 0 1 1 1 0 1
1 1 1 1 1 1 0 1 1 1 0
1 1 1 1 1 1 1 0 1 1 1
真值表
86421 IIIIF 8642 IIII?
87432 IIIIF? 87653 IIIIF?
51
8线- 3线优先编码器 (74LS148)
G3
G2
G1
0I 2I1I 3I 5I4I 6I 7I
EXY 0Y 2Y1YSY
S
二、优先编码器
52
76542
765435421
76564364210
IIIIY
IIIIIIIIY
IIIIIIIIIIY
+++=
+++=
+++=
SIIIY S 710=
SIIISSIIIY EX 710710 +++==
逻辑函数表达式 S=0时,所有输出端被封锁为高电平,
S=1时编码器才能正常工作低电平输出信号表示电路工作,但无编码输入低电平输出信号表示电路工作,且有编码输入
8 线- 3 线优先编码器的真值表输入 输出
0
I
1
I
2
I
3
I
4
I
5
I
6
I
7
I
2
Y
1
Y
0
Y
× × × × × × × 0 0 0 0
× × × × × × 0 1 0 0 1
× × × × × 0 1 1 0 1 0
× × × × 0 1 1 1 0 1 1
× × × 0 1 1 1 1 1 0 0
× × 0 1 1 1 1 1 1 0 1
× 0 1 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 1 1 1
54
Z0 Z1 Z2 Z3
G0 G3G2G1
(2)SY
EXY
S
0Y 2Y1Y
0I 2I1I 3I 5I4I 6I 7I
7A0A 2A1A 3A 5A4A 6A 15A8A 10A9A 11A 13A12A 14A
用两片 74LS148组成的 16线- 4线编码器
(1)SY
EXY
S
0Y 2Y1Y
0I 2I1I 3I 5I4I 6I 7I
级 联
55
三、二 —十进制编码器二 ---十进制编码器的作用,将十个状态(对应于十进制的十个代码)编制成 BCD码。
十个输入 需要几位输出? 四位输入,I0? I9
输出,F4? F1
43 2102
I 0
I 1
I 2
I 3
I 4
I 5
I 6
I 7
Y 0
Y 1
Y 2
I 9
I 8 Y 3
56
9I2I1I 3I 5I4I 6I 7I 8I
3Y0Y 2Y1Y
二-十进制优先 编码器( 74LS147)
57


983
9879869859842
98798698543985421
99879865986439864210
IIY
IIIIIIIIIIIIY
IIIIIIIIIIIIIIIIY
IIIIIIIIIIIIIIIIIIIY
+=
+++=
+++=
+++=
二-十进制优先编码器的真值表输入 输出
1
I
2
I
3
I
4
I
5
I
6
I
7
I
8
I
9
I
3
Y
2
Y
1
Y
0
Y
1 1 1 1 1 1 1 1 1 1 1 1 1
× × × × × × × × 0 0 1 1 0
× × × × × × × 0 1 0 1 1 1
× × × × × × 0 1 1 1 0 0 0
× × × × × 0 1 1 1 1 0 0 1
× × × × 0 1 1 1 1 1 0 1 0
× × × 0 1 1 1 1 1 1 0 1 1
× × 0 1 1 1 1 1 1 1 1 0 0
× 0 1 1 1 1 1 1 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1 1 1 0
逻辑函数表达式
58
利用优先编码器除了完成编码功能外,还可在外加门电路的基础上构成组合逻辑电路例 某医院有一、二、三、四号病室 4间,每间有呼叫按钮,同时在护士值班室内对应地装有一号、二号、三号、四号 4个指示灯。
现要求当一号病室的按钮按下时,无论其他病室的按钮是否按下,只有一号灯亮。当一号病室的按钮没有按下而二号病室的按钮按下时,无论三、四号病室的按钮是否按下,只有二号灯亮。
当一、二号病室的按钮都没按下时,无论四号病室的按钮是否按下,只有三号灯亮。只有在一、二、三号病室的按钮均未按下而按下四号病室的按钮时,四号灯才亮。试用优先编码器 74LS148
和门电路设计满足上述要求的逻辑电路,给出控制四个指示灯状态的高、低电平。
59
3.2 译码器译码是编码的逆过程,即将某二进制翻译成电路的某种状态。
一、二进制译码器二进制译码器的作用,将 n种输入的组合译成 2n
种电路状态。也叫 n---2n线译码器。
译码器的输入 —— 一组二进制代码译码器的输出 —— 一组高低电平信号
60
3 - 8 线译 码 器
Y 0
Y 1
Y 2
Y 3
Y 4
Y 5
Y 6
Y 7
A 1
A 2
A 0
GS
S
A0 A1 A2S1
3Y0Y 2Y1Y 7Y4Y 6Y5Y
2S 3S
3-8线译码器框图
3线- 8线译码器用与非门组成的 3线- 8线译码器
61
三位二进制译码器的真值表输入 输出
A 2 A 1 A 0 Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
30123
20122
10121
00120
mAAAY
mAAAY
mAAAY
mAAAY




70127
60126
50125
40124
mAAAY
mAAAY
mAAAY
mAAAY




逻辑函数表达式,当又称最小项译码器时片选信号 1321 SSSS
62用两片 74LS138组成的 4线- 16线译码器
74LS138(1)
A0 A1 A2 S1 3S2S
0 1 2 3 4 5 6 7
74LS138(2)
A0 A1 A2 S1 3S2S
0 1 2 3 4 5 6 7
D0 D1 D2 D3
1
级 联
76543210 YYYYYYYY 15141312111098 YYYYYYYY
63
译码器作数据分配器使用数据分配器把公共数据线上的数据按要求传送到不同的单元,即对数据进行分配。
7 4 L S 1 3 8
数 据 输 入
A
1
A
2
A
3
S
1
32
ss
7
6
5
4
3
2
1
0
Y
Y
Y
Y
Y
Y
Y
Y
13210122
012 010
SSSSAAAY
AAA

时,当
64
用译码器设计组合逻辑电路当控制信号 S= 1时,将译码器的三个输入端输入三个逻辑变量,则 8个输出端将输出这三个输入变量的全部最小项的反函数形式( ),利用附加的门电路将这些最小项适当组合,便可产生任何形式的三变量组合逻辑函数。
012,,AAA
70 mm?
例 1,利用 3线- 8线译码器 74LS138设计一个多输出的逻辑电路,输出逻辑函数式


CBABAZ
CBABCACAZ
2
1
65
例 2,利用两片 3线- 8线译码器 74LS138实现四变量函数

i i
imABCDY )15,10,8,5,0(),,,(
66
二、二-十进制译码器
9Y5Y 6Y 7Y 8Y3Y0Y 2Y1Y
A3A2A0
4Y
A1
67
01239
01238
01237
01236
01235
01234
01233
01232
01231
01230
AAAAY
AAAAY
AAAAY
AAAAY
AAAAY
AAAAY
AAAAY
AAAAY
AAAAY
AAAAY










二-十进制译码器的真值表输入 输出序号 A 3 A 2 A 1 A 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
1 0 0 0 1 1 0 1 1 1 1 1 1 1 1
2 0 0 1 0 1 1 0 1 1 1 1 1 1 1
3 0 0 1 1 1 1 1 0 1 1 1 1 1 1
4 0 1 0 0 1 1 1 1 0 1 1 1 1 1
5 0 1 0 1 1 1 1 1 1 0 1 1 1 1
6 0 1 1 0 1 1 1 1 1 1 0 1 1 1
7 0 1 1 1 1 1 1 1 1 1 1 0 1 1
8 1 0 0 0 1 1 1 1 1 1 1 1 0 1
9 1 0 0 1 1 1 1 1 1 1 1 1 1 0
1 0 1 0 1 1 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1 1 1 1
伪码
1 1 1 1 1 1 1 1 1 1 1 1 1 1
9876543210 YYYYYYYYYY
68
三、显示译码器二 ---十进制编码显示译码器显示器件在数字系统中,常常需要将运算结果用人们习惯的十进制显示出来,这就要用到 显示译码器 。
显示器件:
常用的是 七段显示器件
( 数码管 )。
b
cde
f g
a
69
a
b
c
d
f g
a b c d e f g
1 1 1 1 1 1 0
0 1 1 0 0 0 0
1 1 0 1 1 0 1
e

七段显示器件的工作原理:
70
3.3 加法器
1 1 0 1
1 0 0 1+A=1101,B=1001,
计算 A+B。
0
1
1
0
1
0
0
1
1加法运算的基本规则,
(1) 逢二进一。
(2) 最低位是两个数最低位的叠加,不需考虑进位。
(3) 其余各位都是三个数相加,包括加数被、加数和低位来的进位。
(4) 任何位相加都产生两个结果:本位和、向高位的进位。
用半加器实现用全加器实现
71
一、半加器半加运算不考虑从低位来的进位。设:
A---加数; B---被加数; S---本位和; C---进位。
A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
真值表
BABABAS
ABC?
72
逻辑图半加器
A
B C
S
逻辑符号
BABABAS
ABC?
=1
&
A
B S
C
73
二、全加器:
an---加数; bn---被加数; cn-1---低位的进位;
sn---本位和; cn---进位。
a
n
b
n
c
n - 1
s
n
c
n
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
真值表
1
1
1
)(
)(



nnn
nnnnn
nnnnnn
cba
cbaba
cbabas
nnnnn
nnnnnnnn
bacba
bacbabac


1
1
)(
)(
74
an
bn
cn-1
sn
cn
全加器逻辑图逻辑符号半加器半加器?1
an
bn
cn-1
sn
cn
s'
s'
c'
c'
75
全加器的逻辑图
Ci
Ci+1 Si
Ai Bi
逻辑符号
Ci
SiAi
Bi
& Ci+ 1
=1
&
1
=1
Pi Gi
76
全加器 SN74LS183的管脚图
1
14
SN74LS183
1an 1bn 1cn-11cn 1sn
2cn-1 2c
n 2sn2an 2bnUcc
GND
77
Ci+1Si Ci+1SiCi+1Si
Ai Bi
Ci+1Si
Ci
C4S3S2S1S0
A0 B0 A1 B1 A2 B2 A3 B3
三,四位串行加法器
Ai BiCi Ai BiCi Ai BiCi
78
&
& 1
1
& 1
1
&& 1
1
&&& 1
1
&&
P* G*
C-1
C0C1C2
G0P0G1P1G2P2G3P3
四,四位并行(超前)进位加法器
3231230123
*
0123
*
GGPGPPGPPPG
PPPPP

超前进位扩展端 超前进位形成电路
79
iiii GCPC 1
超前进位加法器提高工作速度的途径:设法减小进位信号的传递时间进位传递公式,Gi为进位生成函数,Pi为进位传递函数
222222
111111
000000
21201210122122
1011011011
0100
BAGBAP
BAGBAP
BAGBAP
GGPGPPCPPPGCPC
GGPCPPGCPC
GCPC






80
四位二进制超前进位加法电路
P0G0C0
S3S2S1S0
A0 B0 A1 B1 A2 B2 A3 B3
全加器 全加器 全加器 全加器
C-1 超前进位形成逻辑
P1G1C1 P2G2C2 P3G3
C-1
P* G*
81
五,用加法器设计组合逻辑电路常用于设计输入变量与输入变量相加,或输入变量与常量相加的逻辑问题例 1 设计一个代码转换电路,将 BCD代码的
8421码转换为余 3码(余 3码与 8421码相差 0011)
例 2 试用四位并行加法器 74LS283设计一个加减运算电路,当控制信号 M= 0时,它将两个输入的四位二进制数相加,而 M= 1时它将两个输入的四位二进制相减,允许附加必要的门电路。
82
3.4 数值比较器比较器的分类:
( 1)仅比较两个数是否相等。
( 2)除比较两个数是否相等外,还要比较两个数的大小。
第一类的逻辑功能较简单,下面重点介绍第二类 比较器。
83
一、一位数值比较器输入 输出
A B A >B A =B A <B
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
功能表
BABA,“
ABBABA,“
BABA,“
84
&
&
1
A
B
A<B
A>B
A=B
A B
A>B A<BA=B
逻辑图 逻辑符号
BABA,,ABBABA,,BABA,“
85
二、多位数值比较器比较原则:
1,先从高位比起,高位大的数值一定大。
2,若高位相等,则再比较低位数,最终结果由低位的比较结果决定。
86
A,B两个多位数的比较,
Ai Bi
两个本位数
( A>B) i-1
( A=B) i-1
( A<B) i-1
低位的比较结果
( A>B) i
( A=B) i
( A<B) i
比较结果向高位输出
87
输入 输出
A
i
B
i
( A > B )
i - 1
( A = B )
i - 1
( A < B )
i - 1
( A > B )
i
( A = B )
i
( A < B )
i
1 0 φ φ φ 1 0 0
0 1 φ φ φ 0 0 1
A
i
=B
i
输出 ( A > B )
i
,( A = B )
i
和 ( A < B )
i
分别等于 ( A > B )
i - 1

( A = B )
i - 1
和 ( A < B )
i - 1
每个比较环节的功能表四位数码比较器的真值表
a3 >b3 1 0 0
a3=b3 a2=b2 a1= b1 a0 =b0 0 1 0
a3=b3 a2=b2 a1= b1 a0 <b0 0 0 1
a3=b3 a 2=b2 a1= b1 a0 >b0 1 0 0
a3=b3 a2=b2 a1<b1? 0 0 1
a3=b3 a2=b2 a1> b1? 1 0 0
a3=b3 a2<b2 0 0 1
a3=b3 a2>b2 1 0 0
a3 <b3 0 0 1
比 较 输 入 输 出
a3 b3 a2 b2 a1 b1 a0 b0 L E S(A>B) (A=B) (A<B)
89
根据比较规则,可得到 四位数码比较器逻辑式:
A=B:
BAE
)ba)(ba)(ba)(ba( 00112233
A<B:
112233223333 ))(()( babababababaS
00112233 ))()(( babababaA?B:
SEL
90
四位集成电路比较器 74LS85
A3 B2 A2 A1 B1 A0
B0B3
B3 (A<B)L
(A=B)L
(A>B)L A<B A=B A<B GND
A0 B0B1A1A2B2A3UCC
低位进位 向高位位进位
(A<B)L(A=B)L(A>B)L A<B A=B A<B
91
数值比较器位数扩展
“1”
必接好
( A>B) L
( A<B) L
A>B
A=B
A<B
A1 B1A0 B0A3 B3A2 B2
( A=B) L74LS85
( A>B) L
( A<B) L
A>B
A=B
A<B
A1 B1A0 B0A3 B3A2 B2
( A=B) L74LS85(1)(2)
a3
a2
a1
a0a6
a5
a4
A
b3
b2
b1
b0b6
b5
b4
B
高位片 低位片
92
24位并行比较器
010
A0 A1 A2 A3
B0 B1 B2 B3 A40B4
(A
<B)
I
(A
>B)
I
(A
=B)
I
(A<B)o(A=B)o(A>B)o
B0 B1 B2 B3
A0 A1 A2 A3
输出输入
VI
I
(A
<B
)I
(A
>B
)I
(A
=B
)I
(A<B)o(A=B)o(A>B)o
B0 B1 B2 B3
A0 A1 A2 A3
II
(A
<B
)I
(A
>B
)I
(A
=B
)I
(A<B)o(A=B)o(A>B)o
B0 B1 B2 B3
A0 A1 A2 A3
III
(A
<B
)I
(A
>B
)I
(A
=B
)I
(A<B)o(A=B)o(A>B)o
B0 B1 B2 B3
A0 A1 A2 A3
IV
(A
<B
)I
(A
>B
)I
(A
=B
)I
(A<B)o(A=B)o(A>B)o
B0 B1 B2 B3
A0 A1 A2 A3
V
(A
<B
)I
(A
>B
)I
(A
=B
)I
(A<B)o(A=B)o(A>B)o
B0 B1 B2 B3
A0 A1 A2 A3
B5 B6 B7 B8
A5 A6 A7 A8
A90B9 B10B11B12B13
A10A11A12A13
A140 B14B15B16B17B18
A15A16A17A18
A190 B19B20B21B22B23
A20A21A22A23
93
例,设计三个四位数的比较器,可以对 A,B,C进行比较,能判断:
(1) 三个数是否相等。
(2) 若不相等,A数是最大还是最小。
比较原则:
先将 A与 B比较,然后 A与 C比较,若 A=B
A=C,则 A=B=C;若 A>B A>C,则 A最大;若
A<B A<C,则 A最小。
可以用两片 74LS85实现。
94
A=B=C
& &
A最大 A最小
&
( A>B) L
( A<B) L
A>
B
A=
B
A<
B
C1 C0C3 C2
( A=B) L
( A>B) L
( A<B) L
A>
B
A=
B
A<
B
B1 B0B3 B2
( A=B) L 11
A1 A0A3 A2
B1 B0B3 B2 A1 A0A3 A2B1 B0B3 B2 A1 A0A3 A2
95
3.5 数据选择器从一组数据中选择一路信号进行传输的电路,
称为 数据选择器 。
控制信号输入信号输出信号数据选择器类似一个多投开关。选择哪一路信号由相应的一组控制信号控制。
A0 A1
D3
D2
D1
D0
W
96
一位数据选择器,从 n个一位数据中选择一个数据。
m位数据选择器,从 n个 m位数据中选择一个数据。
W3
X3
Y3
W3
X2
Y2
W3
X1
Y1
W3
X0
Y0
A 控制信号四二选一选择器
n=2,m=4
97
四选一集成数据选择器 74LS153
输入 输出
A
1
A
0
W
1 0
0 0 0 D
0
0 1 0 D
1
1 0 0 D
2
1 1 0 D
3
E
功能表 控制端
,为 或,低电平有效。E E1 E2
选择端 A1 A0,为两个 4选 1数据选择器共用。
其中
98
例,用一片 74LS153组成 8选 1,A2=0:(1)工作;
A2=1:(2)工作。
D1 D7D0 D2 D3 D4 D5 D6
Y
1D0E1
Y1 Y2
1D11D2 1D3 2D0E2 2D12D22D3
74LS153(1) (2)B
A
A2
(低位)
(高位)
A0
A1
选择信号
(三位) 1
99
用数据选择器设计逻辑电路输入 输出
A
1
A
0
W
1 0
0 0 0 D
0
0 1 0 D
1
1 0 0 D
2
1 1 0 D
3
E
四选一选择器功能表时:0E?
类似三变量函数的表达式!
)()()()( 013102011010 AADAADAADAADW
100
例 1,利用四选一选择器实现如下逻辑函数。
AGGARGARGARY
与四选一选择器输出的逻辑式比较
)()()()( 013102011010 AADAADAADAADW
可以令:
0AA?1AG?
RDD 10
RD 2?
变换
)()()( GA1)AG(RAGRAGRY
1D3?
101
接线图
D0 D1 D2 D3
A0
A1
WA
G
R
Y
“1”
74LS153
102
例 2,利用八选一数据选择器实现逻辑函数
ABCBABCAL