1、第1章 逻辑代数基础内容提要内容提要 本章首先介绍数字电路的一些基本概念本章首先介绍数字电路的一些基本概念及数字电路中常用的数制与码;然后介绍数字及数字电路中常用的数制与码;然后介绍数字逻辑中的基本逻辑运算、逻辑函数及其表示方逻辑中的基本逻辑运算、逻辑函数及其表示方法,最后介绍逻辑函数的化简。从现在开始,法,最后介绍逻辑函数的化简。从现在开始,你将跨入数字电子技术这一神奇的世界,去探你将跨入数字电子技术这一神奇的世界,去探索它的奥秘,认识它的精彩。索它的奥秘,认识它的精彩。本章内容1.1 数制数制1.2 数制转换数制转换1.3 编码编码1.4 逻辑代数基础逻辑代数基础1.5 逻辑函数及其表示方
2、法逻辑函数及其表示方法1.6 逻辑代数的定律规矩逻辑代数的定律规矩1.1.1 进位计数制进位计数制v 用一组统一的符号和规则表示的数的方法,称为进位计数制。用一组统一的符号和规则表示的数的方法,称为进位计数制。v它的概念描述为:把数分为不同的位数,逐位累加,加到一定数量它的概念描述为:把数分为不同的位数,逐位累加,加到一定数量后,再从零开始,同时向高位进位。后,再从零开始,同时向高位进位。v 进位计数制有三个要素:数码符号,进位规律和进位基数。数进位计数制有三个要素:数码符号,进位规律和进位基数。数码符号指进位计数制用来表示数的符号,进位规则是指进位计数制在码符号指进位计数制用来表示数的符号,
3、进位规则是指进位计数制在低位向高位进位时遵循什么法则,进位基数表示进位计数制所具有的低位向高位进位时遵循什么法则,进位基数表示进位计数制所具有的数字符号的个数。数字符号的个数。1.1.2 十进制数的表示十进制数的表示 十进制数一共有十进制数一共有10个数码符号,即个数码符号,即0、1、2、3、4、5、6、7、8、9。十进制的进位基数为。十进制的进位基数为10,表示十进制数一共有,表示十进制数一共有10个数码个数码符号。十进制的计算规则是由低位向高位进位时符号。十进制的计算规则是由低位向高位进位时“逢十进一逢十进一”,也就是说,每位累计不能超过也就是说,每位累计不能超过9,计满,计满10就应该向
4、高位进就应该向高位进1。1.1 1.1 数制数制 进位计数制中,当某一位的数码为“1”时,他所表征的数值称为该位的“权”。从左至右每一位的权分为是:102、101、100、10-1、10-2。这样375.38按权展开式如下375.38310271015100310-1810-2 对于十进制数的表示,可以在数字的右下角标注对于十进制数的表示,可以在数字的右下角标注1010或或D D,对于任意一个十进制数对于任意一个十进制数N N,其按权展开式如下,其按权展开式如下 (N)(N)D Da an-1n-11010n-1n-1a an-2n-21010n-2n-2a a1 110101 1a a0 0
5、10100 0a a-1-11010-1-1a a-2-21010-2-2a a-m-m1010-m-m 1010i i其中,其中,表示各个数字符号,为表示各个数字符号,为0 09 9这这1010个数码当中的一个;个数码当中的一个;n n为整数部分的位数;为整数部分的位数;m m为小数部分的位数。为小数部分的位数。1.1.3 1.1.3 二进制的表示二进制的表示 数字系统中常用的进位计数制是二进制数,二进制数一共有2个数码符号,即0和1。二进制的进位基数为2,表示十进制数一共有2个数码符号。二进制的计算规则是由低位向高位进位时“逢二进一”。对于二进制数的表示,可以在数字的右下角标注2或B。例如
6、(10010)B就是一个二进制数。不同数位表示的值不同,各位的权是以2为底的连续整数幂,从右向左递增。对于任意一个二进制数N,其按权展开式如下在数字系统中,常用二进制来表示数字和进行运算,因为它具有如下优点:(1)二进制数只有0和1两个数码,任何具有两个不同稳定状态的元件都可以用来表示一位二进制数。例如晶体管的导通与截至,脉冲信号的“有”与“无”。(2)二进制运算规则简单,其运算规则如下:加法:000 011 101 110(进位)减法:000 011(借位)101 110乘法:000 010100 111除法:010 111(3)二进制数只有两个状态,数字的传输和处理不容易出错,可靠性高。(
7、4)二进制数码的0和1,可与逻辑代数中逻辑变量的值“假”和“真”对应起来。也就是可以用一个逻辑变量代表一个二进制码,这样逻辑运算中就可以使用逻辑代数这个数学工具了。1.1.4 1.1.4 其他进制数的表示其他进制数的表示v 二进制数运算规则简单,便于电路实现,是数字系统中广泛采用的一种数值。但是二进制表示一个数时,数位过长,不便于读写和记忆,容易出错。因为,常常采用的还有八进制和十六进制,这两种进制便于读写和阅读,而且具有二进制的特点,十分容易将他们转为二进制数。v 八进制的基数是8,采用的数码是0、1、2、3、4、5、6、7。计数规则是低位向高位“逢八进一”。权是以8为底的连续整数幂,从右向
8、左递增。由于八进制数码和十进制前8个数码相同,为便于区分,通常在八进制数的右下角标记8或者字母O。例如(53.7)O就是一个八进制数。v 十六进制数基数为16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A、B、C、D、E、F分别表示十进制数字10、11、12、13、14、15。十六进制的计数规则是低位向高位“逢十六进一”。权是以16为底的连续整数幂,从右向左递增。为便于区分,通常在十六进制数右下角标注16或数字后面接H。例如36FA.4BH就是十六进制数。v 一般来说,对于任意的r进制数。都有r个数码,计数规则为“逢r进一”。权是以r为底的连续整数幂,从右
9、向左递增。其按权展开式普遍形式如下:表1.1所示为各种常用不同进制数的区别,表1.2所示常用进制数前16个数表1.1常用进制常用进制英文表示符号英文表示符号数码符号数码符号进位规则进位规则进位基数进位基数二进制B0、1逢二进一2八进制O0、1、2、3、4、5、6、7逢八进一8十进制D0、1、2、3、4、5、6、7、8、9逢十进一10十六进制H0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F逢十六进一16表1.2 不同进制计数制的各种数码十进制数十进制数二进制数二进制数八进制数八进制数十六进制数十六进制数000000010001112001022300113340100445010
10、15560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F1.2 数字转换数字转换 1.2.1其他进制数转换为十进制数其他进制数转换为十进制数 在计算机和其他数字系统中,普遍采用的是二进制数,而人们习惯使用十进制数,所以在信息处理中,必须先把十进制数转换成二进制数,然后再将二进制数的计算结果转换为人们所熟悉的十进制数。其他进制数转换成十进制数是很方便的,只要将其他进制数写成按权展开式,并将式中的各项计算出来,即可得到相对应的十进制数。例如 (110110.101)B1251240
11、2312212102012-102-212-332+16+4+2+0.5+0.125(54.625)D (5AF.8C)H51621016115160816-11216-21280+160+15+0.5+0.046875(1455.546875)D1.2.2 十进制转换为二进制十进制转换为二进制 十进制数转换成二进制数时,需将待转的十进制数分成整数部分和小数部分,整数部分和小数部分分别转换。整数部分采用“除二取整法”,即用十进制数整数部分除以2,取余数“1”或“0”作为相应二进制数的最低位,把得到的商再除以2,取余数作为二进制数的次低位,依次类推,直到商为0,所得余数为最高位。小数部分采用“乘
12、二取整法”,即用十进制数小数部分乘以2,取其整数“1”或“0”作为二进制小数的最高位,然后将乘积的小数部分再乘以2,并再次取整作为二进制数的次高位,依次类推,知道小数部分变为0或达到所要求的精度。例如,将十进制小数0.3125转换为二进制数 余数 0.31252=0.625 0最高位 0.6252=1.25 1 0.252=0.5 0 0.52=1.0 1最低位注意:运算时,式中的整数部分不参与连乘。结果为:(0.3125)-D(0.0101)B 1.3 编码编码 不同的数码不仅可以表示数量的大小,还可以表示不同的事物。用来表示不同事物的数码称为代码。在数字系统或计算机中,数据和信息都是用二进
13、制数字符号0和1来表示的,指定某一组二进制数去代表某一指定的信息,就称为编码。1.3.1 二和十进制(二和十进制(BCD)码)码表1.3 十进制常用的二进制编码十进制数码十进制数码8421BCD8421BCD码码2421BCD2421BCD码码余余3 3码码格雷码格雷码000000000001100001000100010100000120010001001010011300110011011000104010001000111011050101101110000111601101100100101017011111011010010081000111010111100910011111110
14、01101 一一 8421BCD码码 8421BCD码是最基本、最简单的一种编码,应用十分广泛。这种编码是将每个十进制数码用4位二进制数表示,按自然二进制数的规律排列,并且制定前面10个代码一次表示数码09。8421BCD码是一种有权码,其中“8421”是指在这种编码中,代码从高位到低位的位权值分别为8、4、2、1。将其代码为1的数权值相加即可得代码所代表的十进制数。8421BCD码对于十进制的10个数码的表示与普通二进制中的表示完全相同,很容易实现彼此之间的转换。这种码具有奇偶特性,当十进制数码为奇数值时,其所对应的二进制码最低位为1;当十进制数码为偶数时,其所对应的二进制代码的最低位为0。
15、必须指出,在8421BCD码中不允许出现10101111这几个代码,因为在十进制中没有数码与他们对应。二二 2421BCD码码 2421码和8421码相似,也是一种有权码,用4位二进制数代表以为十进制数,2421码的权从高位到低位,每位的位权值分别为2、4、2、1。2421码是一种“对9的自补”代码。在这种编码中,十进制数0和9、1和8、2和7、3和6、4和5的对应码位,当其中一个为0时,另一个就为1,互为反码。也就是说,2421码自身按位求反,就能很方便地地道其“对9的补数”的2421码。在计算机中对十进制进行运算时,2421码的这一特性很有用。需要指出的是,2421码的编码方案不止一种,表
16、1.3给出的只是其中的一种。三三 余余3码码 余3码是一种特殊的8421码,他是由8421BCD码加3后形成的,所以称为余3码。例如,十进制数4在8421BCD码中是0100,在余3码中就成为0111。余3码的各位无固定的权。余3码也是一种“对9的自补”编码。利用余3码能很方便的求得某数“对9的补数”,即把该读数的余3码自身按位取反,就得到该数对9的补数的余3码。四四 格雷(格雷(Gray)码)码 格雷码又称为循环码,它有多种编码形式,但其共同的特点是,任意两个相邻的代码之间仅有一位不同,其余各位均相同。格雷码是一种可靠性编码。代码在数字系统中处理及传送过程中,都可能发生错误,可靠性编码是一种
17、不易出错,或者出错后容易被发现的编码方式。1.3.2 奇偶校验码奇偶校验码 奇偶校验码是一种能检验二进制在传送过程中是否出现错误的编码。它分为两部分,一部分是信息位,这就是需要传送的信息本身;另一部分是奇偶校验位,它使整个代码中的1的个数按预先的规定成为奇数或偶数。当信息位和校验位中1的总个数为1时,称为奇校验;当1的总个数为偶数时,称为偶校验。表1.4中就是由4位信息位和1位奇偶校验位构成的5位奇偶校验码。这种编码的特点是代码始终包含奇数或偶数个1。一旦某一代码在传输过程中出现1的个数不是奇数或偶数时,就会被发现。奇偶校验码只能检测一位出错,而不能发现两位出错。由于两位出错的概率远小于一位出
18、错,所以用奇偶校验码检测错误是有效的。表1.4 十进制数码的奇偶校验码十进制数码十进制数码带奇校验的带奇校验的8421BCD8421BCD码码带偶校验的带偶校验的8421BCD8421BCD码码信息位校验位信息位校验位000001000001000100001120010000101300111001104010000100150101101010601101011007011100111181000010001910011100101.3.3 字符代码 计算机处理的数据不仅有数字,还有字母、标点符号、运算符号及其他特殊符号,这些数字、字母和专用符号统称为字符。字符都必须用二进制代码来表示。通
19、常,把用于表示各种字符的二进制代码称为字符代码。ASCII码(美国信息交换标准码)是一种常见的字符代码。ASCII码用7位二进制数表示128种不同的字符,其中有96个图形字符,他们是26个大写英文字母和26个小写英文字母、10个数字符号及34个专用符号,此外还有32个控制字符。使用时加第8位作为奇偶校验位。ASCII码的编码如表1.4所示。表1.5 7位ASCII码编码表低低4 4位位代码代码高高3 3位代码位代码0000010100111001011101110000NULDLESP0Pp0001SOHDC1!1AQaq0010STXDC22BRbr0011ETXDC3#3CScs0100E
20、OTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx低4位代码高3位代码0000010100111001011101111001HTEM)9IYiy1010LFSUB:JZjz1011VTESC;Kk1100FFFS,Ll|1101CRGSMm1110SORS.Nn1111SIUS/?O_oDEL注:注:1.4 逻辑代数基础逻辑代数基础 逻辑代数是从哲学领域中的逻辑学发展而来,人们使用了一套有效的符号来构造逻辑四位的数学模型,进而将复杂的逻辑问题抽象为一种简单的符号演算。这一理论由莱布尼兹(Leibn
21、iz)最先提出来,乔治布尔(G.Boole)总结了前人的研究成果,与1847年在他的著作中对该理论进行了系统的论述,也称为“布尔代数”。1938年,克劳德香农(C.E.Shannon)将布尔代数直接应用与电话继电器的开关电路,提出了“开关代数”。随着电子技术的发展,集成电路逻辑门已经取代了机械触点开关,为了与“逻辑门”这一术语相适应,人们更习惯于把开关代数称为逻辑代数。目前,逻辑代数已经称为研究数字系统不可缺少的重要数学工具。1.4.1 逻辑变量逻辑变量 逻辑代数中也是用字母变量。在普通代数中,变量的取值是任意实数,而逻辑代数是一种二值代数系统,任何逻辑变量的取值只有两种可能性“0”或“1”。
22、这里的“0”和“1”不再像普通代数那样具有数量的概念,而是一种逻辑值,用来表征矛盾的双份,两种对立的状态,判断事物的是与非,他是形式符号,并无大小和正负之分。在数字系统中,开关的连通与断开,晶体管的导通与截止,电压的高与低,信号的有和无等都可以用逻辑0和逻辑1来表示。4.2 基本逻辑运算基本逻辑运算逻辑代数的基本运算只有3种,“或”、“与”、“非”。这3种基本运算反应了逻辑电路中3种最基本的逻辑关系,其他任何复杂的逻辑关系都是由这3中最基本的运算来实现的。一一“或或“运算运算对于某一逻辑问题,当决定一件事情发生的多个条件中,只要有一个或一个以上条件具备,这件事情就会发生。我们把这种因果关系称为
23、“或”逻辑。“或”运算的逻辑真值表如表1.6所示,。若用逻辑表达式来描述,则可写为表1.6 “或”运算真值表ABF000011101111 FA+B“或”运算的规则为:“输入有1,输出为1;输入全0,输出为0”。0+0=0 1+0=10+1=1 1+1=1“或”运算也可以推广到多变量:F=A+B+C+二二“与与”运算运算对于某一逻辑问题,只有当决定一件事情的多个条件全部具备之后,这件事情才会发生。我们把这种因果关系称为“与”逻辑。“与”运算的逻辑真值表如表1.7所示,。若用逻辑表达式来描述,则可写为表1.7 “与”运算真值表ABF000010100111 FAB“与”运算的规则为:“输入有0,
24、输出为0;输入全1,输出为1”。00=0 10=001=0 11=1“与”运算也可以推广到多变量:F=A+B+C+A01三三“非非“运算运算对于某一逻辑问题,如果某一事件的发生取决与条件的否定,即事件的发生与事件发生条件之间构成矛盾,我们把这种因果关系称为“非”逻辑。“非”运算的逻辑真值表如表1.8所示,。若用逻辑表达式来描述,则可写为表1.8 “非”运算真值表AF0110 F“与”运算的规则为:“输入为0,输出为1;输入为1,输出为0”。1 =01.4.3 其他常用逻辑运算其他常用逻辑运算任何复杂的逻辑运算都可以由这三种基本逻辑运算组合而成。在实际应用中为了减少逻辑门的数目,使数字电路的设计
25、更方便,还常常使用其他几种常用逻辑运算。一一“与非与非”运算运算“与非”运算是由与运算和非运算组合而成。真值表如表1.9所示FBA表1.9 “与非”运算真值表ABF001011101110BA BABA二二“或非或非”运算运算“或非”运算是由或运算和非运算组合而成。真值表如表1.10所示 F表1.10 “或非”运算真值表ABF001010100110 三“异或”运算“异或”是一种二变量逻辑运算,当两个变量取值相同时,逻辑函数值为0;当两个变量取值不同时,逻辑函数值为1。异或的逻辑真值表如表1.11所示。F 表1.11 “异或”运算真值表ABF0000111011101.5 逻辑函数及其表示方法
26、1.5.1逻辑函数的建立逻辑函数的建立 例例5.1 三个人表决一件事情,结果按“少数服从多数”的原则决定,试建立该逻辑函数。解:第一步:设置自变量和因变量。将三人的意见设置为自变量A、B、C,并规定只能有同意或不同意两种意见。将表决结果设置为因变量F,显然也只有两个情况。第二步:状态赋值。对于自变量A、B、C设:同意为逻辑“1”,不同意为逻辑“0”。对于因变量L设:事情通过为逻辑“1”,没通过为逻辑“0”。第三步:根据题义及上述规定列出函数的真值表如表1.12所示。由真值表可以看出,当自变量A、B、C取确定值后,因变量F的值就完全确定了。所以,L就是A、B、C的函数。A、B、C常称为输入逻辑变
27、量,F称为输出逻辑变量。一般地说,若输入逻辑变量A、B、C的取值确定以后,输出逻辑变量L的值也唯一地确定了,就称L是A、B、C的逻辑函数,写作:F=f(A,B,C)逻辑函数与普通代数中的函数相比较,有两个突出的特点:(1)逻辑变量和逻辑函数只能取两个值0和1。(2)函数和变量之间的关系是由“与”、“或”、“非”三种基本运算决定的。表1.12 例1.5.1真值表A B CA B CF F0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1000101111.5.2 逻辑函数的表示方法逻辑函数的表示方法 一个逻辑函数有四种表示方法,即真值表、函数表达式、逻辑图和卡诺图。
28、这里先介绍前三种。一一 真值表真值表真值表是将输入逻辑变量的各种可能取值和相应的函数值排列在一起而组成的表格。为避免遗漏,各变量的取值组合应按照二进制递增的次序排列。真值表的特点:(1)直观明了。输入变量取值一旦确定后,即可在真值表中查出相应的函数值。(2)把一个实际的逻辑问题抽象成一个逻辑函数时,使用真值表是最方便的。所以,在设计逻辑电路时,总是先根据设计要求列出真值表。(3)真值表的缺点是,当变量比较多时,表比较大,显得过于繁琐。二二 函数表达式函数表达式函数表达式就是由逻辑变量和“与”、“或”、“非”三种运算符所构成的表达式。由真值表可以转换为函数表达式,方法为:在真值表中依次找出函数值
29、等于1的变量组合,变量值为1的写成原变量,变量值为0的写成反变量,把组合中各个变量相乘。这样,对应于函数值为1的每一个变量组合就可以写成一个乘积项。然后,把这些乘积项相加,就得到相应的函数表达式了。例如,用此方法可以直接由表1.6.1写出“三人表决”函数的逻辑表达式:ABCCABCBABCAF反之,由表达式也可以转换成真值表,方法为:画出真值表的表格,将变量及变量的所有取值组合按照二进制递增的次序列入表格左边,然后按照表达式,依次对变量的各种取值组合进行运算,求出相应的函数值,填入表格右边对应的位置,即得真值表。1.6 逻辑代数的定律及规则逻辑代数的定律及规则 逻辑代数是一个封闭的代数系统,他
30、也与普通代数一样,有一套完整的运算规则,包括公理、定理和定律,用它们对逻辑函数式进行处理,可以完成对电路的化简、变换、分析与设计。1.6.1逻辑代数的基本定律逻辑代数的基本定律 逻辑代数有以下9个定律,表1.12列举了这9个定律,其中有的定律和普通代数相似,有的定律和普通代数不同,使用时切勿混淆。1.6.2 逻辑代数的基本规则逻辑代数的基本规则BAABCBABCAABCF逻辑代数有3条重要规则,即代入规则、反演规则和对偶规则。这些规则在逻辑运算中十分有用。一一 代入规则代入规则代入规则的基本内容是:对于任何一个逻辑等式,以某个逻辑变量或逻辑函数同时取代等式两端任何一个逻辑变量后,等式依然成立。
31、代入规则的正确性是显然的,因为任何逻辑函数都和逻辑变量一样,只有0和1两种可能的取值。利用代入规则可以方便地扩展公式。例如,在反演律中用BC去代替等式中的B,则新的等式仍成立:使用代入规则必须将等式中所有出现同义变量的地方均以同一函数代替,否则带入后的等式就不成立。二二 反演规则反演规则 将一个逻辑函数L进行下列变换:,;0 1,1 0;原变量 反变量,反变量 原变量。所得新函数表达式叫做F的反函数,用表示。利用反演规则,可以非常方便地求得一个函数的反函数 DBCAF)()(FDBCA解:DCBAFDCBAF 解:F例例1.6.3 求函数的反函数。例例1.6.4 求函数的反函数。在应用反演规则
32、求反函数时要注意以下两点:1.保持运算的优先顺序不变,必要时加括号表明,如例1.6.3。2.变换中,几个变量(一个以上)的公共非号保持不变,如例1.6.4。三三 对偶规则对偶规则 将一个逻辑函数L进行下列变换:,0 1,1 0所得新函数表达式叫做F的对偶式,用表示。对偶规则的基本内容是:如果两个逻辑函数表达式相等,那么它们的对偶式也一定相等。利用对偶规则可以帮助我们减少公式的记忆量。例如,表1.14中的公式l和公式2就互为对偶,只需记住一边的公式就可以了。因为利用对偶规则,不难得出另一边的公式。1.6.3 逻辑函数的代数化简法逻辑函数的代数化简法 一一 逻辑函数式的常见形式逻辑函数式的常见形式
33、 一个逻辑函数的表达式不是唯一的,可以有多种形式,并且能互相转换。常见的逻辑式主要有5种形式,例如 在上述多种表达式中,与或表达式是逻辑函数的最基本表达形式。因此,在化简逻辑函数时,通常是将逻辑式化简成最简与或表达式,然后再根据需要转换成其他形式。2最简与或表达式的标准 (1)与项最少,即表达式中“+”号最少。(2)每个与项中的变量数最少,即表达式中“”号最少。3用代数法化简逻辑函数用代数法化简逻辑函数,就是直接利用逻辑代数的基本公式和基本规则进行化简。代数法化简没有固定的步骤,常用的化简方法有以下几种。1.并项法。运用公式1 AA,将两项合并为一项,消去一个变量。如ABCCABABCCABF
34、)()()()()(CCBACCABCBACABCBAABCCBCBACBBCAFABBABAAB)(在化简逻辑函数时,要灵活运用上述方法,才能将逻辑函数化为最简。1.6.4 逻辑函数的卡如图化简法逻辑函数的卡如图化简法 本节介绍一种比代数法更简便、直观的化简逻辑函数的方法。它是一种图形法,是由美国工程师卡诺(Karnaugh)发明的,所以称为卡诺图化简法。一一 最小项的定义与性质最小项的定义与性质 1最小项的定义 在n个变量的逻辑函数中,包含全部变量的乘积项称为最小项。其中每个变量在该乘积项中可以以原变量的形式出现,也可以以反变量的形式出现,但只能出现一次。n变量逻辑函数的全部最小项共有2n
35、个。如三变量逻辑函数F=f(A,B,C)的最小项共有23=8个,列入表中。从表3.2.2 中可以看出最小项具有以下几个性质:(1)对于任意一个最小项,只有一组变量取值使它的值为1,而其余各种变量取值均使它的值为0。(2)不同的最小项,使它的值为1的那组变量取值也不同。(3)对于变量的任一组取值,任意两个最小项的乘积为0。(4)对于变量的任一组取值,全体最小项的和为1。二二 逻辑函数的最小项表达式逻辑函数的最小项表达式任何一个逻辑函数表达式都可以转换为一组最小项之和,称为最小项表达式。三卡诺图三卡诺图 1相邻最小项如果两个最小项中只有一个变量不同,则称这两个最小项为逻辑相邻,简称相邻项。如果两个
36、相邻最小项出现在同一个逻辑函数中,可以合并为一项,同时消去互为反变量的那个量。如 ACBBACCBAABC)(可见,利用相邻项的合并可以进行逻辑函数化简。有没有办法能够更直观地看出各最小项之间的相邻性呢?有。这就是卡诺图。卡诺图是用小方格来表示最小项,一个小方格代表一个最小项,然后将这些最小项按照相邻性排列起来。即用小方格几何位置上的相邻性来表示最小项逻辑上的相邻性。卡诺图实际上是真值表的一种变形,一个逻辑函数的真值表有多少行,卡诺图就有多少个小方格。所不同的是真值表中的最小项是按照二进制加法规律排列的,而卡诺图中的最小项则是按照相邻性排列的。2卡诺图的结构(1)二变量卡诺图。00011110
37、mABmAB1m03mABAB4A(a)B0132AB(b)0mABCmABC1m3mABCABC265mABC74ABCmmmABCABC0(a)(b)132457610011100BCA01BCAm0ABCDABCDm1ABCDm3mABCD2m567mmABCDABCDmABCD4ABCDABCDmm13ABCDABCD1412m15mABCDABCDABCDmABCD8m1011m9mABCDABCD0132765413141512981110ABCD0000010111111010(a)(b)(2)三变量卡诺图。(3)四变量卡诺图。仔细观察可以发现,卡诺图具有很强的相邻性。首先是直观
38、相邻性,只要小方格在几何位置上相邻(不管上下左右),它代表的最小项在逻辑上一定是相邻的。其次是对边相邻性,即与中心轴对称的左右两边和上下两边的小方格也具有相邻性 ABCCABBCACBAF7630mmmmF 例例1.6.12 用卡诺图表示逻辑函数 解:该函数为三变量,且为最小项表达式,写成简化形式然后画出三变量卡诺图,将卡诺图中m0、m3、m6、m7对应的小方格填1,其他小方格填0。(2)如果逻辑表达式不是最小项表达式,但是“与或表达式”,可将其先化成最小项表达式,再填入卡诺图。也可直接填入,直接填入的具体方法是:分别找出每一个与项所包含的所有小方格,全部填入1。例例1.6.13 用卡诺图表示
39、逻辑函数DCBBAG000100A111110F01BC0110CDAB111111G0000000000图1.2 图1.3 (3)如果逻辑表达式不是“与或表达式”,可先将其化成“与或表达式”再填入卡诺图。1.6.5 逻辑函数的卡诺图化简法逻辑函数的卡诺图化简法一一 卡诺图化简逻辑函数的原理卡诺图化简逻辑函数的原理 (1)2个相邻的最小项结合(用一个包围圈表示),可以消去1个取值不同的变量而合并为l项,如图1.4所示。(2)4个相邻的最小项结合(用一个包围圈表示),可以消去2个取值不同的变量而合并为l项,如图1.5所示。(3)8个相邻的最小项结合(用一个包围圈表示),可以消去3个取值不同的变量
40、而合并为l项,如图1.6所示。ABCDABCD111111111111111ABDABCABDBCDBCCDBD(四角)图1.4 2个相邻的最小项合并 图1.5 4个相邻的最小项合并 DABC111111111111BC图1.6 8个相邻的最小项合并总之,2n个相邻的最小项结合,可以消去n个取值不同的变量而合并为l项。二二 用卡诺图合并最小项的原则用卡诺图合并最小项的原则 用卡诺图化简逻辑函数,就是在卡诺图中找相邻的最小项,即画圈。为了保证将逻辑函数化到最简,画圈时必须遵循以下原则:(1)圈要尽可能大,这样消去的变量就多。但每个圈内只能含有2n(n=0,1,2,3)个相邻项。要特别注意对边相邻
41、性和四角相邻性。(2)圈的个数尽量少,这样化简后的逻辑函数的与项就少。(3)卡诺图中所有取值为1的方格均要被圈过,即不能漏下取值为1的最小项。(4)取值为1的方格可以被重复圈在不同的包围圈中,但在新画的包围圈中至少要含有1个末被圈过的1方格,否则该包围圈是多余的。三三 用卡诺图化简逻辑函数的步骤用卡诺图化简逻辑函数的步骤 (1)画出逻辑函数的卡诺图。(2)合并相邻的最小项,即根据前述原则画圈。(3)写出化简后的表达式。每一个圈写一个最简与项,规则是,取值为l的变量用原变量表示,取值为0的变量用反变量表示,将这些变量相与。然后将所有与项进行逻辑加,即得最简与或表达式。DCBADCBADBAADF
42、DBADF例例1.6.15 用卡诺图化简逻辑函数:解:(1)由表达式画出卡诺图如图1.8所示。(2)画包围圈合并最小项,得简化的与或表达式:DABCDCBA11111111111000001111111100000000LF图1.7 图1.8 注意:图中的虚线圈是多余的,应去掉;图中的包围圈DB是利用了四角相邻性。DB四四 卡诺图化简逻辑函数的另一种方法卡诺图化简逻辑函数的另一种方法圈圈0法法如果一个逻辑函数用卡诺图表示后,里面的0很少且相邻性很强,这时用圈0法更简便。但要注意,圈0后,应写出反函数L,再取非,得原函数。例例1.6.17 已知逻辑函数的卡诺图如图1.10所示,分别用“圈0法”和
43、“圈1法”写出其最简与或式。解:(1)用圈0法画包围圈如图3.2.13(a)所示,得DCBLLDCBDCBL对取非,得:(2)用圈1法画包围圈如图3.2.13(b)所示,得:DCBLABCD001111111111111111A11011011D111C111B(a)(b)LL图1.10(a)圈0的卡诺图 (b)圈1的卡诺图 1.6.6 具有无关项的逻辑函数化简具有无关项的逻辑函数化简一一 什么是无关项什么是无关项 例例1.6.18 在十字路口有红绿黄三色交通信号灯,规定红灯亮停,绿灯亮行,黄灯亮等一等,试分析车行与三色信号灯之间逻辑关系。解:设红、绿、黄灯分别用A、B、C表示,且灯亮为1,灯
44、灭为0。车用L表示,车行L=1,车停L=0。列出该函数的真值表如表1.19所示。表1.19 真值表CBACAB显而易见,在这个函数中,有5个最小项是不会出现的,如(三个灯都不亮)、(红灯绿灯同时亮)等。因为一个正常的交通灯系统不可能出现这些情况,如果出现了,车可以行也可以停,即逻辑值任意。无关项;在有些逻辑函数中,输入变量的某些取值组合不会出现,或者一旦出现,逻辑值可以是任意的。这样的取值组合所对应的最小项称为无关项、任意项或约束项,在卡诺图中用符号来表示其逻辑值。带有无关项的逻辑函数的最小项表达式为:L=m()+d()如本例函数可写成L=m(2)+d(0,3,5,6,7)二二 具有无关项的逻
45、辑函数的化简具有无关项的逻辑函数的化简化简具有无关项的逻辑函数时,要充分利用无关项可以当0也可以当1的特点,尽量扩大卡诺圈,使逻辑函数更简。画出例3.2.10的卡诺图如图3.2.14所示,如果不考虑无关项,包围圈只能包含一个最小项,如图1.11(a)所示,写出表达式为CBAL 如果把与它相邻的三个无关项当作1,则包围圈可包含4个最小项,如图1.11(b)所示,写出表达式为车就行。,其含义:只要灯亮,BL 注意,在考虑无关项时,哪些无关项当作1,哪些无关项当作0,要以尽量扩大卡诺圈、减少圈的个数,使逻辑函数更简为原则。BCA001LCAB00L1(a)(b)图1.11 (a)不考虑无关项 (b)
46、考虑无关项例例1.6.19 某逻辑函数输入是8421BCD码(即不可能出现10101111这6种输入组合),其逻辑表达式为L(A,B,C,D)=m(1,4,5,6,7,9)+d(10,11,12,13,14,15),用卡诺图法化简该逻辑函数解:(1)画出4变量卡诺图,如图1.12(a)所示。将1、4、5、6、7、9号小方格填入1;将10、11、12、13、14、15号小方格填入。(2)合并最小项。与1方格圈在一起的无关项被当作1,没有圈的无关项被当做0。注意,1方格不能漏。方格根据需要,可以圈入,也可以放弃。(3)写出逻辑函数的最简与或表达式:DCBL如果不考虑无关项,如图1.12(b)所示,
47、写出表达式为 DCBBAL可见不是最简。BDCA1111100001101C0A110B11D0(a)(b)图1.12 (a)考虑无关项 (b)不考虑无关项卡诺图化简法的优点是简单、直观,有一定的化简步骤可循,不易出错,且容易化到最简。但是在逻辑变量超过5个时,就失去了简单、直观的优点,其实用意义大打折扣。本章小结本章小结 1数字电路中用高电平和低电平分别来表示逻辑1和逻辑0,它和二进制数中的0和1正好对应。因此,数字系统中常用二进制数来表示数据。在二进制位数较多时,常用十六进制或八进制作为二进制的简写。各种计数体制之间可以相互转换。2常用BCD码有8421码、242l码、542l码、余3码等
48、,其中842l码使用最广泛。另外,格雷码(Gray)由于可靠性高,也是一种常用码。3逻辑运算中的三种基本运算是与、或、非运算。分析数字电路或数字系统的数学工具是逻辑代数。4描述逻辑关系的函数称为逻辑函数,逻辑函数是从生活和生产实践中抽象出来的,只有那些能明确地用“是”或“否”作出回答的事物,才能定义为逻辑函数。逻辑函数中的变量和函值都只能取0或1两个值。5常用的逻辑函数表示方法有真值表、函数表达式、逻辑图等,它们之间可以任意地相互转换。6逻辑代数是分析和设计逻辑电路的工具。一个逻辑问题可用逻辑函数来描述。逻辑函数有4种常用的表示方法,即真值表、逻辑表达式、卡诺图、逻辑图。它们各具特点并可以相互
49、转换。7逻辑函数化简的目的是为了获得最简逻辑函数式,从而使逻辑电路简单、成本低、可靠性高。化简的方法主要有公式法和卡诺图法两种。习习 题题1.1 把下列不同进制数写成按权展开形式。(4517.239)D (10110.0101)B (325.711)O (785.4FA)H1.2 完成下列二进制的运算 10111+101.101 1100-111.011 10.011.01 1001.000111.1011.3 将下列二进制数转换成十进制数、八进制数和十六进制数。1110101 0.110101 10111.011.4 将下列十进制数转换成二进制数。29 0.2074 3.3331.5 将下列
50、8421BCD码转换成十进制数和二进制数 011010000011 01000101.10011.6 将下列一组数按从小到大的顺序排列 (11011001)B,(135.6)O,(3AF)H,(27)D,(00111000)8421BCD1.7 分别指出变量(A,B,C,D)在何种取值时,下列函数值为1。F=BD+ABCF=(A+B+AB)(A+B)AB+DF=(A+AC)D+(A+B)CD1.8 用逻辑代数定律真名下列表达式 (AB+AC)=AB+ACAB+AB+AB+AB=1ABC+ABC=(AB+BC+AC)(ABC+AB)+BC=AB1.9 求下列函数的反函数和对偶函数 F=A C+B