第二章逻辑函数及其简化2.1.1基本逻辑函数与逻辑举例:设1表示开关闭合或灯亮;0表示开关不闭合或灯不亮,则得真值表。若用逻辑表达式来描述,则可写为BAL与运算——只有当决定一件事情的条件全部具备之后,这件事情才会发生。我们把这种因果关系称为与逻辑。1.与运算2.或运算——当决定一件事情的几个条件中,只要有一个或一个以上条件具备,这件事情就发生。我们把这种因果关系称为或逻辑。或逻辑举例:若用逻辑表达式来描述,则可写为:L=A+B3.非运算——某事情发生与否,仅取决于一个条件,而且是对该条件的否定。即条件具备时事情不发生;条件不具备时事情才发生。非逻辑举例:若用逻辑表达式来描述,则可写为:ALAL5.或非——由或运算和非运算组合而成。4.与非——由与运算和非运算组合而成。AB000011111110&ABL=A·B(a)(b)L=A·B01AB1011L=A+BA00B1(a)(b)000L=A+B≥16.异或异或是一种二变量逻辑运算,当两个变量取值相同时,逻辑函数值为0;当两个变量取值不同时,逻辑函数值为1。异或的逻辑表达式为:BAL1100(b)BA0AB10101(a)01L=A=1+AB+B7.同或同或是异或的非运算,即当两个变量取值相同时,逻辑函数值为1;当两个变量取值不同时,逻辑函数值为0。同或的逻辑表达式为:BABABALBA=1L2.1.2逻辑函数及其表示方法解:第一步:设置自变量和因变量。第二步:状态赋值。对于自变量A、B、C设:同意为逻辑“1”,不同意为逻辑“0”。对于因变量L设:事情通过为逻辑“1”,没通过为逻辑“0”。一、逻辑函数的建立例1三个人表决一件事情,结果按“少数服从多数”的原则决定,试建立该逻辑函数。第三步:根据题义及上述规定列出函数的真值表如表。一般地说,若输入逻辑变量A、B、C…的取值确定以后,输出逻辑变量L的值也唯一地确定了,就称L是A、B、C的逻辑函数,写作:L=f(A,B,C…)逻辑函数与普通代数中的函数相比较,有两个突出的特点:(1)逻辑变量和逻辑函数只能取两个值0和1。(2)函数和变量之间的关系是由“与”、“或”、“非”三种基本运算决定的。二、逻辑函数的表示方法例2列出下列函数的真值表:ABCCABCBABCAL1.真值表——将输入逻辑变量的各种可能取值和相应的函数值排列在一起而组成的表格。2.函数表达式——由逻辑变量和“与”、“或”、“非”三种运算符所构成的表达式。由真值表可以转换为函数表达式。例如,由“三人表决”函数的真值表可写出逻辑表达式:反之,由函数表达式也可以转换成真值表。解:该函数有两个变量,有4种取值的可能组合,将他们按顺序排列起来即得真值表。BABAL3.逻辑图——逻辑图是由逻辑符号及它们之间的连线而构成的图形。由逻辑图也可以写出其相应的函数表达式。例4写出如图所示逻辑图的函数表达式。解:可由输入至输出逐步写出逻辑表达式:ACBCABL由函数表达式可以画出其相应的逻辑图。例3画出下列函数的逻辑图:解:可用两个非门、两个与门和一个或门组成。BABAL2.1.3逻辑函数相等的概念对于逻辑函数)AA,A(Fn,21)AA,A(Gn,21和如果变量n,21AA,A的任意一组状态组合,其函数值都相等,则称函数F和G相等。其意义在于可以通过真值表验证函数是否相等。2.1.4逻辑代数的基本公式及定律一、逻辑代数的基本公式公式的证明方法:(2)用真值表证明,即检验等式两边函数的真值表是否一致。例2用真值表证明反演律BAAB(1)用简单的公式证明略为复杂的公式。BABAA例1证明吸收律证:BAABABBA)(BABAABBABAABAB)()(AABBBABA二、逻辑代数的基本规则对偶规则的基本内容是:如果两个逻辑函数表达式相等,那么它们的对偶式也一定相等。CBABCAABC1.代入规则对于任何一个逻辑等式,以某个逻辑变量或逻辑函数同时取代等式两端任何一个逻辑变量后,等式依然成立。例如,在反演律中用BC去代替等式中的B,则新的等式仍成立:2.对偶规则将一个逻辑函数L进行下列变换:·→+,+→·0→1,1→0所得新函数表达式叫做L的对偶式,用L*表示。3.反演规则将一个逻辑函数L进行下列变换:·→+,+→·;0→1,1→0;原变量→反变量,反变量→原变量。所得新函数表达式叫做L的反函数,用表示。在应用反演规则求反函数时要注意以下两点:(1)保持运算的优先顺序不变,必要时加括号表明,如例3。(2)变换中,几个变量(一个以上)的公共非号保持不变,如例4。LDBCAL)()(DBCALDCBALDCBAL利用反演规则,可以非常方便地求得一个函数的反函数例3求以下函数的反函数:解:例4求以下函数的反函数:解:2.2逻辑函数的简化其中,与—或表达式是逻辑函数的最基本表达形式。2.逻辑函数的最简“与—或表达式”的标准(1)与项最少,即表达式中“+”号最少。(2)每个与项中的变量数最少,即表达式中“·”号最少。1.逻辑函数式的常见形式一个逻辑函数的表达式不是唯一的,可以有多种形式,并且能互相转换。例如:2.2.1逻辑函数的代数简化法3.用代数法化简逻辑函数(4)配项法。)()()()(CCBACCABCBACABCBAABCCBCBACBBCALABBABAAB)(BADECBABAL)(EBAEBBAEBABALCAABBCDAABCDCAABAABCDCAABBCDCAABL)((1)并项法。(2)吸收法。(3)消去法。运用公式,将两项合并为一项,消去一个变量。如1AA运用吸收律A+AB=A,消去多余的与项。如在化简逻辑函数时,要灵活运用上述方法,才能将逻辑函数化为最简。再举几个例子:解:例6化简逻辑函数:EFBEFBABDCAABDAADLEFBEFBABDCAABAL(利用)1AAEFBBDCAA(利用A+AB=A)EFBBDCA(利用)BABAA解:例7化简逻辑函数)(GFADEBDDBBCCBCAABL)(GFADEBDDBBCCBCBAL(利用反演律))(GFADEBDDBBCCBA(利用)(配项法)BABAABDDBBCCBA(利用A+AB=A))()(CCBDDBBCDDCBACBDBCDDBBCDCBCDBABCDDBBCDCBA(利用A+AB=A)DBBCBBDCA)(DBBCDCA(利用)1AA•由上例可知,逻辑函数的化简结果不是唯一的。代数化简法的优点是不受变量数目的限制。缺点是:没有固定的步骤可循;需要熟练运用各种公式和定理;在化简一些较为复杂的逻辑函数时还需要一定的技巧和经验;有时很难判定化简结果是否最简。解法1:解法2:例8化简逻辑函数:BACBCBBAL2.2.2逻辑函数的卡诺图化简法一、最小项的定义与性质最小项的定义n个变量的逻辑函数中,包含全部变量的乘积项称为最小项。n变量逻辑函数的全部最小项共有2n个。二、逻辑函数的最小项表达式任何一个逻辑函数表达式都可以转换为一组最小项之和,称为最小项表达式。例1:将以下逻辑函数转换成最小项表达式:解:解:CAABCBAL),,()()(),,(BBCACCABCAABCBALCBABCACABABC=m7+m6+m3+m1例2将下列逻辑函数转换成最小项表达式:CBAABABFCBABCAABCBABAABCBAABAB))((CBAABABFCBABCACABABCCBABCACCAB)(=m7+m6+m3+m5=∑m(3,5,6,7)三、卡诺图2.卡诺图用小方格来表示最小项,一个小方格代表一个最小项,然后将这些最小项按照相邻性排列起来。即用小方格几何位置上的相邻性来表示最小项逻辑上的相邻性。ACBBACCBAABC)(1.相邻最小项如果两个最小项中只有一个变量互为反变量,其余变量均相同,则称这两个最小项为逻辑相邻,简称相邻项。例如,最小项ABC和就是相邻最小项。如果两个相邻最小项出现在同一个逻辑函数中,可以合并为一项,同时消去互为反变量的那个量。如CBA3.卡诺图的结构(2)三变量卡诺图0mABCmABC1m3mABCABC265mABC74ABCmmmABCABC0(a)(b)132457610011100BCA01BCA(1)二变量卡诺图(3)四变量卡诺图仔细观察可以发现,卡诺图具有很强的相邻性:(1)直观相邻性,只要小方格在几何位置上相邻(不管上下左右),它代表的最小项在逻辑上一定是相邻的。(2)对边相邻性,即与中心轴对称的左右两边和上下两边的小方格也具有相邻性。m0ABCDABCDm1ABCDm3mABCD2m567mmABCDABCDmABCD4ABCDABCDmm13ABCDABCD1412m15mABCDABCDABCDmABCD8m1011m9mABCDABCD0132765413141512981110ABCD0000010111111010(a)(b)四、用卡诺图表示逻辑函数1.从真值表到卡诺图例3某逻辑函数的真值表如下表所示,用卡诺图表示该逻辑函数。1011010A00BC010001111L解:该函数为三变量,先画出三变量卡诺图,然后根据真值表将8个最小项L的取值0或者1填入卡诺图中对应的8个小方格中即可。2.从逻辑表达式到卡诺图(2)如表达式不是最小项表达式,但是“与—或表达式”,可将其先化成最小项表达式,再填入卡诺图。也可直接填入。例5用卡诺图表示逻辑函数ABCCABBCACBAF7630mmmmFDCBBAG(1)如果表达式为最小项表达式,则可直接填入卡诺图。例4用卡诺图表示逻辑函数:解:写成简化形式:然后填入卡诺图:解:直接填入:五、逻辑函数的卡诺图化简法1.卡诺图化简逻辑函数的原理:(1)2个相邻的最小项结合,可以消去1个取值不同的变量而合并为l项。(2)4个相邻的最小项结合,可以消去2个取值不同的变量而合并为l项。(3)8个相邻的最小项结合,可以消去3个取值不同的变量而合并为l项。总之,2n个相邻的最小项结合,可以消去n个取值不同的变量而合并为l项。2.用卡诺图合并最小项的原则(画圈的原则)(1)尽量画大圈,但每个圈内只能含有2n(n=0,1,2,3……)个相邻项。要特别注意对边相邻性和四角相邻性。(2)圈的个数尽量少。(3)卡诺图中所有取值为1的方格均要被圈过,即不能漏下取值为1的最小项。(4)在新画的包围圈中至少要含有1个末被圈过的1方格,否则该包围圈是多余的。3.用卡诺图化简逻辑函数的步骤:(1)画出逻辑函数的卡诺图。(2)合并相邻的最小项,即根据前述原则画圈。(3)写出化简后的表达式。每一个圈写一个最简与项,规则是,取值为l的变量用原变量表示,取值为0的变量用反变量表示,将这些变量相与。然后将所有与项进行逻辑加,即得最简与—或表达式。例6用卡诺图化简逻辑函数:L(A,B,C,D)=∑m(0,2,3,4,6,7,10,11,13,14,15)解:(1)由表达式画出卡诺图。(2)画包围圈,合并最小项,得简化的与—或表达式:解:(1)由表达式画出卡诺图。(2)画包围圈合并最小项,得简化的与—或表达式:例7用卡诺图化简逻辑函数:注意:图中的虚线圈是多余的,应去掉。例3.2.8某逻辑函数的真值表如表3.2.4所示,用卡诺图化简该逻辑函数。(2)画包围圈合并最小项。有两种画圈的方法:(a):写出表达式:解:(1)由真值表画出卡诺图。(b):写出表达式:通过这个例子可以看出,一个逻辑函数的真值表是唯一的,卡诺图也是唯一的,但化简结果有时不是唯一的。4.卡