数电 第四章 组合逻辑电路
第四章 组合逻辑电路 4.1 概述 一、组合逻辑电路的特点 从功能上 从电路结构上 任意时刻任意时刻的输出仅的输出仅 取决于该时刻的输取决于该时刻的输 入入 不含记忆(存储不含记忆(存储 )元件)元件 二、逻辑功能的描述 组合逻辑 电路 组合逻辑电路的框图 逻辑图 逻辑表 达式 1 最简与或 表达式 化简 2 从输入到输出 逐级写出 4.2.1 组合逻辑电路的分析方法 最简与或 表达式 3 真值表 4 电路的逻 辑功能 分析图所示电路的逻辑功能,指出该电路的用途。 解:逻辑式 一、逻辑抽象 分析因果关系,确定输入/输出变量 定义逻辑状态的含意(赋值) 列出真值表 二、写出函数式 三、选定器件类型 四、根据所选器件:对逻辑式化简(用门) 五、画出逻辑电路图 六、工艺设计 4.2.2 组合逻辑电路的设计方法 设计举例: 设计一个监视交通信号灯状态的逻辑电路 如果信号灯 出现故障, Z为1 R A G Z 1. 抽象 输入变量: 红(R)、黄(A)、绿(G) 亮为1,不亮为0 输出变量: 故障信号(Z) 故障为1,正常为0 2. 写出逻辑表达式 输输入变变 量 输输 出 R AG Z 0001 0010 0100 0111 1000 1011 1101 1111 3. 选用小规模SSI器件 4. 化简 5. 画出逻辑图 4.3 若干常用组合逻辑电路 编码器,译码器,数据选择器,加法器,数值比较器 4.3.1 编码器 编码:将输入的每个高/低电平信号变成 一个对应的二进制代码 普通编码器 优先编码器 一、普通编码器 特点:任何时刻 只允许输入一个 编码信号。 例:3位二进制 普通编码器 输输 入输输 出 I0I1I2I3I4I5I6I7Y 2 Y 1 Y 0 10000000000 01000000001 00100000010 00010000011 00001000100 00000100101 00000010110 00000001111 利用无关项化简, 输输 入输输 出 I0I1I2I3I 4 I5I6I7Y 2 Y 1 Y 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 二、优先编码器 特点:允许同时 输入两个以上的 编码信号,但只 对其中优先权最 高的一个进行编 码。 例:8线-3线优 先编码器 (设I7优先权最 高I0优先权最 低) 输 入输 出 I0I1I2I3I4I5I6I7Y2Y1Y0 XXXXXXX1111 XXXXXX10110 XXXXX100101 XXXX1000100 XXX10000011 XX100000010 X1000000001 10000000000 低电 平 实例: 74HC148 选通输出端 扩展输出端 选通输 入端 选 通 信 号 选通信号 附 加 输 出 信 号 为0时,电路工作 无编码输入 为0时,电路工作 有编码输入 输 入输 出 1XXXXXXXX11111 01111111111101 0XXXXXXX000010 0XXXXXX0100110 0XXXXX01101010 0XXXX011101110 0XXX0111110010 0XX01111110110 0X011111111010 00111111111110 不可能出现00 工作,且有输入01 工作,但无输入10 不工作 11 状态 附加输出信号的状态及含意 S YEX YS 控制端扩展功能举例: 例:用两片8线-3线优先编码器 16线-4线优先编码器 其中, 的优先权最高 状态 11 不工作 01 工作,但无输输入 10 工作,且有输输入 00 不可能出现现 第一片为高优先权 只有(1)无编码输入时,(2)才允许工作 第(1)片 时表示对 的编码 低3位输出应是两片的输出的? 三、二-十进制优先编码器 将 编成0110 1110 的优先权最高, 最低 输入的低电平信号变成一个对应的十进制 的编码 4.3.2 译码器 译码:将每个输入的二进制代码译成对应的输出高、低 电平信号。 常用的有:二进制译码器,二-十进制译码器,显示译码 器等 一、二进制译码器 例:3线8线译码器 输 入输 出 A2A1A0Y7Y6Y5Y4Y3Y2Y1Y0 00000000001 00100000010 01000000100 01100001000 10000010000 10100100000 11001000000 11110000000 输 入输 出 A 2 A 1 A 0 Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0 00000000001 00100000010 01000000100 01100001000 10000010000 10100100000 11001000000 11110000000 用电路进行实现 用二极管与门阵 列组成的3线8 线译码器 集成译码器实例:74HC138 低电平 输出 附加 控制端 地 址 输 入 端 74HC138的功能表: 输输 入输输 出 S1A2A1A0 0XXXX11111111 X1XXX11111111 1000011111110 1000111111101 1001011111011 1001111110111 1010011101111 1010111011111 1011010111111 1011101111111 利用附加控制端进行扩展 例: 用74HC138(3线8线译码器 ) 4线16线译码器 D3=1 D3=0 二、二十进制译码器 将输入BCD码的10个代码译成10个高、低电平的输出信 号 BCD码以外的伪码,输出均无低电平信号产生 例:74HC42 三、用译码器设计组合逻辑电路(重点) 1. 基本原理 3位二进制译码器给出3变量的全部最小项; 。 n位二进制译码器给出n变量的全部最小项; 任意函数 将n位二进制译码输出的最小项组合起来,可 获得任何形式的输入变量不大于n的组合函数 2. 举例 例:利用74HC138设计一个多输出的组合逻辑电路,输出 逻辑函数式为: 四、显示译码器 1. 七段字符显示器 如: 2. BCD2. BCD七段字符显示译码器七段字符显示译码器(代码转换器)(代码转换器)74487448 真值表 卡诺图 圈零 求反 圈零 求反 BCD七段显示译码器7448的逻辑图 7448的附加控制信号:(1) 灯测试输入 当 时,Ya Yg全部置为1 7448的附加控制信号:(2) 灭零输入 当 时, 时,则使本来 应该显示的0熄灭 7448的附加控制信号:(3) 灭灯输入/灭零输出 输入信号,称灭灯输入控制端: 无论输入状态是什么,数码管熄灭 输出信号,称灭零输出端: 只有当输入 ,且灭零输入信号 时, 才给出低电平 因此 表示译码器将本来应该显示的零熄灭了 图2-31 CMOS模拟开关 C = 0时,TG1导通、TG2截止,uO = uI1; C = 1时,TG1截止、TG2导通,uO = uI2。 4.3.3 4.3.3 数据选择器数据选择器 ( (重点重点) ) 复 习 一、数据选择器工作原理一、数据选择器工作原理 从一组输入数据 中选出某一个来 地址输入端 附加控制端 A1A0Y2 1XX0 000D2 0 001D2 1 010D2 2 011D2 3 例:“双四选一”,74HC153 分析其中的一个“四选一” 例:用两个“四选一”接成“八选一” “四选一”只有2位地址输入,从四个输入中选中一个 “八选一”的八个数据需要3位地址代码指定其中任何一个 二、用数据选择器设计组合电路 1. 基本原理 具有n位地址输入的数据选择器,可产生任何形 式的输入变量不大于n+1的组合函数 回顾设计举例: 设计一个监视交通信号灯状态的逻辑电路 如果信号灯 出现故障, Z为1 R A G Z 1. 抽象 输入变量: 红(R)、黄(A)、绿(G) 亮为1,不亮为0 输出变量: 故障信号(Z) 故障为1,正常为0 2. 写出逻辑表达式 输输入变变 量 输输 出 R AG Z 0001 0010 0100 0111 1000 1011 1101 1111 3. 选用小规模SSI器件 4. 化简 5. 画出逻辑图 例如: 例 试用八选一的数据选择器产生三变量逻辑函数 解:8选1数据选择器有3位地址输入,能产生任 何形式的四变量以下的逻辑函数 4.3.4 加法器 一、1位加法器 1. 半加器,不考虑来自低位的进位,将两个1位 的二进制数相加 输输 入 输输 出 A BS CO 000 0 011 0 101 0 110 1 2. 全加器:将两个1位二进制数及来自低位的进 位相加 输输 入输输 出 ABCISCO 00000 00110 01010 01101 10010 10101 11001 11111 74HC18374HC183 二、多位加法器 串行进位加法器 优点:简单 缺点:慢 2. 超前进位加法器 基本原理:加到第i位 的进位输入信号是两 个加数第i位以前各位 (0 j-1)的函数, 可在相加前由A,B两数确定。 优点:快,每1位的和 及最后的进位基本同时产生。 缺点:电路复杂。 74LS28374LS283 应用:用加法器设计组合电路 基本原理: 若能生成函数可变换成输入变量与输入变量相加 若能生成函数可变换成输入变量与常量相加 例:将BCD的8421码转换为余3码 输 入输 出 DCBAY3Y2Y1Y0 00000011 00010100 00100101 00110110 01000111 01011000 01101001 01111010 10001011 10011100 4.3.5 数值比较器 用来比较两个二进制数的数值大小 一、1位数值比较器 A,B比较有三种可能结果 二、多位数值比较器 原理:从高位比起,只有高位相等,才比较下一 位。 例如: 2. 集成电路CC14585 实现4位二进制数的比较 1 例: 比较两个8位二进制数的大小 高四位 低四位 4.4 组合逻辑电路中的竞争-冒险现象 4.4.1 竞争-冒险现 象及成因 与或 二、因二、因“ “竞争竞争” ”而可能在而可能在 输出产生尖峰脉冲的现输出产生尖峰脉冲的现 象,称为象,称为“ “竞争竞争- -冒险冒险” ” 。 一、两个输入一、两个输入“ “同时向相同时向相 反的逻辑电平变化反的逻辑电平变化” ”,称,称 存在存在“ “竞争竞争” ” 2线4线译码器中的竞争-冒