4常用组合逻辑功能器件 4.1编码器 编码:在数字系统里,把某一信号输入变换为某一特定的代码输出,可能是8421码、格雷 码等,但每组代码具有某一特定的含义,就是编码 编码器:具有编码功能的逻辑电路。编码器有若干个输入端,在某一时刻只有一个输入信号 被转换为二进制码 4.1.1编码器的定义与功能 1.4线一2线编码器 4线-2线编码器的功能表如下 表4.1.1 入 输出 Io 0100 000 010 功能表中是输入高电平有效。 由功能表可以得到下面的逻辑表达式 见书上126页 由逻辑表达式可以画出逻辑图 图4.1.1显示 l1 3 1为1时,输出1Y0是01,其它的输入取0动态 这个逻辑电路就可以实现表4.1.1的功能
4 常用组合逻辑功能器件 4.1 编码器 编码:在数字系统里,把某一信号输入变换为某一特定的代码输出,可能是 8421 码、格雷 码等,但每组代码具有某一特定的含义,就是编码 编码器:具有编码功能的逻辑电路。编码器有若干个输入端,在某一时刻只有一个输入信号 被转换为二进制码。 4.1.1 编码器的定义与功能 1. 4 线-2 线编码器 4 线-2 线编码器的功能表如下 表 4.1.1 功能表中是输入高电平有效。 由功能表可以得到下面的逻辑表达式: 见书上 126 页 由逻辑表达式可以画出逻辑图 图 4.1.1 显示 1 I 为 1 时,输出 Y1Y0 是 01,其它的输入取 0 动态 这个逻辑电路就可以实现表 4.1.1 的功能
例如当l1为1时,H0是01。即对应输入l0--3某一个是1时,输出H即为相对应 的代码 说明:编码器也可以设计成低电平有效。 2.键盘输入8421BCD码编码器 设用S--S。来代表十个按键,每个按键对应一个十进制数,0-9。 每次按下一个键,对应有一组8421码输出,输入和输出关系如下表所示 表4.1.2 〖输出 Sg Ss S, S6 S5 S4 S3 S2 SI SoA B C D GS 111 00 11111101 00 01 111 0 1011 1101111 00000000011 000 00101 100 111110 111101 10 111 011 111 1111 1110 10101 00 GS:标志位(控制标志),GS=1,表示使用按键。 GS=0表示不使用按键 主要是用来区别不按任何键时ABCD=0000GS=0 按S0时也有ABCD=0000GS=1 输入是低电平有效 由功能表可以写出逻辑表达式 A=So +Ss B=S4+S5+S6+S7 C=S, +S,+S2+ D=S1+S3+S5+S7+S 由功能表可以画出逻辑图 图4.1.2
例如当 1 I 为 1 时, Y1Y0 是 01。即对应输入 0 3 I − −I 某一个是 1 时,输出 Y1Y0 即为相对应 的代码。 说明:编码器也可以设计成低电平有效。 2. 键盘输入 8421BCD 码编码器 设用 S0 − −S9 来代表十个按键,每个按键对应一个十进制数,0—9。 每次按下一个键,对应有一组 8421 码输出,输入和输出关系如下表所示 表 4.1.2 GS :标志位(控制标志), GS =1,表示使用按键。 GS =0 表示不使用按键。 主要是用来区别 不按任何键时 ABCD=0000 GS =0 按 0 S 时也有 ABCD=0000 但 GS =1 输入是低电平有效 由功能表可以 写出逻辑表达式 A = S9 + S8 B = S4 + S5 + S6 + S7 C = S2 + S3 + S6 + S7 D = S1 + S3 + S5 + S7 + S9 由功能表可以画出逻辑图 图 4.1.2
显示A、B、C、D中有一个是高电平,或非门的输出,或非门的输出GS就是高电平, ABCD=0000(GS=0)。 由图可以看出A、B、C、D中只要有一个是高电平,或非门的输出就是低电平,与非门 的输出GS就是高电平,可以用来区别不按任何键时ABCD=0000(G=0)和按S0时 也有ABCD=0000(GS=1) 3.优先编码器 上面的编码器每次只允许一个输入端上有信号,而在实际中还常常出现多个输入端上同 时有信号的情况。比如,计算机有许多的输入设备,在某一时刻可能有多台设备同时向 主机发出中断请求,希望输入数据,这就要求主机能自动识别这些请求信号的优先级别, 按顺序进行编码,这时候就需要优先编码器 4线一2线优先编码器的功能表如下 表4.1.3 输 入 输出 0 0 010 输入是高电平有效,由功能表可以看出: 对于I0,只有当l1、l2、I3均为0(无效电平)0=1(有效电平,输出为0 对于3,无论其它的3个输入是否是有效电平,只要l3有效,则输出为1。 也就是说3的有效级最高,l0最低
显示 A、B、C、D 中有一个是高电平,或非门的输出,或非门的输出 GS 就是高电平, ABCD=0000 ( GS =0)。 由图可以看出 A、B、C、D 中只要有一个是高电平,或非门的输出就是低电平,与非门 的输出 GS 就是高电平,可以用来区别不按任何键时 ABCD=0000 ( GS =0)和按 0 S 时 也有 ABCD=0000 ( GS =1) 3. 优先编码器 上面的编码器每次只允许一个输入端上有信号,而在实际中还常常出现多个输入端上同 时有信号的情况。比如,计算机有许多的输入设备,在某一时刻可能有多台设备同时向 主机发出中断请求,希望输入数据,这就要求主机能自动识别这些请求信号的优先级别, 按顺序进行编码,这时候就需要优先编码器。 4 线-2 线优先编码器的功能表如下 表 4.1.3 输入是高电平有效,由功能表可以看出: 对于 0 I ,只有当 1 I 、 2 I 、 3 I 均为 0(无效电平) 0 I =1(有效电平),输出为 0. 对于 3 I ,无论其它的 3 个输入是否是有效电平,只要 3 I 有效,则输出为 1。 也就是说 3 I 的有效级最高, 0 I 最低
由功能表可以写出逻辑表达式为 1=12l3+l3 =l12l3+l3 根据上面的表达式就可以画出逻辑电路图 4.1.2集成电路编码器 1.8线一3线优先编码器74148 它的功能表如下 表4.14 入 输出 E01234567 A2 A, Ao GS EO H××××××× HHHH H L H HHHHHHHH HHH L ×××x× LLL H L×××××xLH LLHL H × XX XLHHL H LL H L××××LHHH LHHL H X XXLHHHHH LL LH L X XLHHHHHH L H H L X L HHHHHHH H LL H 输入是低电平有效,输出用反码表示 说明:(1)8个信号输入端,3个二进制码输出端。另外还有输入使能端EⅠ,输出使能 端EO,工作状态标志GS (2)EI=0时,电路工作。 E=1时,电路不工作,输出A2AA=111EO=1GS=1。 (3)EⅠ=0,且输入有信号时, GS=0 EI=0,无输入信号时, GS=1。 这样输入端0有信号时,输出A2A140=111GS=0。 无输入信号时,输出A2AA4=111 GS=l 也就是说根据GS就可以判断,A2A1A0=111是否是有效编码。 (4)EO只有在EI=0,且所有的输入端都为1时,才为0,其它情况下为1 它主要是用于级连,即用多个优先编码器构成有更多输入端的编码器。 (5)由功能表可以看出,电路的优先级别次序是7、6、5.0,7的优先级别最高,0 最低
由功能表可以写出逻辑表达式为: 1 2 3 3 Y = I I + I 0 1 2 3 3 Y = I I I + I 根据上面的表达式就可以画出逻辑电路图 4.1.2 集成电路编码器 1. 8 线-3 线优先编码器 74148 它的功能表如下 表 4.1.4 输入是低电平有效,输出用反码表示。 说明: (1)8 个信号输入端,3 个二进制码输出端。另外还有输入使能端 EI ,输出使能 端 EO ,工作状态标志 GS 。 (2) EI =0 时,电路工作。 EI =1 时,电路不工作,输出 A2A1A0 =111 EO =1 GS =1。 (3) EI =0,且输入有信号时, GS =0 EI =0,无输入信号时, GS =1。 这样输入端 0 有信号时,输出 A2A1A0 =111 GS =0。 无输入信号时,输出 A2A1A0 =111 GS =1。 也就是说根据 GS 就可以判断, A2A1A0 =111 是否是有效编码。 (4) EO 只有在 EI =0,且所有的输入端都为 1 时,才为 0,其它情况下为 1, 它主要是用于级连,即用多个优先编码器构成有更多输入端的编码器。 (5)由功能表可以看出,电路的优先级别次序是 7、6、5…0,7 的优先级别最高,0 最低
根据功能表可以写出来逻辑表达式 见书上(写出EO、GS、A2、A1、A 应用 例用两片74148组成16位输入、4位二进制码输出的优先编码器,逻辑图如下所示,分 析电路的工作原理 图4.14 10 213I4 I5 I6 I, IgIgl10 12 131415 EO 74148(1) 74148(Ⅱ) & 解:(1)当E2=1时,EO2=0,使El1=1,两个74148均禁止编码,它们的输出 A2A46=111,由电路知,GS=GSGS2=1,所以这时电路的代码输出DBCA=1l是 无效编码输出。 (2)当E/2=0时,高位片允许编码,当l15--ls无编码请求时,EO2=0,使El1=0 允许低位片编码,因为高位片的A2A1A0=11l,使门C、B、A打开,它们的输出取决于 低位片的A2A14,而D=GS2,总是等于1,所以输出代码在11-1000之间变化。如果 o单独有效,输出为1111如果I7和任意其它输入同上优先,则输出为1000,低位片以l 的优先级最高。 (3)当El2=0且I15--l中有编码请求(至少有一个是低电平)时,EO2=1,使 EI=1,高位片编码,低位片禁止编码。高位片的编码级别高于低位片。这时D=GS 0,门C、B、A的输出取决于高位片的A2A1A0,电路的输出代码在0111-0000之间变化 高位片中l15的优先级别最高 总结:电路实现了16位输入的优先编码,5具有最高的优先级
根据功能表可以写出来逻辑表达式 见书上(写出 EO、GS 、 A2、 A1、 A0 ) 应用 例 用两片 74148 组成 16 位输入、4 位二进制码输出的优先编码器,逻辑图如下所示,分 析电路的工作原理 图 4.1.4 解:(1) 当 EI 2 =1 时, EO2 = 0 , 使 EI1 =1 ,两个 74148 均禁止编码,它们的输出 A2A1A0 =111 ,由电路知, GS =GS1 GS2 =1,所以这时电路的代码输出 DBCA=1111 是 无效编码输出。 (2)当 EI2 = 0 时,高位片允许编码,当 15 8 I − −I 无编码请求时,EO2 = 0 ,使 EI1 = 0, 允许低位片编码,因为高位片的 A2A1A0 =111 ,使门 C、B、A 打开,它们的输出取决于 低位片的 A2A1A0 ,而 D=GS2 ,总是等于 1,所以输出代码在 1111-1000 之间变化。如果 0 I 单独有效,输出为 1111;如果 7 I 和任意其它输入同上优先,则输出为 1000,低位片以 7 I 的优先级最高。 (3)当 EI2 = 0 且 15 8 I − −I 中有编码请求(至少有一个是低电平)时, EO2 =1 ,使 EI1 =1 ,高位片编码,低位片禁止编码。高位片的编码级别高于低位片。这时 D=GS2 = 0,门 C、B、A 的输出取决于高位片的 A2A1A0 ,电路的输出代码在 0111-0000 之间变化, 高位片中 15 I 的优先级别最高。 总结:电路实现了 16 位输入的优先编码, 15 I 具有最高的优先级