第四章 组合逻辑电路_第1页
第四章 组合逻辑电路_第2页
第四章 组合逻辑电路_第3页
第四章 组合逻辑电路_第4页
第四章 组合逻辑电路_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第四章组合逻辑电路4.1组合逻辑电路的分析4.2组合逻辑电路的设计4.3典型组合逻辑电路的设计4.4组合逻辑电路的险象2数字电路分为两大类1、组合逻辑电路2、时序逻辑电路任意时刻的输出仅仅取决于该时刻的输入组合,而与输入信号作用前电路的原状态无关(与过去的输入无关)。任意时刻的输出不仅仅与该时刻的输入有关,而且还与电路的原状态有关(与过去的输入有关)。3组合逻辑电路的特点&&&&1ABCDF(1)电路由逻辑门构成,无记忆元件;(2)输入信号是单向传输,一般无反馈。×44.1组合逻辑电路的分析分析步骤逻辑电路图函数表达式化简功能描述真值表5例1:试分析电路&&&&ABFABBABAAB结论:该电路实现两个输入信号的异或逻辑。6例2:设A=A1A0、B=B1B0均为二位的二进制数。试分析电路&F=1=1111A1B1A0B0F=A1B1A0B0=(A1B1)(A0B0)7F=A1B1A0B0=(A1B1)(A0B0)若A1=B1,A0=B0,则F=1则F=0若A1≠B1,A0≠B0A1=B1,A0≠B0A1≠B1,A0=B0由分析可知:这是一个判断两位二进制数是否相等的电路。8例3:试分析电路FCCBBAA&&&&≥19由真值表可知:ABC取值一致时,F=1;否则F=0。ABCF00010010010001101000101011001111的真值表为:结论:该电路为“一致电路”。104.2组合逻辑电路的设计设计步骤1、逻辑抽象2、逻辑赋值定义逻辑状态的含义,即以“0”、“1”分别表示输入和输出的不同状态。3、根据因果关系列出真值表分析事件的因果关系,确定输入变量和输出变量。5、画出逻辑电路图4、化简或变换后,得到逻辑函数表达式11例1:试设计一个三变量的判奇电路(奇数个1)。1、逻辑抽象及2、逻辑赋值由题设可知:三个输入变量A、B、C,分别取值为“0”和“1”;一个输出变量F,当输入变量A、B、C为奇数个1时,F为“1”,否则F为“0”。ABCF000000110101011010011010110011113、列出真值表4、化简ABC0001111001F0000111112CBA=1=1F5、画出逻辑电路图13例2:试设计一个对8421BCD码的检测电路,当对应的十进制数3≤X≤6时输出F=1,否则F=0。1、逻辑抽象及2、逻辑赋值由题设可知:一个8421BCD码是4位表示数字0~9。3、列出真值表定义4个输入变量A、B、C、D分别表示8421BCD码的第0位到第3位,取值分别为“0”和“1”;定义一个输出变量F,当8421BCD码为3≤X≤6时,F=1,当8421BCD码为0≤X≤2或7≤X≤9时,F=0,当8421BCD码为10≤X≤15时,F为不确定,F=d。14DCBAFDCBAF000000001000100001110100101011011010111010000100101010d1011d1100d1101d1110d1111d154、化简FDCBA0000010111111010dddddd000000111116FCBA&&&CBCA≥15、画出逻辑电路图17例3:用或非门设计一个组合逻辑电路,用于判别四位二进制数对应的十进制数是否是5的整数倍。若是,则F=1,否则F=0。设用B4B3B2B1表示四位二进制数,因此定义4个输入变量B4、B3、B2、B1,分别取值“0”和“1”。1、逻辑抽象及2、逻辑赋值定义一个输出变量F,四位二进制数B4B3B2B1是5的整数倍,则F=1,否则F=0。3、列出真值表18B4B3B2B1FB4B3B2B1F1000000001100100001010101001001011000110110000100011010010111110001100111110111019FB4B3B2B1000001011111101000101000000001014、化简20F≥1≥1≥1≥1≥15、画出逻辑电路图21若输入不提供反变量,可直接用“非”门获得反变量,但若反变量较多时,就很不经济。因此常用替代法来实现。例:FAABBCDC&&&&&22从上例可见,当输入不提供反变量时,可以合并“与或”式中具有相同原变量因子的“与”项,以减少式中的“与”项及非号。即把函数表达式整理成:其中:(a、b、x、y、u、v均为原变量)

称为的头部,为头部因子。为的尾部,称为尾部因子。在此基础上,通过确定的公用替代尾因子,可进一步减少“非”号。所谓替代尾因子就是将头部因子插入其尾部因子以形成扩大的尾部因子。23如:其中,、、都是尾部因子的替代因子。选择替代尾因子的目的是令其为多个共用,以减少总的“非”号。24(3)当有n个替代尾部因子可供选用时,应选择其中最简单的一个。(2)替代尾部因子至少要能替代两个或两个以上的原有尾部因子。(1)用替代尾部因子取代原尾部因子后,Ei的逻辑值不变。确定替代尾因子的原则25(a)求出函数的最简“与或”式。用替代法(代数变换法)设计无反变量输入的“与非”逻辑电路的步骤为:(b)合并头部相同的“与”项,把函数整理成的形式。(c)选择合适的替代尾部因子。26F&&&&ABC例:274.3典型组合逻辑电路的设计一、半加器(HalfAdder)ABSC0000011010101101S=ABC=AB4.3.1基本运算电路CCOABSABSC=1&∑28二、全加器(FullAdder)111110000000110010100110110101001011001AiBiCi-1SiCi1、用逻辑门构成全加器CiCOAiBiCi-1Si∑CI29AiBiCi-1000111100100001111Si30AiBiCi-1000111100101110001Ci31&&&

Si=1=1BiCi-1AiAiBiCi-1Ci74LS00(与非)74LS86(异或)32全加器电路参考5VGND5VGNDCiSiABCi-12132134565461098332、集成全加器集成全加器74183的引脚图如下所示:1234567891011121314741831Ai1Bi1Ci-11Ci1Si2Ci2Ci-12Bi2Ai2SiVccGND这种双全加器具有独立的全加和与进位输出,这样每个全加器既可单独使用也可级连起来使用。34使用4个全加器实现一个4位串行进位加法器如下:COCIA0B0S0C0COCIA1B1S1C1COCIA2B2S2C2COCIA3B3S3C3∑∑∑∑为了提高运算速度,必须减小或消除由于进位逐级传递所浪费的时间。超前进位加法器就是根据这样的思路而设计的。3、超前进位加法器缺点:进位逐级传递,运算速度慢。35由全加器的真值表可写出第一位全加器的进位信号表达式:C0=A0B0+A0C0-1+B0C0-1=A0B0+(A0+B0)C0-1C1=A1B1+(A1+B1)C0

=A1B1+(A1+B1)[A0B0+(A0+B0)C0-1]C2=A2B2+(A2+B2)C1

=A2B2+(A2+B2){A1B1+(A1+B1)[A0B0+(A0+B0)C0-1]}据此可得以下的进位信号:C3=A3B3+(A3+B3)C2

=A3B3+(A3+B3){A2B2+(A2+B2){A1B1+(A1+B1)[A0B0+(A0+B0)C0-1]}}37因此,只要A3A2A1A0、B3B2B1B0和C0-1给出,就直接可求出C3、C2、C1、C0,进而得到4位加法器的结果S3S2S1S0。74283超前进位加法器就是这样设计的。1234567811121314151674283S1C0-1C3VccGND109B1A1S0A0B0B2A2S2A3B3S3404、加法器的应用例1:8421BCD码转换为余三码。74283S1C0-1B1A1S0A0B0B2A2S2A3B3S3ABCD0011WXYZ8421BCD码余三码假设8421BCD码的输入为ABCD,输出的余三码为WXYZ。41例2:余三码转换为8421BCD码。74283S1C0-1B1A1S0A0B0B2A2S2A3B3S3ABCD1101WXYZ8421BCD码余三码将减3变为加(-3),即加1101(-3的二进制补码)。42例3:用二进制加法器实现十进制数加法运算。假设作加法运算的两个十进制数的8421BCD码为A8A4A2A1和B8B4B2B1,它们相加之和的个位的二进制数为S3S2S1S0,产生的进位为C3,和的个位的8421BCD码为D8D4D2D1,产生的进位(和的十位)为C10。因为0≤A8A4A2A1≤9,0≤B8B4B2B1≤9,于是0≤D8D4D2D1≤18。43(1)当0≤和≤9时,0000≤S3S2S1S0≤1001,(2)当10≤和≤15时,1010≤S3S2S1S0≤1111,(3)当16≤和≤18时,0000≤S3S2S1S0≤0010,C3=0,D8D4D2D1=S3S2S1S0-10=S3S2S1S0+0110,C10=1。C3=0,D8D4D2D1=S3S2S1S0,C10=0。C3=1,D8D4D2D1=S3S2S1S0+6=S3S2S1S0+0110,C10=1。综合(1)(2)(3)可知:

C10=0时,D8D4D2D1=S3S2S1S0C10=1时,D8D4D2D1=S3S2S1S0+011044十进制加法器的进位为C10:4574283S1C0-1B1A1S0A0B0B2A2S2A3B3S3C3A8A4A2A1B8B4B2B1C10≥1&十位C10=C3+S3S2+S3S174283S1C0-1B1A1S0A0B0B2A2S2A3B3S3C3D8D4D2D1个位46GiFDAiBiGi-1DiAiBiGi-1DiGi0000000111010110110110010101001100011111三、全减器(Fulldeductor)47BiGi-1000111100100001111AiDi48BiGi-1000111100101001110AiGi49&&&

Di=1=1BiGi-1AiAiBiGi-1Gi50&&&

Di=1=1BiGi-1AiAiBiGi-1Gi&&&

Si=1=1BiCi-1AiAiBiCi-1Ci&&&

Si=1=1BiCi-1AiXCi=151可控全加减器电路参考5VGND5VGNDZFABCXX=0,加法X=1,减法524.3.2代码转换电路一、8421BCD码转换为余三码ABCDWXYZ0000001100010100001001010011011001000111010110000110100101111010ABCDWXYZ10001011100111001010dddd1011dddd1100dddd1101dddd1110dddd1111dddd53WABCD0000010111111010dddddd0001101110W=A+BD+BC54XABCD0000010111111010dddddd111011000055YABCD0000010111111010dddddd011100100156ZABCD0000010111111010dddddd0011010011571ZDW&&ABDBC≥1BX&&&CDBDBC≥1Y&&CDCD≥1W=A+BD+BC581ZW&&ABC≥1X&&&D≥1Y&&≥1111ZDW&&ABDBC≥1BX&&&CDBDBC≥1Y&&CDCD≥159二、四位二进制代码转换为格雷码0000000000010001001000110011001001000110010101110110010101110100B4

B3

B2

B1G4

G3

G2

G1B4

B3

B2

B1G4

G3

G2

G1100011001001110110101111101111101100101011011011111010011111100060G4B4B3B2B100000101111110101111110001100000G4=B461G3B4B3B2B10000010111111010000011001110111062G2B4B3B2B10000010111111010110011011001010063G1B4B3B2B10000010111111010010110100011011064=1=1=1B3B4B2B1G3G4G2G1100110101101二进制代码110101111011格雷码654.3.3数值比较电路一、一位比较器ABF1(A>B)F2(A=B)F3(A<B)00010010011010011010从真值表可得:66=1&&

1ABF1F2F367若A>B,则有:设A=A3A2A1A0,B=B3B2B1B0二、四位比较器F1=A3B3+(A3B3)A2B2+(A3B3)(A2B2)A1B1+(A3B3)(A2B2)(A1B1)A0B0若A=B,则有:F2=(A3B3)(A2B2)(A1B1)(A0B0)若A<B,则有:F3=A3B3+(A3B3)A2B2+(A3B3)(A2B2)A1B1+(A3B3)(A2B2)(A1B1)A0B068下图为典型的集成比较器7485的引脚图:123456781112131415167485B3FA<BB0VccGND109A<BA=BA>BFA>BFA=BA3B2A2A1B1A0注意:芯片的级联输入端(A>B)(A<B)(A=B)在无更低位参加比较时,应接001以便在A、B两数相等时,产生A=B的结果。69三、集成比较器的应用1、用7485构成8位二进制比较器“0”“1”“0”A3A2A1A0B3B2B1B0A3A2A1A0B3B2B1B0A>BA=BA<BFA>BFA=BFA<B(1)FA>BFA=BFA<BA7A6A5A4B7B6B5B4A3A2A1A0B3B2B1B0A>BA=BA<BFA>BFA=BFA<B(2)702、用7485和逻辑门设计输血指示器在人类的四种基本血型中:

O型血可输给任意血型的人,但只能接受O型;

AB型可接受任意血型,但只能输给AB型;

A型能输给A型或AB型,可接受O型和A型;

B型能输给B型或AB型,可接受O型和B型。设用二进制数00表示O型血;01表示A型血;10表示B型血;11表示AB型血。这样对应输血和受血就需要4个输入变量,设用XY代表输送血型,CD代表接受血型。用F=1表示可输血,F=0表示不能输血。71XYCDF

输血受血指示XYCDF

输血受血指示0000100011001010011101000010110110010000100101010110111110001101011100011111111172根据输血常识,可输血的为以下三种:(1)只要血型相同就可以输,即XY=CD,则F=1;(2)只要输送的是O型血,即XY=00,则F=1;(3)只要接受方是AB型,即CD=11,则F=1;(4)其他情况均不可输血。由此可得出:用4位数码比较器及门电路设计的输血指示器如下。73≥1&≥1FA>BB0A3B2A2A1B1A0B3FA>BFA=BFA<BA<BA=B“1”7485XYCD744.3.4编码器所谓编码,就是在选定的一系列二值代码中赋予每个代码以固定的含义。执行编码功能的电路称编码器。X1X2nY1Yn编码器一、二进制编码器(2n线-n线编码器)75I0I1I7Y0Y1Y28线-3线编码器低电平有效,即对输入为“0”的位进行编码。例:8线-3线编码器768线-3线编码器真值表0111111100010111111001110111110101110111101111110111100111110111011111110111011111110111I0I1I2I3I4I5I6I7Y2Y1Y0778线-3线编码器的函数表达式:8线-3线编码器有8个输入变量,一共有256种输入组合,而这里只用了8种,其余的248种都视为约束条件,即任一时刻输入只允许一位为“0”,可得:约束条件78令:根据约束条件,可把A式写为:故:79二、优先编码器优先编码器允许同时有多个输入端有编码请求。由电路对所有的输入信号按优先顺序排队,当多个输入信号同时有效时,编码器只对其中优先权最高的一个进行编码。下面对优先编码器74LS148进行讨论。80I0I1I2I3I4I5I6I7STY2Y1Y0VCCYSYEX74LS14812345678910111615141213优先编码器74LS148以的优先权最高,以下依次为。

为编码器的使能控制端,只有为“0”时编码器才工作,为“1”时所有的输出均被封锁为“1”。81

为选通输出端,当为“0”而无信号输入(即为“1”)时,为“0”。所以

表示工作状态,但无编码信号输入。该优先编码器的编码真值表如下:

称为扩展端,若任一个编码输入为“0”,且,则。所以表示工作状态,且有编码信号输入。82STI0I1I2I3I4I5I6I7Y2Y1Y0YEXYS1dddddddd11111011111111111100ddddddd0000010dddddd01001010ddddd011010010dddd0111011010ddd01111100010dd011111101010d0111111110010011111111110183该优先编码器的函数表达式如下:84例:试用两片74LS148构成16线-4线的优先编码器(反码输出)。~~~~dd~dd~d00000dd~dd~010001dd~d0~110111~~~~dd~01~111000d0~11~11111001~11~111111~~85Z3I7STA0A1A2A3A4A5A6A7Y2Y1Y0I0I1I2I3I4I5I6(1)&&&Z0Z1Z2A8A9A10A11A12A13A14A15Y2Y1Y0YEXI0I1I2I3I4I5I6I7(2)YSST864.3.5译码器译码是编码的逆过程,其功能是将具有特定含义的不同二进制代码“翻译”出来。一、二进制译码器二进制译码器属于完全译码器(设译码器有n个输入和m个输出,则m=2n),不满足该条件的称为部分译码器。这里以二线-四线译码器为例。872线-4线译码器A0A1Z0Z1Z2Z3E根据译码器的定义和要求可得译码真值表如下:88EA1A0Z3Z2Z1Z00dd11111110111110101110111011001110由真值表可得译码器的函数表达式:89A1A1A111A0A0A011&&&&A1A1A1A1A0A0A0A0Z0Z1Z2Z3E90例:用两片2线-4线译码器扩展成3线-8线译码器。2、用于译码器的扩展使能端E的作用1、控制译码器的状态当E=1时,译码器处于工作状态;当E=0时,译码器处于非工作状态。3线-8线译码器的输入为A2、A1、A0,由A2控制两个2线-4线译码器的使能端E。91A1A2A0A0A1Z0Z1Z2Z3E(1)A0A1Z0Z1Z2Z3E(2)Z0Z1Z2Z3Z4Z5Z6Z71923、将译码器变为数据分配器Z0Z1Z2Z3E数据A1A02线-4线译码器A0A1Z0Z1Z2Z3E

数据数据分配器是将一路输入数据根据地址选择码分配给多路数据输出中的某一路输出。93前面我们已知:从上式可知:若A1A0=01,则Z1=E;若A1A0=10,则Z2=E;若A1A0=11,则Z3=E。若A1A0=00,则Z0=E;94二、二-十进制译码器二-十进制译码器的功能是将8421BCD码翻译成十个不同点位的指定电平。译码真值表如下:如果指定为低电平有效,那么使能端E为“1”时,译码器处于工作状态;使能端E为“0”时,译码器被封锁,输出全为“1”

。95EA3A2A1A0Z0Z1Z2Z3Z4Z5Z6Z7Z8Z91000001111111111000110111111111001011011111111001111101111111010011110111111010111111011111011011111101111011111111110111100011111111011100111111111100dddd111111111196由真值表可得:97三、数字显示译码器要求用与非门设计一个8421BCD码~七段数字显示译码器。共阴ag共阳VCCag高电平有效低电平有效98aabbccdpggffeedddp99七段译码器B1B2B4B8aabbccddeeffggdpabcdefg74LS48100010110110115010001100114001111110013001011011012000101100001000011111100~~1111ddddddd1010ddddddd100111100119100011111118011111100007011000111116B8B4B2B1abcdefg字形bcdefga101根据真值表由卡诺图可得:102四、译码器的应用A0A1A2S3S2S1Z7Z6Z5Z4Z3Z2Z1Z0VCC18916地74LS1383线—8线译码器74LS138(T4138)的引脚图如下:1033线—8线译码器74LS138(T4138)的真值表如下:S1S2+S3A2A1A0Z0Z1Z2Z3Z4Z5Z6Z7100000111111110001101111111001011011111100111110111110100111101111010111111011101101111110110111111111100dddd11111111104由真值表可得:若将

A2A1A0看作输入逻辑变量则:105例1:利用3线-8线译码器实现下列逻辑函数将Z1~Z4化成标准积之和(最小项之和)形式。106用同样的方法可得:若令A2=A、A1=B、A0=C,则译码器的输出m0~m7。正是F1~F4所需的最小项的非的形式。故可得以下电路:107“1ABCZ0Z1Z2Z3Z4Z5Z6Z7A0A1A2S1S2S374LS138F1&F3&F2&F4&108例2:试用译码器和门电路实现全减器的功能。AiBiGi-1DiGi0000000111010110110110010101001100011111109“1”ABCZ0Z1Z2Z3Z4Z5Z6Z7A0A1A2S1S2S374LS138Di&Gi&110DBWROEIO1CSDBWROEIO2CSDBWROEIO3CSDBWRRDCPUAB16AB15AB14A2A1A0Z0Z774138例3:在总线传送中利用译码器实现片选。1114.3.6数据选择器4选1数据选择器D0D1D2D3A1A0SYD0D1D2D3A1A0Y数据选择器是根据地址选择码从多路输入数据中选择一路数据输出,也称复用器。1124选1数据选择器的真值表如下:由真值表可得:1dd0011D3010D2001D1000D0SA1A0Y113&&&&≥11SD0D1D2D3A1A0A1A0A1A0A1A0Y114一、4选1数据选择器的扩展A1A0Y≥1D4D5D6D7A1A0SY1D0D1D2D3A1A0SY0A21115例1:利用8选1数据选择器实现真值表。利用2n路数据选择器可以很方便地实现任一个n变量的逻辑函数表达式。二、数据选择器的应用RAGY00010010010101101000101111011111116D0D1D2D3D4D5D6D7A0A1A2SYRAGSA0A1A2D0D1D2D3D4D5D6D7YYMUX74LS15110100111117D0D1D2D3A0A1SY`GGG1RA从价格和电路所占面积考虑,上式还可以用4选1数据选择器来实现。Y=GY=1Y`RAG

Y000

1001

0010

1111

1110

1101

1100

0011

0Y=GY=G118C11111AB0001101101Y例2:试用4选1数据选择器实现函数4选1选择器的表达式为:方法1119令A=A1、B=A0,则4选1选择器的表达式为:D0D1D2D3A0A1YCCC1AB比较4选1选择器的表达式得:120D0D1D2D3A0A1YCCC1AB作函数的真值表:00010010010101111001101011001111Y=CY=CY=1Y=C方法2ABCY121例3:试用一片双四路数据选择器74LS153实现下列逻辑函数。F1(A,B,C,D)=∑m(0,1,5,7,10,13,15)F2(A,B,C,D)=∑m(8,10,12,13,15)首先,作F1和F2的卡诺图(以A=A1,B=A0)。1W2WA1A01D02D01D12D11D21D32D22D374LS15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论