6.1概述 组合逻辑电路:在任何时刻的输出状态只取决于这一时刻的输入状态,而与电路的 原来状态无关的电路。 生活中组合电路的实例(电子密码锁,银行取款机等) 电路结构:由逻辑门电路组成 电路特点:没有记忆单元,没有从输出反馈到输入的回路。 说明:本节讨论的是SSI电路的分析和设计方法。 6.2.1组合逻辑电路的分析方法 提问:1.描述组合逻辑电路逻辑功能的方法主要有? (逻辑表达式、真值表、卡诺图和逻辑图等。) 2.各种表示法之间的相互转换? 组合逻辑电路的分析与设计相当于是各种表示法之间的相互转换 基本分析方法 分析:给定逻辑电路→逻辑功能。 步骤 1.给定逻辑电路→输出逻辑函数式 般从输入端向输岀端逐级写岀各个门输岀对其输入的逻辑表达式,从而写岀整个 逻辑电路的输岀对输入变量的逻辑函数式。必要时,可进行化简,求岀最简输出逻 辑函数式 2.列真值表 将输入变量的状态以自然二进制数顺序的各种取值组合代入输出逻辑函数式,求出 相应的输岀状态,并填入表中,即得真值表。 3.分析逻辑功能 通常通过分析真值表的特点来说明电路的逻辑功能
分析举例 [例6.2.1]分析图6.2.1所示逻辑电路的功能。 解:分析步骤 (1)输出逻辑函数表达式(逐级写,并且变成便于写真值表的形式) Y1=A④B Y=YC =AEB④C ABC+ABC+ABC +ABC (6.2.1) (2)列真值表。将A、B、C各种取值组合代入式中,可列出真值表 A0000 011 0 001 Y0110100 (3)逻辑功能分析。 由真值表可看出:在输入A、B、C三个变量中,有奇数个1时,输出Y为1,否则 Y为0,因此,图6.2.1所示电路为三位判奇电路,又称为奇校验电路。 [例6.2.2]分析图6.2.2所示电路的逻辑功能,并指出该电路设计是否合理 解:分析步骤 (1)输出逻辑函数表达式
Y1=A田B Y2=B+C Y3=Y.C=(AOB (AB)·A Ys=A+B+C Y=Y3+Y4+Ys=(A6B)·C+B+c·A+A+B+C 化简 Y=C(AE+AB)十AB2十AE2 -ABC+ ABC+ABC+ABC (2)真值表。 入输出 0 011001 0 0 0 (3)逻辑功能分析。由表6.2.2可看出,图6.2.2所示电路的A、B、C三个输入 中有偶数个1时,输出Y为1,否则Y为0。因此,图6.2.2所示电路为三位判偶 电路,又称偶校验电路。 (4)改进:这个电路使用门的数量太多,设计并不合理,可用较少的门电路来实 现 变换表达式
y=ABC+ABC+ABc+AB己 (AE十AB)C+(AB+A)2 (A出B)C+AE区 可用异或门和同或门实现,电路如图6.2.3所示。 归纳总结:1各步骤间不一定每步都要,如: 省略化简(本已经成为最简) 由表达式直接概述功能,不一定列真值表。 2不是每个电路均可用简炼的文字来描述其功能。如Y=AB+CD 6.2.2组合逻辑电路的设计方法 、基本设计方法 设计:设计要求→逻辑图 步骤(与分析相反) 1.分析设计要求→列真值表 根据题意设输入变量和输出函数并逻辑赋值,确定它们相互间的关系 然后将输入变量以自然二进制数顺序的各种取值组合排列,列出真值表 2.根据真值表→写出输出逻辑函数表达式 3.对输出逻辑函数进行化简 代数法或卡诺图法 4.根据最简输岀逻辑函数式→画逻辑图 最简与一或表达式、与非表达式、或非表达式、与或非表达式、其它表达式 二、设计举例 1.单输出组合逻辑电路的设计 [例6.2.3]设计一个A、B、C三人表决电路。当表决某个提案时,多数人同意, 提案通过,同时A具有否决权。用与非门实现。 解:设计步骤
(1)真值表 设A、B、C三个人,表决同意用1表示,不同意时用0表示 Y为表决结果,提案通过用1表示,通不过用0表示 同时还应考虑A具有否决权 0 000 C0101010 Y000001 (2)用图624所示的卡诺图进行化简,得 Y=AC+AB 变换成与非表达式 6.24)(3)画逻辑图,如图 6.2.5所示 2.多输出组合逻辑电路的设计 [例6.2.4]设计一个将余3码变换为8421BCD码的组合逻辑电路。 解:设计步骤 (1)真值表 输入:余3码,用A3、A2、A1和A0表示, 输出:842BCD码,用Y3、Y2、Y1和Y0表示 余3码有六个状态不用,不会出现,作任意项处理 (2)卡诺图化简。见教材中图6.2.6 应画四张卡诺图分别求出Y3、Y2、Y1和Y0的最简输出逻辑函数。 含有最小项的方格填1,没有最小项的方格填0,任意项的方格填 由卡诺图可写出Yo、Y1、Y2和Y3的最简逻辑函数
Y1=A1A0+AA=由 A0+A21A0+4A0=A20·F2A1A0A2A1A0 Y3=A3A2+与1A0=82A2·A2A (3)画逻辑图。图6.2.7所示。 将余3码变换为8421BCD码的真值表 顺 鸟 z1 0.000 0110011 101010101001010 询300000000 0 10000100011 0.0011110 0011001100 101010 伪 000 码 00101 不使用码
6.3.3优先编码器 定义 MSI器件:二一十进制优先编码器CT74LS147 真值表 2.逻辑功能分析 编码:用代码表示特定对象的过程。例:商品条形码、键盘编码器 编码器:实现编码的逻辑电路。 二进制编码原则:用n位二进制代码可以表示2个信号 则,对N个信号编码时,应由2”来确定编码位数n 提问:101键盘编码需要几位二进制代码? 6.3.1二进制编码器 二进制编码器:用n位二进制代码对2个信号进行编码的电路。 二、电路图:所下图所示为3位二进制编码器。 输入:I0~17为8个需要编码的信号 输出:Y2、Ⅵ、Y0为三位二进制代码 由于该编码器有8个输入端,3个输出端,故称8线一3线编码器
图6.3.13位二进制编码器 三、输出逻辑函数 Y1=12·2·· 提问:为什么10未画在图中,且未出现在表达式中? 或者:一般编码器输入的编码信号为什么是相互排压的? 编码器在任何时刻只能对一个输入信号进行编码,不允许有两个或两个以上的输入 信号同时请求编码,否则输出编码会发生混乱。这就是说,10、I1……I7这8个 编码信号是相互排斥的。在∏1~I7为0时,输出就是的编码,故未画。 四、真值表
10000000 01000000 200100000 00010000 000010 500000100 .0000010 000 00001 01100 0 五、分析 输入信号为高电平有效(有效:表示有编码请求) 输出代码编为原码(对应自然二进制数) 6.3.2二一十进制编码器 提问:为什么要用二一十进制编码器? 人们习惯用十进制,而数字电路只识别二进制,则需要相互转换。 例如:键盘编码器 二一十进制编码器:将0~9十个十进制数转换为二进制代码的电路。 、逻辑电路图 需要编码的10个输入信号:I0~19 输出4位二进制代码:Y3、Y2、Y1、Y0 Y3 Y1 Yo 中中中中中 I9 Ie It 图6.3.26421Bc码编码器
三、输出逻辑函数 Y0=1·13+1l2+l (6.32) Y3=h· 四、真值表。 输 12YYo 00 0 00 010 000000 000000 0001000000 0000100000 30000010000 000000100 0000000100 000000 0000 0010 000000 Y0000000011 1100 00 五、分析 当编码器某一个输入信号为1而其它输入信号都为0时,则有一组对应的数码输出, 如17=1时,1HH=01.输出数码各位的权从高位到纸位分别为8、4、2、 1。因此,图6.3.2所示电路为8421BCD码编码器。出表6.3.2可看出,该编码器 输入10~19这10个编妈信号也是相互排压的 6.3.3优先编码器 提问:若多个信号同时有效,以上编码器能否正常工作?如何克服? 优先编码器:允许同时输入数个编码信号,而电路只对其中优先级别最高的信 号进行编码 优先级别高的编码器信号排斥级别低的。 优先权的顺序完全是根据实际需要来确定的