第7章数字电路综合设计1编码器2译码器3三态缓冲器4双稳态触发器5锁存器6寄存器、移位寄存器7计数器8数字电子钟逻辑电路设计9交通灯控制逻辑电路设计10霓虹灯控制器设计7.1编码器7.1.1编码器的基本概念及工作原理编码——将某种代码或电位信号转换成二进制代码的过程。编码器:能够实现编码功能的数字电路称为编码器。一般而言,N个不同的信号,至少需要n位二进制数编码。N和n之间满足下列关系:2n≥N将输入信号变成二进制代码的电路称为二进制编码器。即:对应一个输入信号,输出相应的二进制代码。普通二进制编码器的特点是:任何时刻只允许输入一个待编码信号,否则输出将发生混乱。常见的编码器有8线-3线(有8个输入端,3个输出端),16线—4线(16个输入端,4个输出端)等等。1、设计一个8线-3线编码器输入:8个需进行编码的信号I0~I7;输出:用来进行编码的3位二进制代码Y0,Y1,Y2。7.1.2二进制普通编码器电路的特点:任何时刻只允许输入端有一个信号输入,否则得不到正确的编码输出。即任何时刻只能对一个输入信号进行编码,而这些输入变量为一组互相排斥的变量。有如下约定:在这里,用000,001,010,…,111表示I0,I1,I2,…I7,输入信号为1,表示有编码请求,请求是互斥的。我们来设计这个二进制编码根据上述要求和约定。输入输出0A21AA10000000010000000010000000010000000010000000010000000010000000011I2I546II03I7III000001010011100101110111编码器真值表首先,列出3位二进制编码器的真值表:765476542IIIIIIIIY763276321IIIIIIIIY753175310IIIIIIIIY其次,由真值表写出各输出的逻辑表达式为:(用了带约束项的逻辑函数化简)最后,用门电路实现逻辑电路:A&1&&A0A21I1I11131I1II52011I674II以上就是我们根据3位二进制普通编码器的功能要求设计出的编码器,由于它的输入为I0~I7八个信号,输出为Y0,Y1,Y2三个信号,所以把它叫做8线-3线编码器。2、对上述编码器的使用:假如我们要对I6这个信号进行二进制编码,那么只要在这个8线-3线编码器的I6端输入接高电平,其它输入端接低电平,此时输出端Y2,Y1,Y0高低电平信号值就表示了对I6进行编码的二进制代码。此处的I0,I1,…,I7代表了一个事件的八种状态。二-十进制编码器是指用四位二进制代码表示一位十进制数的编码电路(输入10个互斥的数码,输出4位二进制代码)。1、BCD码:常用的几种BCD码8421码、5421码、2421码、余三码。2、10线-4线编码器7.1.3二-十进制编码器例:设计一个8421BCD码编码器解:输入信号I0~I9代表0~9共10个十进制信号,输出信号为Y0~Y3相应的二进制代码。列编码表如右表所示:9753197531076327632176547654298983IIIIIIIIIIYIIIIIIIIYIIIIIIIIYIIIIY得到输出函数如下:I9I8I7I6I5I4I3I2I1I0Y3Y2Y1Y0(a)由或门构成≥1≥1≥1≥1画出逻辑电路图如下:I9I8I7I6I5I4I3I2I1I0(b)由与非门构成Y3Y2Y1Y0&&&&7.1.4二进制优先编码器优先编码器允许n个输入端同时加上信号,但电路只对其中优先级别最高的信号进行编码。1、例:电话室有三种电话,按由高到低优先级排序依次是火警电话,急救电话,工作电话,要求电话编码依次为00、01、10。试设计电话编码控制电路。解:(1)根据题意知,同一时间电话室只能处理一部电话,假如用A、B、C分别代表火警、急救、工作三种电话,设电话铃响用1表示,铃没响用0表示。当优先级别高的信号有效时,低级别的则不起作用,这时用×表示;用Y1,Y2表示输出编码的高位和低位。只要优先级别高的信号存在,优先级别低的输入信号将不起作用。(2)输入输出ABCY1Y21××01×001000110CBAY1BAY2(3)写逻辑表达式(4)画优先编码器逻辑图如图所示。&&11ABY1CY2图优先编码逻辑图2、3位二进制优先编码器的原理和设计输入和输出同3位二进制普通编码器。有如下约定:在这里,仍然用000,001,…,111表示I0,I1,…,I7,优先级别是:I7I6I5I4I3I2I1I0。I7I6I5I4I3I2I1I0Y2Y1Y01X11101X110001X1010001X10000001X011000001X0100000001X00100000001000277676576547654177676543765432765432077657654376543217656436421()YIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIII其次,根据真值表,得到输出函数的表达式:最后,根据输出函数的表达式,画出逻辑电路图。首先,列真值表。用输入信号为1表示有编码请求,否则相反。如果要求输入、输出均为反变量,那么只需要在上述图中的每个输入端和输出端都加上反相器就可以了。277676576547654177676543765432765432077657654376543217656436421()YIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIII3、常用集成编码器(1)74LS148•8线—3线优先编码器,它有八个输入端,输入编码为低电平“0”有效。•3个输出编码结果,为3位二进制反码。•真值表见下页,根据真值表可知:•输入时,编码器正常工作,时,所有输出端为高电平。74LS148I7I6I5I4I3I2I1I0YEXY2Y1Y0YSS70~II20~YY0S1SS7I6I5I4I3I2I1I0I2Y1Y0YEXY74LS148集成8线-3线优先编码器的真值表SY输入使能端输入输出扩展使能输出1××××××××111110111111111111000×××××××00001010××××××001010110×××××0100101110××××01101011110×××100010111110××1010101111110×1100101111111011101)SIIIIIII(I7654321076543210SSIIIIIIIISYYSEXSIIIIIIIIYS76543210SYSYSYEXYEXYEXY输出为选通输出端,当所有输入为高电平,即没有编码输入且S=1时,才是低电平。因此,的低电平表示:电路工作,但无编码请求(EWB符号中为EO)输出为扩展端,当输入端有低电平信号输入,且S=1时,为低电平。因此,的低电平表示:电路工作,而且有编码输入(EWB符号中为GS)。例:74LS148的级联试用两片74LS148扩展成16线-4线编码器,将16个低电平输入信号编为0000~1111,16个4位二进制代码,其中优先级最高,最低。解:按照优先级顺序的要求,只有均无输入信号时,才允许对的输入信号编码,因此只要把第一片“无编码信号输入”作为第二片的选通信号就行了。015~AA15A0A158~II70~IISYS优先编码器74LS148的应用•74LS148编码器的应用是非常广泛的。例如,常用计算机键盘,其内部就是一个字符编码器。它将键盘上的大、小写英文字母和数字及符号还包括一些功能键(回车、空格)等编成一系列的七位二进制数码,送到计算机的中央处理单元CPU,然后再进行处理、存储、输出到显示器或打印机上。•还可以用74LS148编码器监控炉罐的温度,若其中任何一个炉温超过标准温度或低于标准温度,则检测传感器输出一个0电平到74LS148编码器的输入端,编码器编码后输出三位二进制代码到微处理器进行控制。(2)74LS147•二—十进制优先编码器•0编码有效•输出8421BCD反码•10线—4线(实为9线—4线)•没有I0端:当I9~I1全为1时,输出0000的反码111174LS147I8I7I6I5I4I3I2Y2Y1Y0I9I1Y37.2译码器7.2.1译码器的基本概念及工作原理译码:编码的逆过程,把输入的二进制代码翻译成所对应的控制信号和信息。译码器:实现译码功能的数字电路。有多个输入和多个输出的组合电路,当其输入有n位二进制代码时,输出有m个表示代码原意的信号。对应一组输入二进制代码,有且仅有一个输出为有效电平,其他输出均为相反电平。有效电平可以为“1”也可以为“0”。n和m的关系m≤2n,这样才能保证对应一组输入代码,有且仅有一个输出与之对应。7.2.2二进制译码器输入端为n个,则输出端为2n个,且对应于输入代码的每一种状态,2n个输出中只有一个为1(或为0),其余全为0(或为1)2线—4线译码器3线—8线译码器4线—16线译码器逻辑功能:将输入的每个代码分别译成高电平(或低电平)。二进制译码器1)真值表3)逻辑图Y3=A1A0=m3Y0=A1A0=m0Y1=A1A0=m1Y2=A1A0=m2S为控制端(片选端、使能端)常用有:二进制译码器、二——十进制译码器、显示译码器。当S=0时,译码器工作;当S=1时,译码器禁止,所有的输出端均为0。输入输出A1A0Y3Y2Y1Y01000110100010100001010001、2位二进制译码器:2)输出表达式A11A011S&Y3&Y2&Y1&Y04)逻辑符号(2线—4线译码器)输出0有效的2线—4线译码器可用与非门构成,输出1有效5)常用集成2线—4线译码器0m01AA1m2Y2m3Y3m01AA74LS139:双2线—4线译码器输出0有效1Y01AA01AAY0Y3Y2Y1Y0A0A1SY3Y2Y1Y0A0A1S74LS139Y13Y12Y11Y10Y23Y22Y21Y20A20A21S2A10A11S1输出逻辑表达式2.例:用与非门设计3线—8线译码器A2A1A0Y0Y1Y2Y3Y4Y5Y6Y70000010100111001011101111000000001000000001000000001000000001000000001000000001000000001解:(1)列出译码表:01270126012501240123012201210120AAAYAAAYAAAYAAAYAAAYAAAYAAAYAAAY(2)写出各输出函数表达式:看出什么奥妙了吗?!Y0:三变量的最小项m0Y1:三变量的最小项m1…Y7:三变量的最小项m7以后有什么简单的逻辑函数,都化成最小项之和,然后用译码器来构成该逻辑函数的电路图。(3)画出逻辑电路图:&&&&&&&&111A2A1A0Y7Y6Y5Y4Y3Y2Y1Y03、综上所述1)同理,四位二进制译码器为4线—16线译码器。2)二进制译码器就是n线—2n线译码器,即,n变量全部最小项的译码器。4、三位二进制译码器三位二进制译码器即3线—8线译码器,常用3线—8线译码器有74LS138。逻辑符号(输出0有效):A0~A2为输入端,译码状态下,其二进制编码0~7依次对应8个输出,它能将三位二进制数的每个代码分别译成低电平。74LS138Y7Y6Y5Y4Y3Y2Y1Y0S2S3S1A2A1A0S1、S2、S3是三个选通控制端,当控制端时,译码器处于工作状态;译码器禁止时,所