第四章组合逻辑模块及其应用 上一章介绍了组合逻辑电路的分析与设计方法。随着微电子技术的发展,现在许多常用 的组合逻辑电路都有现成的集成模块,不需要我们用门电路设计。本章将介绍编码器、译码 器、数据选择器、数值比较器、加法器等常用组合逻辑集成器件,重点分析这些器件的逻辑 功能、实现原理及应用方法。 4.1编码器 编码器的基本概念及工作原理 编码——将字母、数字、符号等信息编成一组二进制代码 例:键控8421BCD码编码器 左端的十个按键So~S代表输入的十个十进制数符号0~9,输入为低电平有效,即某 按键按下,对应的输入信号为0。输出对应的8421码,为4位码,所以有4个输出端A、B、C、 D cc 图4L.1键控8421BCD码编码器 由真值表写出各输出的逻辑表达式为 SRS
第四章 组合逻辑模块及其应用 上一章介绍了组合逻辑电路的分析与设计方法。随着微电子技术的发展,现在许多常用 的组合逻辑电路都有现成的集成模块,不需要我们用门电路设计。本章将介绍编码器、译码 器、数据选择器、数值比较器、加法器等常用组合逻辑集成器件,重点分析这些器件的逻辑 功能、实现原理及应用方法。 4.1 编码器 一. 编码器的基本概念及工作原理 编码——将字母、数字、符号等信息编成一组二进制代码。 例:键控8421BCD码编码器。 左端的十个按键S0~S9代表输入的十个十进制数符号0~9,输入为低电平有效,即某一 按键按下,对应的输入信号为0。输出对应的8421码,为4位码,所以有4个输出端A、B、C、 D。 S S S S S S S S S S 0 1 2 3 4 5 6 7 8 9 A B C D G S & & & & & ≥1 VCC 1kΩ×10 图4.1.1 键控8421BCD码编码器 由真值表写出各输出的逻辑表达式为: A = S8 + S9 = S8 S9
B=S+S+S+S,=SSSSS, C=S, +s,+s+S,=Ss,Ss D=S,+S,+Ss+S,+S,=SSSsS,so 表4.11键控8421BCD码编码器真值表 S11111 0000 B00 011 01 101 00000 0 10001 01 11 111 100 画出逻辑图,如图4.1.1所示 其中GS为控制使能标志,当按下So~S任意一个键时,GS=1,表示有信号输入;当So~ S9均没按下时,GS=0,表示没有信号输入,此时的输出代码0000为无效代码 进制编码器 用n位二进制代码对2个信号进行编码的电路称为二进制编码器。 3位二进制编码器有8个输入端3个输出端,所以常称为8线一3线编码器,其功能真值表 见表41.2,输入为高电平有效 表412编码器真值表 lo 11 12 13 14 Is 16 17 A2 A1 Ao 0100 0 0 0 0000000 0000 0 01 000 0 00010000 00001000 00000010 10 0
B = S4 + S5 + S6 + S7 = S4 S5 S6 S7 C = S2 + S3 + S6 + S7 = S2 S3 S6 S7 D = S1 + S3 + S5 + S7 + S9 = S1S3 S5 S7 S9 表4.1.1 键控8421BCD码编码器真值表 输 入 输 出 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0 A B C D GS 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 画出逻辑图,如图4.1.1所示。 其中GS为控制使能标志,当按下S0~S9任意一个键时,GS=1,表示有信号输入;当S0~ S9均没按下时,GS=0,表示没有信号输入,此时的输出代码0000为无效代码。 二. 二进制编码器 用n位二进制代码对2 n个信号进行编码的电路称为二进制编码器。 3位二进制编码器有8个输入端3个输出端,所以常称为8线—3线编码器,其功能真值表 见表4.1.2,输入为高电平有效。 表4.1.2 编码器真值表 输 入 输 出 I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
由真值表写出各输出的逻辑表达式为 A2=ll561 A1=l2l3l61 A=1131S17 用门电路实现逻辑电路 品 I6 Is I4 I3 I2 I1 Io 图41.23位二进制编码器 三.优先编码器 优先编码器——允许同时输入两个以上的编码信号,编码器给所有的输入信号规定了 优先顺序,当多个输入信号同时出现时,只对其中优先级最高的—一个进行编码。 74148是一种常用的8线-3线优先编码器。其功能如表4.1.3所示,其中l~l1为编码输入 端,低电平有效。A~A2为编码输出端,也为低电平有效,即反码输出。其他功能: (1)E为使能输入端,低电平有效。 (2)优先顺序为→10,即l的优先级最高,然后是6、l5、…、b。 (3)GS为编码器的工作标志,低电平有效。 (4)EO为使能输出端,高电平有效 表4.1374148优先编码器真值表 1 I2 13 14 Is 16 17 A2 A A o GS EO ×X×XxXx 0×××××××0 00001 X××x0 0 0110 001 XXX 0 001 0×0 111 l1111l 1001
由真值表写出各输出的逻辑表达式为: 2 4 5 6 7 A = I I I I 1 2 3 6 7 A = I I I I 0 1 3 5 7 A = I I I I 用门电路实现逻辑电路。 A & 1 & & A 2 A 0 1 I 3 I 1 I I 1 1 7 1 I 4 1 I 1 6 I 2 0 I 5 1 1 图4.1.2 3位二进制编码器 三. 优先编码器 优先编码器——允许同时输入两个以上的编码信号,编码器给所有的输入信号规定了 优先顺序,当多个输入信号同时出现时,只对其中优先级最高的一个进行编码。 74148是一种常用的8线-3线优先编码器。其功能如表4.1.3 所示,其中I0~I7为编码输入 端,低电平有效。A0~A2为编码输出端,也为低电平有效,即反码输出。其他功能: (1)EI为使能输入端,低电平有效。 (2)优先顺序为I7→I0,即I7的优先级最高,然后是I6、I5、…、I0。 (3)GS为编码器的工作标志,低电平有效。 (4)EO为使能输出端,高电平有效。 表4.1.3 74148优先编码器真值表 输 入 输 出 EI I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 GS EO 1 × × × × × × × × 0 1 1 1 1 1 1 1 1 0 × × × × × × × 0 0 × × × × × × 0 1 0 × × × × × 0 1 1 0 × × × × 0 1 1 1 0 × × × 0 1 1 1 1 0 × × 0 1 1 1 1 1 0 × 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1
其逻辑图如图所示 L& 11213 4 l5 I6 17 图41374148优先编码器的逻辑图 四.编码器的应用 1.编码器的扩展 集成编码器的输入输出端的数目都是一定的,利用编码器的输入使能端EⅠ、输岀使能端 EO和优先编码工作标志GS,可以扩展编码器的输入输出端 图414所示为用两片74148优先编码器串行扩展实现的16线—4线优先编码器 74148(2) 74148(1) 176I5I4327110 X5x4x13x12与110xk gks xx % x k 图414串行扩展实现的16线—4线优先编码器 它共有16个编码输入端,用X0~X15表示;有4个编码输出端,用Yo~Y3表示。片1为低位 片,其输入端lo~b作为总输入端Ⅺo~X;片2为高位片,其输入端l~l作为总输入端Xs X15。两片的输出端Ao、A1、A2分别相与,作为总输出端Y0、Y1、Y2,片2的GS端作为总输出 端3。片l的输出使能端EO作为电路总的输出使能端;片2的输入使能端E/作为电路总的输 入使能端,在本电路中接0,处于允许编码状态。片2的输出使能端EO接片的输入使能端E′, 控制片1工作。两片的工作标志GS相与,作为总的工作标志GS端 电路的工作原理为:当片2的输入端没有信号输入,即X8~X15全为1时,GS2=1(即Y3=1)
其逻辑图如图所示。 7 I I EI 1 I 2 I 3 4 5 I 6 I I A0 1 A 2 A EO G S 0 I 1 1 1 1 1 1 1 1 1 1 1 1 ≥1 ≥1 ≥1 ≥1 & & & & (a) 图4.1.3 74148优先编码器的逻辑图 四. 编码器的应用 1.编码器的扩展 集成编码器的输入输出端的数目都是一定的,利用编码器的输入使能端EI、输出使能端 EO和优先编码工作标志GS,可以扩展编码器的输入输出端。 图4.1.4所示为用两片74148优先编码器串行扩展实现的16线—4线优先编码器。 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I A2 A1 A G S 0 EI 74148(2) EO I 1 0 I 2 I I 3 I 4 I 6 5 I 7 I A2 1 A 0 G S A EI 74148(1) EO 1 X 2 X X6 5 0X 7 X X 3 X X 4 X 1 5 1 4 9 X 1 3 8 X X 1 0 X X 1 2 1 1 X X G S Y0 Y Y3 Y2 1 EO EI 0 & & & & 图4.1.4 串行扩展实现的16线—4线优先编码器 它共有16个编码输入端,用X0~X15表示;有4个编码输出端,用Y0~Y3表示。片1为低位 片,其输入端I0~I7作为总输入端X0~X7;片2为高位片,其输入端I0~I7作为总输入端X8~ X15。两片的输出端A0、A1、A2分别相与,作为总输出端Y0、Y1、Y2,片2的GS端作为总输出 端Y3。片1的输出使能端EO作为电路总的输出使能端;片2的输入使能端EI作为电路总的输 入使能端,在本电路中接0,处于允许编码状态。片2的输出使能端EO接片的输入使能端EI, 控制片1工作。两片的工作标志GS相与,作为总的工作标志GS端。 电路的工作原理为:当片2的输入端没有信号输入,即X8~X15全为1时,GS2=1(即Y3=1)
EO2=0(即Eh1=0),片1处于允许编码状态。设此时X=0,则片1的输出为A2414=010,由于 片2输出A2A1A0=111,所以总输出Y32Y1YG=1010。 当片2有信号输入,EO2=1(即E1=1),片1处于禁止编码状态。设此时X12=0(即片2的 4=0),则片2的输出为A2A1A0=011,且GS=0。由于片1输出A2A1A0=111,所以总输出 Y3Y2Y1Y0=001l 2.组成8421BCD编码器 图41.5所示是用74148和门电路组成的8421BCD编码器,输入仍为低电平有效,输出为 8421DCD码。工作原理为 当l、l无输入(即l、均为高平)时,与非门G4的输出Y3=0,同时使74148的E/=0,允 许74148工作,74148对输入l~l1进行编码。如l5=0,则A2AA=010,经门G1、G2、G3处理后 Y2YYa=101,所以总输出YY2HY=0101。这正好是5的842BCD码。 当l或l有输入(低电平)时,与非门G4的输出Y3=1,同时使74148的E/=1,禁止74148 工作,使A2A1Ao=11如果此时l=0,总输出Y3Y2Y1Y=1001。如果k=0,总输出YY2Y1Y=1000。 正好是9和8的842BCD码。 74148 EO &1l61514l3121 lg 8 7165 I4 I3 12I1Io 图41.574148组成8421BCD编码器 4.2译码器 译码器的基本概念及工作原理 译码器——将输入代码转换成特定的输出信号。 假设译码器有n个输入信号和N个输出信号,如果№=2″,就称为全译码器,常见的全译 码器有2线一4线译码器、3线一8线译码器、4线一16线译码器等。如果N<2″,称为部分译 器,如二一十进制译码器(也称作4线一10线译码器)等。 下面以2线一4线译码器为例说明译码器的工作原理和电路结构。 2线—4线译码器的功能如表42.1所示 表4212线-4线译码器功能表 A B
EO2=0(即EI1=0),片1处于允许编码状态。设此时X5=0,则片1的输出为A2A1A0=010,由于 片2输出A2A1A0=111,所以总输出Y3Y2Y1Y0=1010。 当片2有信号输入,EO2=1(即EI1=1),片1处于禁止编码状态。设此时X12=0(即片2的 I4=0),则片2的输出为A2A1A0=011,且GS2=0。由于片1输出A2A1A0=111,所以总输出 Y3Y2Y1Y0=0011。 2.组成8421BCD 编码器 图4.1.5所示是用74148和门电路组成的8421BCD编码器,输入仍为低电平有效,输出为 8421DCD码。工作原理为: 当I9、I8无输入(即I9、I8均为高平)时,与非门G4的输出Y3=0,同时使74148的EI=0,允 许74148工作,74148对输入I0~I7进行编码。如I5=0,则A2A1A0=010,经门G1、G2、G3处理后, Y2Y1Y0=101,所以总输出Y3Y2Y1Y0=0101。这正好是5的842lBCD码。 当I9或I8有输入(低电平)时,与非门G4的输出Y3=1,同时使74148的EI=1,禁止74148 工作,使A2A1A0=111。如果此时I9=0,总输出Y3Y2Y1Y0=1001。如果I8=0,总输出Y3Y2Y1Y0=1000。 正好是9和8的842lBCD码。 7 2 I 0 I 1 A 6 I 5 I 4 I I 3 I 0 I 74148 A EI EO GS 2 1 A I I 7 5 4 I 6 2 1 I I I 3 0 I I 1 1 I 9 8 I Y0 Y Y2 1 Y3 & & G G G G 1 2 3 4 图4.1.5 74148组成8421BCD编码器 4.2 译码器 一. 译码器的基本概念及工作原理 译码器——将输入代码转换成特定的输出信号。 假设译码器有n个输入信号和N个输出信号,如果N=2n ,就称为全译码器,常见的全译 码器有2线—4线译码器、3线—8线译码器、4线—16线译码器等。如果N<2 n ,称为部分译 码器,如二一十进制译码器(也称作4线—10线译码器)等。 下面以2线—4线译码器为例说明译码器的工作原理和电路结构。 2线—4线译码器的功能如表4.2.1 所示。 表4.2.1 2线—4线译码器功能表 输 入 输 出 EI A B Y0 Y1 Y2 Y3