项目三组合逻辑电路……抢答器编译码显示电路的设计3.1组合逻辑电路的分析和设计专题目标:了解组合电路的基本概念;掌握组合逻辑电路的分析方法;掌握组合逻辑电路的设计方法;熟悉加法器的工作原理。3.1.1组合电路概念数字电路根据逻辑功能的不同特点,可以分成两大类:一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。在逻辑电路中,任意时刻的输出状态只取决于该时刻的输入状态,而与输入信号作用之前的电路的状态无关,这种电路称为组合逻辑电路,如图所示。由图可以看出,组合逻辑电路可以有多个输入端,多个输出端。组合逻辑电路A1A2···AnY1Y2···Yn组合逻辑电路由各类最基本的的逻辑门电路组合而成。特点电路的输出值只与当时的输入值有关,没有记忆功能(即电路结构中没有存储单元),输出状态随着输入状态的变化而变化,类似于电阻性电路,如加法器、译码器、编码器、数据选择器等都属于此类。3.1.2组合逻辑电路的分析方法组合逻辑电路的分析就是根据给定的逻辑电路,通过分析找出电路的逻辑功能,或是检验所设计的电路是否能实现预定的逻辑功能,并对功能进行描述。其一般步骤为:1.根据逻辑图写出输出逻辑函数表达式;2.列出真值表;3.说明电路的逻辑功能。【例】:组合电路如图所示,分析该电路的逻辑功能。【例】:组合电路如图所示,试分析其逻辑功能。解:(1)由逻辑图写出逻辑表达式:(2)变换与化简:YABCABBABBAB(3)列真值表如下表3-2:(4)电路的逻辑功能:电路的输出Y只与输入A、B有关,而与输入C无关。Y和A、B的逻辑关系为:A、B中只要一个为0,Y=1;A、B全为1时,Y=0。所以Y和A、B的逻辑关系为与非运算的关系。3.1.3组合逻辑电路的设计方法组合逻辑电路的设计,就是根据给定的逻辑要求,求出最合理的实现该逻辑功能的逻辑图。“最合理”指的是:以电路简单、所用器件个数最少,而且连线最少为目标,即逻辑函数式中的乘积项的个数最少,且乘积项中变量的个数也最少。设计组合逻辑电路的一般步骤大致如下:1.根据对电路逻辑功能的要求,列出真值表;2.由真值表写出逻辑表达式;3.简化和变换逻辑表达式,从而画出逻辑图。【例】设计一个三人表决电路,结果按“少数服从多数”的原则决定。解:(1)根据设计要求建立该逻辑函数的真值表。设三人的意见为变量A、B、C,表决结果为函数L。对变量及函数进行如下状态赋值:对于变量A、B、C,设同意为逻辑“1”;不同意为逻辑“0”。对于函数L,设事情通过为逻辑“1”;没通过为逻辑“0”。列出真值表如下表3-3所示。(2)由真值表写出逻辑表达式该逻辑式不是最简。(3)化简由于卡诺图化简法较方便,故一般用卡诺图进行化简。将该逻辑函数填入卡诺图如图3-6所示。合并最小项,得最简与—或表达式:ABCCABCBABCALACBCABLABC0001111000001010101001图3-6三人表决电路表达式卡诺图化简(4)画出逻辑图如图3-7(a)所示。如果要求用与非门实现该逻辑电路,就应将表达式转换成与非—与非表达式:画出逻辑图如图3-7(b)所示。ACBCABACBCABL【例】用于非门设计一个楼上、楼下开关的控制逻辑电路来控制楼梯上的路灯,使之在上楼前,用楼下开关打开电灯,上楼后,用楼上开关关灭电灯;或者在下楼前,用楼上开关打开电灯,下楼后,用楼下开关关灭电灯。解:(1)列真值表:设楼上开关为A,楼下开关为B,灯泡为Y。并设A、B闭合时为1,断开时为0;灯亮时Y为1,灯灭时Y为0。根据逻辑要求列出真值表3-4。(2)由真值表写出逻辑表达式:(3)变换:(4)画出逻辑图如下图3-8所示。此设计也可由异或门实现如下图3-9所示:YABABYABABYAB【例】设计一个电话机信号控制电路。电路有I0(火警)、I1(盗警)和I2(日常业务)三种输入信号,通过排队电路分别从L0、L1、L2输出,在同一时间只能有一个信号通过。如果同时有两个以上信号出现时,应首先接通火警信号,其次为盗警信号,最后是日常业务信号。试按照上述轻重缓急设计该信号控制电路。要求用与非门实现。解:(1)列真值表,如表3-5所示:对于输入,设有信号为逻辑“1”;没信号为逻辑“0”。对于输出,设允许通过为逻辑“1”;不设允许通过为逻辑“0”。(2)由真值表写出各输出的逻辑表达式:这三个表达式已经是最简,不需化简。但需要用同时非门和与门实现,且L2需用三输入端与门才能实现,故不符合设计要求。(3)根据要求,将上式转换为与非表达式:(4)画出逻辑图如图3-10所示。可见,在实际设计逻辑电路时,有时并不是表达式最简单,就能满足设计要求,还应考虑所使用集成器件的种类,将表达式转换为能用所要求的集成器件实现的形式,并尽量使所用集成器件最少,就是设计步骤框图中所说的“最合理表达式”。3.2常用的组合逻辑电路3.2.1编码器广义上讲,编码就是用文字、数码或者符号表示特定的对象。例如,为街道命名,给学生编学号,写莫尔斯电码等,都是编码。但本章所讨论的编码是指以二进制码来表示给定的数字、字符或信息。能够完成编码工作的器件称为编码器(Encoder)。它是一种多输入,多数出的组合逻辑电路。例如计算器上的键盘编码器,按下一个按键,编码器将该键产生的信号编成相应的数码送入机器中,以便进行处理。在数字系统中广泛使用的是二进制编码器。1.二进制编码器能够将各种输入信息编成二进制代码的电路称为二进制编码器。由于n位二进制代码可以表示2n种不同的状态,所以,2n个输入信号只需要n个输出就可以完成编码工作。由于编码器是一种多输人、多输出的组合逻辑电路,一般在任意时刻编码器只能有一个输入端有效(存在有效输入信号)。例如当确定输入高电平有效时,则应当只有一个输入信号为高电平,其余输入信号均为低电平(无效信号)。【例】设计一个8—3线编码器。解:由题可知,该电路应有八个输入端,三个输出端,是一个二进制的编码器。用X0~X7表示八路输入,Y0~Y2表示三路输出。原则上编码方式是随意的,比较常见的编码方式是按二进制数的顺序编码。设输入、输出信号均为高电平有效,列出8-3线编码器的真值表如表3-8所示。由真值表可以发现:八个输入变量之间是互相排斥的关系(即一组变量中只有一个取1),所以可以求出:下图即为分别用“或”门和“与非”门实现该逻辑功能的逻辑图。2.优先编码器一般编码器在工作时仅允许一个输入端输入有效信号,否则编码电路将不能正常工作,使输出发生错误。而优先编码器则不同,它允许几个信号同时加至编码器的输入端,但是由于各个输入端的优先级别不同,编码器只接受优先级别最高的一个输入信号,而对其他输人信号不予考虑。将十进制数的0~9编成二进制代码的电路就是二-十进制编码器。下面以项目三中采用的74LSl47二-十进制(8421)优先编码器为例加以介绍。74LSl47编码器的功能表如下表所示。(1)4位二进制优先编码器74LS14774LSl47编码器的引脚图及逻辑符号分别如下图所示。(2)3位二进制优先编码器74LS148输入:逻辑0(低电平)有效,优先权最高是优先权最低是输出:反码7I0I集成3位二进制优先编码器74LS148EI为使能输入端,低电平有效。EO为使能输出端,高电平有效,一般接至低位芯片。GS为扩展输出端,低电平有效,起扩展电路的作用。当EI=0时,编码器正常工作,允许高级别输入端有效低信号,对其进行编码。此时编码器有正常编码输出时,EO=1,GS=0;当EI=0时,编码器允许编码,但是输入端没有有效低电平信号时,即输入全是高电平时,EO=0,GS=1,输出全是1;当EI=0时,编码器正常工作当EI=1时,编码器不能正常工作。EO=1,GS=1,输出全是1。集成3位二进制优先编码器74LS148的级联:两块8线-3线实现16线-4线优先编码器优先级别从015~II递降EI=0,EO=1,GS=Y3=0EI=1,低位芯片不允许编码Y0=Y1=Y3=1当高位芯片没有编码要求时,GS=Y4=1,Y0=Y1=Y3=13.2.2译码器译码是将给定的代码翻译成相应的输出信号或另一种形式代码的过程。译码是编码的逆过程。能够完成译码工作的器件称为译码器。它也是一种多输入、多输出的组合逻辑电路。在数字系统中,处理的是二进制代码,而人们习惯于用十进制,故常常需要将二进制代码翻译成十进制数字或字符,并直接显示出来。1.二进制译码器二进制译码器是将二进制代码翻译成相应输出信号的电路。它有m个输入端,2m个输出端。输入信号是二进制代码,输出信号是一组高、低电平信号。下表所示为2-4线译码器功能表。输入端为A0和A1,输出端为Y0~Y3。当A1A0取不同的值时,Y0~Y3分别处于有效的状态,电路实现译码功能。输入、输出均为高电平有效。根据功能表,可以求出输出Y0~Y3的表达式:根据表达式,画出实现电路如图所示。下图所示为3-8线译码器74HC138的逻辑符号及外引线功能图。74HC138逻辑功能表2.二-十进制译码器二-十进制译码器是将输入BCD码翻译成十个相应输出信号的电路,有时也称为4-10线译码器。下图所示为BCD码输入的4-10线译码器74HC42的逻辑符号及外引线。由于该译码器具有m=4个输入端,n=10个输出端,n2m,所以将这种译码器称为部分译码器。由表知,当输入端出现1010~1111六组无效数码(伪数码)时,输出端全部为高电平1,所以该电路具有拒绝无效数码输入的功能。若将最高位输入A3看做使能端,则该电路可当做3-8线译码器使用。3.显示译码器在数字系统中,常常需要将译码后所获得的结果或数据直接以十进制数字的形式显示出来。为此,需要首先将二-十进制代码送入译码器,用译码器的输出去驱动显示部件。具有这种功能的译码器称为显示译码器。(1)数码显示器常见的数码显示器有许多种形式。它的主要作用是用来显示数字和符号,如发光二极管数码管(LED)、液晶数码管(LCD)、荧光数码管、辉光数码管等。LED七段数码管是由七个发光二极管按一定的顺序排列而成。a,b,c,d,e,f,g七段组成一个“日”字,如下图所示。根据连接方式的不同,有共阴极方式与共阳极方式,如下图所示。采用共阴极方式时,如图(a)所示,译码器输出高电平可以驱动相应二极管发光显示;采用共阳极方式时,如图(b)所示,译码器输出低电平可以驱动相应二极管发光显示。为了防止电路中电流过大而烧坏二极管,电路中需串联限流电阻。例如:当采用共阴极方式时,若要显示数字“5”,则a,c,d,f,g段加高电平发光,其余各段加低电平熄灭。b=c=f=g=1,a=d=e=0时c=d=e=f=g=1,a=b=0时共阴极下面通过对一种MSIBCD译码/驱动器电路的介绍,来加深对数字显示译码器的了解。数字显示译码器的主要作用是将输入的代码通过译码器译成相应的高、低电平信号,并驱动显示器件发光、正确显示。74LS47是一种BCD输入、开路输出的4线-七段译码器/驱动器。其功能表如下表所示。(2)集成显示译码器74LS48引脚排列图48驱动共阴,47驱动共阳译码驱动电路的一般组成功能表由真值表可以看出,为了增强器件的功能,在74LS48中还设置了一些辅助端。这些辅助端的功能如下:(1)试灯输入端LT:低电平有效。当LT=0时,数码管的七段应全亮,与输入的译码信号无关。本输入端用于测试数码管的好坏。(2)动态灭零输入端RBI:低电平有效。当LT=1、RBI=0、且译码输入全为0时,该位输出不显示,即0字被熄灭;当译码输入不全为0时,该位正常显示。本输入端用于消隐无效的0。如数据0034.50可显示为34.5。(3)灭灯输入/动态灭零输出端RBOBI/:这是一个特殊的端钮,有时用作输入,有时用作输出。当RBOBI/作为输入使用,且RBOBI/=0时,数码管七段全灭,与译码输入无关。当RBOBI/作为输出使用时,受控于LT和RBI:当LT=1且RBI=0时,RBOBI/=0;其它情况下RBOBI/=1