当有n个变量时,“或”函数可表示为:(1.59)S-a+b+c+d+...前述各项性质仍然成立。1.5.1.2逻辑代数基本规则有n个逻辑变量,其间可以用逻辑运算符连结,组成表达式,称为逻辑表达式或逻辑方程。这些逻辑变量可以是直接的(α)或反置的(a)。逻辑表达式的运算有下面一些规则。(1)分配律逻辑乘对于逻辑加的分配律:a·(b+c)=ab+ac逻辑加对于逻辑乘的分配律:a+bc=(a+b)(a+c)a+ bcd= (a+ b)(a+ c)(a+d)(2)吸收律有下面的关系:a+ab=aa+ab=a+ba.(a+b)=aa.(a+b)=ab(3)反置关系对于逻辑加,有:若S=a+b,则s-a+b-a.b。更-般地,若s-a+b+c+d.则s-a+b+c+d...-a·b.a..对于逻辑乘,有:若S-a·b,则3-a.-a+b。更-般地,若s-ab.cd...,s-a.b.c.d....-a+b+c+a+..下面举几个例子。【例1】S=(a+b).c-(a+b)+c=a.b+cS-ab+cd-ab.cd=(a+b)(c+a)=(a+b)(c+a)【例2】S-a[ce+b(a+e)j=a+ce+b(d+e)【例3】=a+ce.b (d+e)=a+(c+e)(+d.e)1.5.1.3逻辑关系式的简化逻辑关系式往往不是最简形式,可以进步简化。在工程上,一个逻辑关系式可以代表一个控制系统,它的简化就意味着以最少的元件、装置达到同样的效果。以图1.43(α)所示电路为例,对应的逻辑关系式为:y=rt+st+ru+su根据前述逻辑代数运算规则,可以简化为:y= (r+ s)(t+u)由此得到简化、等效的新电路(图1.43(6))。31
?YLtiO:O:(6)(a)图1.43逻辑电路图例逻辑关系式的简化可以用不同方式进行。在此简单的介绍代数法。利用卡诺图图解简化的方法将在后面介绍。通过代数运算进行简化,主要是利用逻辑运算的基本规则。简化中还宜运用一些技巧。举例如下。【例1]X-ab+ab+ab-ab+ab+ab+ab=a (b+6) +b (a+a)=a+b=ab该例中,加上了一项已存在项万,利用了a十a=a的性质。【例2】X=ab+ai+bc=b(a+c)+ac+aa=(a+c)(b+a)该例中,增加了aa一项,利用了aa=o的性质。【例3]X-c(a+ab)先求X=c(a+ab)=c+a(a+b)=c+aa+ab-c+abX=x-c+ab-c(a+b)于是有该例中,先求又,然后再利用又X的性质,求得X的简化式。上述几个例题说明,用代数法简化逻辑表达式需要一定的技巧,还需要准确地运用逻辑运算法则。然而,得到的简化结果是否是最简的,尚难以判断。1.5.2真值表逻辑关系可以用真值表表示。真值表是研究因果问题的一种表格形式,在表中把各种因素全部考虑进去,然后研究其结果。个逻辑问题若有n个变量,在真值表中就有(n+1)列,其中包括n列变量和1列结果:横向有2"项,每2项反映一个变量的取值变化(0或1)。每一项最后,根据要求在结果列中给出相应逻辑表达式的取值,满足结果的项为“1”,不满足结果的项为“0”,不确定项不填或以“二”表示。真值表不仅可以全面不遗漏地分析各种可能情况,而且直观清晰,易于写出逻辑问题的布尔代数式。举几个例子说明真值表的使用。32
“非”函数的真值表【例1]如表1.2,第1列为变量a,第2列为函数S。作为非”函例1真值表表1.2s数,变量值为0,函数值就为1;变量值为1,函数值就为0。该a01函数仅有1个变量,所以真值表共有2列;1个变量只有2种取1值,所以表中有2行。【例2]】“是”函数的真值表例2真值表表 1.3与上例相似,可以建立“是”函数的真值表,只是由于函数53关系的改变而影响了函数S的取值(表1.3)。0【例3】“与”函数的真值表1-设有“与”函数Sα·b,有2个变量,其取值就有2共4种可能,所以在真值表中有3列、4行(表1.4)。表中自上而下,先例3真值表表 1. 4令a=0,改变6的值;再令α=1,再改变6的值,由此依次得到6s4种组合,根据逻辑关系,决定每种组合的结果(0或1)。000【例4]“或”函数的真值表010“或”函数真值表的建立与上例类似,只是每种组合运算要依10011“或”函数的法则确定结果。设有函数S=a十6,真值表如表1.5。后面陆续还可以看到,由任意一个逻辑表达式都可以建立真例4真值表表1.5值表,反之由任意一个真值表都可以写出相应的逻辑表达式。通Sb3过真值表分析建立逻辑表达式是解决实际问题的手段之一。同时000也应看到,由真值表所建立的逻辑表达式,以至设计的电路图,难0-1101以判断是否是最简的。1111.5.3卡诺图前面的代数简化法,需要熟练掌撞逻辑关系式的基本性质以及一些技巧,得到的简化表达式有时还难以判断是否为最简形式,使用起来不很方便。在此介绍一种图解法一卡诺图,它不仅可以和真值表一样全面不遗漏地表示变量和函数的因果关系,而且还可以使逻辑关系式的简化变得极为容易。0所谓卡诺图,就是按一定规则画出的方块图。图1.44、图1.45、图1.46就分别是常用的1变量、2变量、3变量的卡诺图。图中一个方块就代表变量的一种取值情况。和真值表类似,有n个逻辑变量,在卡诺图中就有2″个格。例如图1.44中有1个变图1.44单变量卡诺图量a,由21=2个格组成卡诺图,2个格分别代表变量a的两种可能状态,即0和1,标于格内。当有2个变量a、b时(图1.45),卡诺图就由2=4个格组成,每个格代表a、b两个变量01的一种可能的组合。横向代表a的取值(0、1),纵向代表b的0aaa6取值(0、1),分别标于格的上方和右方。当有3个变量a、b、c时,可画出由28个格组成的卡诺图(图1.46)。图中每个格ab代表3个变量的一种可能组合。横向代表α、b的取值(a在前、A6在后),纵向代表的取值,分别标于格的上方和右方。应注意的是变量取值的变化方法要按图中所标的顺序排列,每次只能图1.45双变量卡诺图33
改变其中一个变量值,不可任意变动01111000利用卡诺图,可以简化已知的逻辑表abr达式,还可以由一个实际问题建立相应的a6:abeabt逻辑表达式。基本方法是:将逻辑关系式或真值表中的各项对应地填入图中、标为46abcabc“1”,余下的空格填“0”,当相邻的偶数个格(对称的)皆为“1”时,就可将之合并图1.463变量卡诺图简化为逻辑表达式的一项,其中变量之间为逻辑乘关系。其余“0”项不考虑。按每个合并块尽量大的原则,以卡诺图中每一个合并块为一项,各项之间以逻辑加符号相连,就可得到最简的逻辑表达式。每一项中变量的符号(以变量α为例),如该变量取值发生了变化(合并块中该变量分别出现了0和1),则该变量消去不写;如该变量取值恒为1,则保留,记为a;如该变量取值恒为0,购保留,记为a。更一般地,在有n个变量的卡诺图中(2"个格),若有2*个相邻格(k≤n)的值为1,则可简化为含(n一k)个变量的逻辑表达式。这些相邻格应是偶数个,且是对称的。更具体的简化方法通过下面几个例子说明【例1】简化S,=abc+ab+abc+abc+abe该例中有3个变量,可画出23=8个格的卡诺图(图1.47),将式中各项填入对应格内。ab如第一项abc对应于第1行第3个格。00011110S,中的5项占了5个格,皆记为1,另外3个空格填0。可组合成两组偶数且对称的组合项:右侧的4项及下侧中部的2项。每一个组合就代表了简化的逻辑表达式中的一个逻辑项。图中右侧的4项a的取值总为1.保留;6的取值发生变化,在不同格中分别为0或1,消去;图1.47例1卡诺图C的取值也发生变化,也消去。故这4项只剩下了变量α。在下侧的另一个组合中,α的取值分别为0、1,故消去;b、c的值未变,始终为1,保留。于是该项剩下了6、两个变量,以逻辑乘表达。各个组合之间以逻辑和相联接。最终的简化逻辑表达式为:Si=a + bc【例2]简化表达式S,=abc+bc+ac该例有3个变量,可画出23二8个格ab组成的卡诺图(图1.48),图中每--格代表11000110一个由3个变量组成的项。6项只有2个01变量,在图中就要占2个格(第1行第2、3格),这是因为该项中不含变量a,即对a的取值无限制,这两个格都符合该项的逻辑内容。同样,ac项也占2个格。同上例,图1.48例2卡诺图也可形成2个组合项,并写出简化的逻辑34
表达式:S,-b+ac【例3】简化表达式S:=abc+ab+abctabc画出相应的卡诺图(图1.49)。应注意的是在该图中,最终形成的组合项是项,即应把卡诺图看成是一个立体球面图图 1. 49 例3 卡诺图的平面表达形式。平面图中的左右两个边在球面图中就是一个公共边,上下两个边也是一个公共边,4个角则是一个公共角。于是图中取值为1的4项就连成一片、组合为一体了。其中α、c都分别取了0、1两种值,可消去,只剩下5--项。因此简化结果为:nn101S,=b【例4】简化表达式S,=ab+abc+abc+abc画出逻辑运算图(图1.50)。一种简化方式是形成用实线圈表示的两个组合项,简化的逻辑表达式为:图1.50例4卡诺图S, =ab +ac但在实际应用中,这是一种不可靠的逻辑系统。以电工线路为例,每一个变量就代表一个开关(常开或常闭)。每个开关在动作过程中,可发生非0非1的中间状态。如图1.51开关α的情况,当中间簧片在左侧为α状态,在右侧为a状态。但在两个状态切换过程中,中间簧片不与任一触点相接触,处于非α非状态。这在工程中会影响系统的可靠性。采取的办法是加上重选(逻辑运算图中虚线组合),于是有新的简化表达式:S,=ab+ ac+ bc = (a+ c)(h + a)【例5]简化表达式S=abd+abca+abca+abd+cd该例中,有a、b、c、d4个变量,故卡诺图由2"=16个格组成(图1.52)。当一个逻辑乘项有3个变最时,就占2个格(如ad项);一个逻辑乘项有2个变量时,则占4个格00D1110011D图1.51非a非a状态图1.52例5卡诺图35