第三章 开关理论基础
3.1 数制与编码
什么叫数制?
多位数码每一位的构成以及从低位到高位的进位规则称为数制。
1,十进制
十进制的每一位由 0~ 9十个数码构成,所以十进制的基数为 10,低位到高位是逢十进一。
6 6 6 6
6× 100 = 6
6× 101 = 6 0
6× 102 = 6 0 0
6× 103 = 6 0 0 0
+
6 6 6 6
同样的数码在不同的数位上代表的数值不同。
103,102,101,100称为十进制的权,任意一个十进制数都可以表示为各个数位上的数码与其对应的权的乘积之和。
( 6666 )10= 6× 103 + 6× 102+ 6× 101+ 6× 100
如果一个十进制数 N包含n位整数和m位小数,即
( an-1 an-2 … a 1 a0 · a- 1 a- 2 … a - m)10
N = an-1× 10n-1 + an-2 × 10n-2 + … + a1× 101+ a0 × 100
+ a- 1 × 10-1+ a- 2 × 10-2+ … + a- m× 10-m
上式是把一个十进制数按权展开,写成展开式(称为权展开式)
2,二进制
二进制的每一位由 0,1两个数码构成,所以二进制的基数为 2,低位到高位是逢二进一。
1 1 1 1
1× 20 = 1
1× 21 = 2
1× 22 = 4
1× 23 = 8
+
1 5? 同样的数码在不同的数位上代表的数值不同,相加 以后就得到十进制数表示的该二进制数的数值 23,22,21、
20称为二进制的权,一个二进制数同样可以表示为各个数位上的数码与其对应的权的乘积之和。
如果一个二进制数 N包含n位整数和m位小数,即
(N)2 = (bn-1 bn-2 … b 1 b0 · b- 1 b- 2 … b - m)2
(N)2 = bn-1× 2n-1 + bn-2 × 2n-2 + … + b1× 21+ b0
× 20+ b- 1 × 2-1+ b- 2 × 2-2+ … + b- m× 2-m
上式是把一个二进制数按权展开,写成权展开式。
由二进制的权展开式很容易将一个二进制数转换为十进制数。
( 1111 )2= 1× 23 + 1× 22+ 1× 21+ 1× 20
二进制数的运算规则
加法
0+ 0= 0
0+ 1= 1
1+ 0= 1
1+ 1= 0且向高位进 1
减法
0- 0= 0
0- 1= 1且向高位借 1
1- 0= 1
1- 1= 0
二进制数只有 0和 1两个数码,它的每一位都可以用电子元件来实现,且运算规则简单,相应的运算电路也容易实现。
3,十六进制用二进制表示一个数时位数多 49 11001
不便书写和记忆,因此在计算机资料中常使用十六进制来表示二进制数。
十六进制的每一位由 0~ 9,A(10),B(11),C(12),D(13)
,E(14),F(15)十六个数码构成,十 六 进制的基数为 16
,低位到高位是逢十六进一。
将十六进制数按权展开,可以转换为十进制数。
14E6 = 1× 163+ 4× 162+ E× 161+ 6× 160
= (5350)10
各数位的权是 16的幂。
二 进 制 十 六 进 制 二 进 制 十 六 进 制
0 0 0 0 0 1 0 0 0 8
0 0 0 1 1 1 0 0 1 9
0 0 1 0 2 1 0 1 0 A (10)
0 0 1 1 3 1 0 1 1 B (11)
0 1 0 0 4 1 1 0 0 C (12)
0 1 0 1 5 1 1 0 1 D (13)
0 1 1 0 6 1 1 1 0 E (14)
0 1 1 1 7 1 1 1 1 F (15)
十六进制的基数 16 = 24,所以每一位十六进制数对应四位二进制数。
二进制数与十六进制数的相互转换
二进制数 十六进制数将二进制数由小数点开始,整数部分向左,小数部分向右,每四位分成一组,不够四位补零,则每组二进制数便是一位十六进制数。
1 1 1 1 0 1 0 0 0,0 1 10 0 0 0
( 1 E 8,6 )16
二进制数 十六进制数将每位十六进制数用四位二进制数表示。
( A F,2 6 )16 = 1010 1111,0010 0110
二进制数与十进制数的相互转换十进制数 → 二进制数基数除法1,整数的转换
将十进制整数除以基数 2,余数便是二进制数的最低位;
商再除以 2,余数便是次低位;
不断除以基数 2,直到商为 0,最后一次的余数是二进制数的最高位。
二进制数 → 十进制数
2
2
2
2
2
2
4 1
1
0
0
1
0
1
2 0
1 0
5
2
1
0 高位低位
3.1.3 二进制代码
数字系统只能识别 0和 1,怎样才能表示更多的数码、
字母,符号 呢?
用一定位数的二进制数来表示十进制数码、字母、符号等信息称为编码。
用以表示十进制数码、字母、符号等信息的一定位数的二进制数称为代码。
二 -十进制代码:用 4位二进制数 b3b2b1b0来表示十进制数中的 0 ~ 9 十个数码。简称 BCD码 。
四位二进制数共产生 0000 ~ 1111 十六个代码,而表示十进制数只需其中的十个,由此产生多种 BCD码。
二 进 制 十六进制 二 进 制 十六进制
0 0 0 0 0 1 0 0 0 8
0 0 0 1 1 1 0 0 1 9
0 0 1 0 2 1 0 1 0 A (10)
0 0 1 1 3 1 0 1 1 B (11)
0 1 0 0 4 1 1 0 0 C (12)
0 1 0 1 5 1 1 0 1 D (13)
0 1 1 0 6 1 1 1 0 E (14)
0 1 1 1 7 1 1 1 1 F (15)
8421BCD码在四位二进制数中采用前十个代码
0000~ 1001
代表十进制数码 0 ~ 9,
另外的 6个数不用,这 6个数叫做“伪码”。
8421码 余 3码 2421码
0 0 0 0 0 0 0 1 1 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 1
2 0 0 1 0 0 1 0 1 0 0 1 0
3 0 0 1 1 0 1 1 0 0 0 1 1
4 0 1 0 0 0 1 1 1 0 1 0 0
5 0 1 0 1 1 0 0 0 1 0 1 1
6 0 1 1 0 1 0 0 1 1 1 0 0
7 0 1 1 1 1 0 1 0 1 1 0 1
8 1 0 0 0 1 0 1 1 1 1 1 0
9 1 0 0 1 1 1 0 0 1 1 1 1
权 8 4 2 1 2 4 2 1
编码种类十进制数
每个十进制数码的 8421码就是该十进制数码等值的二进制数。
余 3码是取十六个四位二进制代码中间的十个,每个十进制数码的余 3码就是该十进制数等值的二进制数加 3
。余 3码是一种无权码,代码中每一位的 1 并不对应确定的数值。
十进制数 3 4 9,6 5
8421BCD码 0011 0100 1001,0110 0101
四位二进制数为一组,表示一位十进制数。每一组(
四位二进制数)中各位的权分别是 8,4,2,1,所以 它是一种有权码。
2421码是取十六个四位二进制代码前后各五个,丢掉中间六个代码所组成的。代码各位按权相加得到的数值就是它所代表的十进制数。
3.1.4 有符号的二进制数
反码负数的反码就是将该数的数值部分每一位取反
,0变 1,1变 0。
N= ( - 1 0 1 1 0 0 )2
N反 = 1 0 1 0 0 1 1
二进制正、负数的表示法 ( 1)原码表示法
( 2)反码表示法 ( 3)补码表示法
3.2 逻辑变量和逻辑代数的三种基本运算
逻辑代数(布尔代数、开关代数):
描述事物逻辑关系的数学方法,是分析和设计数字电路的数学工具。
逻辑:是指事物的因果关系,或者说条件和结果的关系,这些因果关系可以用逻辑运算来表示,也就是用逻辑代数来描述。
3.2.1 逻辑变量
事物的两种对立的状态,在逻辑代数中可以抽象地表示为 0 和 1,称为逻辑 0和逻辑 1。
3.2 逻辑变量和逻辑代数的三种基本运算
逻辑代数中的变量称为逻辑变量,用大写字母表示
。逻辑变量的取值只有两种,即逻辑 0和逻辑 1,0
和 1 称为逻辑常量,并不表示数量的大小,而是表示两种逻辑状态。
逻辑代数中有三种基本的逻辑关系,也就是三种基本的逻辑运算。
3.2.2 基本的逻辑运算
1,逻辑或运算
图中灯的亮与否和两个开关接通与否之间存在一个因果关系,两个开关中只要有一个接通,灯便亮。这种因果关系可以归纳为:
只要有一个条件满足,结果就会发生。
BAF
这种因果关系叫逻辑或。
F = A + B 逻辑表达式
A,B表示开关的状态,F表示灯的状态
将开关接通记作逻辑 1 开关断开记作逻辑 0
灯亮记作逻辑 1 灯灭记作逻辑 0
可以作出如下表格来描述或逻辑关系:
这种把所有可能的条件组合及其对应结果一一列出来的表格叫做真值表。
A B F
0 0 0
0 1 1
1 0 1
1 1 1
真值表课后思考:
如果是三个并联开关,则需要三个变量 A,B,C分别表示这三个开关的状态,如何列出或逻辑的真值表?
首先要考虑的是,总共有多少种可能的条件组合?
即 A,B,C三个变量总共有多少种取值组合?
0+ 0= 0
0+ 1= 1
1+ 0= 1
1+ 1= 1
A,B中只要有一个为 1,F就为 1;
A,B同时为 0,F才为 0。
逻辑表达式 F = A + B
F 输出逻辑变量,A,B 输入逻辑变量当输入变量的取值确定之后,输出变量的值便随之确定,因而输入与输出之间是一种函数关系,
F是 A和 B的函数。
逻辑函数式
A B F
0 0 0
0 1 1
1 0 1
1 1 1
真值表
实现逻辑或的电路称为或门或门的逻辑符号
2,逻辑与运算
图中灯亮与否和两个开关接通与否之间的因果关系是,
两个开关必须同时接通,灯才亮。这种因果关系可以归纳为:
只有条件同时满足,结果才会发生。
这种因果关系叫逻辑与。
BAF BAF ABF?
F = A · B 逻辑表达式
A,B表示开关的状态,F表示灯的状态
将开关接通记作逻辑 1 开关断开记作逻辑 0
灯亮记作逻辑 1 灯灭记作逻辑 0
A B F
0 0 0
0 1 0
1 0 0
1 1 1
真值表
0 · 0= 0 0 · 1= 0 1 · 0= 0 1 · 1= 1
A,B中只要有一个为 0,F就为 0;
A,B同时为 1,F才为 1。
与门的逻辑符号
A B F
0 0 0
0 1 0
1 0 0
1 1 1
真值表
3,逻辑非运算
仍然把开关接通作为条件,灯亮作为结果。开关不接通
,灯反而亮。这种因果关系可以归纳为:
条件满足时,结果不发生;条件不满足,结果反而发生。
这种因果关系叫逻辑非(逻辑求反)。
AF?
读作 F等于 A反
A表示开关的状态,F表示灯的状态
将开关接通记作逻辑 1 开关断开记作逻辑 0
灯亮记作逻辑 1 灯灭记作逻辑 0
得到逻辑非真值表
AF?
A F
0 1
1 0
0110
通常称 A 为原变量,A为反变量。
非门的逻辑符号
3.3 常见的逻辑门电路除了与、或、非三种基本逻辑运算,还有一些常见的复合逻辑运算:与非、或非、与或非 …
实现复合逻辑运算相应的单元电路:
与非门、或非门,与或非门 …
1,与非门
A B F
0 0 1
0 1 1
1 0 1
1 1 0
真值表
BAF
逻辑表达式
A,B中只要有一个为 0,
F就为 1(0);
A,B同时为 1,F才为 0(1)
2,或非门
A B F
0 0 1
0 1 0
1 0 0
1 1 0
真值表
BAF
逻辑表达式
A,B中只要有一个为 1,F
就为 0 (1);
A,B同时为 0,F才为 1(0 )
3,异或门
BAF
异或的运算符号为?
A B F
0 0 0
0 1 1
1 0 1
1 1 0
真值表
4,异或非门
A B F
0 0 1
0 1 0
1 0 0
1 1 1
真值表
F = A⊙ B
异或非的运算符号为 ⊙
5,与或非门
DCBAF
逻辑表达式逻辑函数的表示方法
DCBAF
逻辑函数的一般表达式CBAfF,,? p76
① 逻辑表达式(逻辑函数式)
② 真值表
③ 逻辑图
p78
逻辑图
将逻辑函数式中各变量之间的逻辑运算用相应门电路的逻辑符号表示,就是该函数的逻辑图。
DCBAF
P78倒数第二行,
P79倒数第三行
由于图中的逻辑符号通常都表示了具体的电路器件
,又称为逻辑电路图。
3.6 逻辑函数的标准形式
与 -或表达式:乘积项(与项)之间只进行或运算的表达式。
乘积项(与项):变量之间只进行与运算
DCBAF1 )()(2 DCBAF
p83
逻辑表达式
3.6.1 由真值表写出逻辑表达式
BA
BA
BABA?
分析 F等于 1的情况,输入变量有两种取值组合使 F
等于 1。
F =
这两种取值组合都使 F等于 1,它们之间是或的关系。
P78倒数第三行异或非门真值表
A B F
0 0 1
0 1 0
1 0 0
1 1 1
BA
AB
ABBA?F =
P79倒数第四行
CBA
BCA
CBA
ABC
A B CCBABCACBA
分析 F等于 1的情况,输入变量有四种取值组合使 F等于 1
F =
P83例
由真值表写逻辑表达式的方法小结:
⑴ 对应每个函数值为 1的输入变量取值组合写成一个乘积项。乘积项中的因子,若输入变量取值为 1,
则写其原变量;若输入变量取值为 0,则写成反变量 。
⑵ 将这些乘积项相加,即得到逻辑函数式。
逻辑函数的运算顺序和书写:
① 逻辑运算顺序和普通代数一样,先算括号里的内容,然后做与运算,最后做或运算。
② 先或后与的运算式,或运算要加括号。 如
③ 逻辑式求反时可以不再加括号。 如可以写成
)()( DCBA
FEDCBA )()(
FEDCAB
3.4 逻辑代数的基本定律和规则
3.4.1 基本定律(基本公式)
建议归入常用公式
3.4.2 基本规则
逻辑代数有三个重要的规则:
1,代入规则:任何一个逻辑等式,若将等式两边出现的同一个变量代之以一个逻辑函数,则等式依然成立。
CBCABAC )(分配律若用函数 F= C+ D代替等式中的变量 C,则
)()()()( DCBDCABADC
DBCBDACA
BABA
若用函数 F= B+ C代替等式中的变量 B,则
CBACBACBA
DCBADCBA
DCBADCBA
(1) +?· ; (2) A,B…?A,B …; (3) 0?1
2,反演规则
注意:a,不能改变原式的运算顺序,变换时先变 ( ),然后变,·,,最后变“+” 。
b,不属于单个变量上的反号应保留。
对于任意一个逻辑函数,若把函数式中并保持原来的运算顺序,所得到的结果就是原函数 F 的反函数 F 。
CDCABF )(1
)()(2 DCBADACBF
(1) +?· ; (2) A,B…?A,B … (3) 0?1
(1) +? · ; (2) 0?1
3,对偶规则如果两个逻辑式相等,则它们的对偶式也相等。
F→F*
F→F
DCBA
DACABADCBA )(
)()()( DACABA
3.5 逻辑代数的常用公式
若两个乘积项中分别包含互为反变量的两个因子,
而其他因子都相同时,则这两项可以合并成一项,
并消去互为反变量的因子。
ABABA)1(
吸收律:如果乘积项是另外一个乘积项的因子,
则这另外一个乘积项是多余的。
BAA )()( BAAA
BAA )1( BA
如果一个乘积项的反是另一个乘积项的因子,则这个因子是多余的。
ABAA)2(
BABAA)3(
CABADCBCABA推论
包含律:如果两个乘积项分别包含互为反变量的两个因子,而这两项的剩余因子正好组成第三项,则第三项是多余的。
前两项剩余因子 BC只要是第三项的因子,则第三项也是多余的。
CABACBCABA)4(
ABBABABA)5(
A B
0 0 0
0 1 1
1 0 1
1 1 0
BABA?
1
0
0
1
ABBA?
3.7 逻辑函数的代数化简方法
ABCAAF
CAF
同一个逻辑函数可以有不同形式的逻辑表达式,
相应的逻辑图也不同,即实现它的电路也不同(
但它们对应唯一的真值表)。
3.7 逻辑函数的代数化简方法
最简与 -或表达式
⑴ 乘积项的个数最少 ;
⑵ 每个乘积项中变量的个数最少。
逻辑表达式越简单,实现它的电路越简单(所用的门电路越少,输入端数越少)。
运用逻辑代数的基本公式和常用公式进行化简
1,并项法利用公式 将两项并为一项ABAAB
CBACBA BA
若两个乘积项中分别包含互为反变量的两个因子,
而其他因子都相同时,则这两项可以合并成一项,
并消去互为反变量的因子。
逻辑函数的代数化简法
(公式化简法 )——
CDBCAABF
CDBCABA
BA
2,吸收法利用公式 将多余项吸收掉AABA
如果乘积项是另外一个乘积项的因子,则这另外一个乘积项是多余的。
3,消去因子法利用公式 消去多余的因子。 BABAA
CBADCBAF
如果一个乘积项的反是另一个乘积项的因子,则这个因子是多余的。
CBADCB
CBADC
CBAD
4,消项法利用公式 消去多余的乘积项。 CAABBCCAAB
BCACABACBF
如果两个乘积项分别包含互为反变量的两个因子,而这两项的剩余因子正好组成第三项,则第三项是多余的。
CACB
3.6.2 最小项
n个变量的逻辑函数中,包含全部变量的乘积项叫做这 n个变量的最小项,在一个最小项中,每个变量都以原变量或反变量的形式作为一个因子出现一次。
3个变量 A,B,C组成的最小项
ABC BCA CBA CAB CBA
CBA CBA CBA 共 23= 8个最小项
A B C ABC ABC ABC ABC ABC ABC ABC ABC
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
三变量全部最小项的真值表
m1 m3 m5m0 m7
每一个最小项都对应一组变量取值,在这组变量取值下,该最小项的值为 1,其它最小项的值都是 0。
通常对最小项进行编号,编号的方法是,把与最小项对应的那一组变量取值视为二进制数,与其对应的十进制数就是该最小项的编号。
例如 3个变量 A,B,C的最小项中,ABC对应的变量取值是 101,相应的十进制数是,5”,因此该最小项的编号是 5,记作 m5。
p85
最小项变量取值表示符号
A B C
A B C 0 0 0 m0
A B C 0 0 1 m1
A B C 0 1 0 m2
A B C 0 1 1 m3
A B C 1 0 0 m4
A B C 1 0 1 m5
A B C 1 1 0 m6
A B C 1 1 1 m7
三变量最小项编号
对于不是最小项表达式的与或表达式,可利用互补律
A+ A= 1 来配项展开成最小项表达式。
逻辑函数的最小项表达式
任何一个逻辑函数都可以表示成唯一的一组最小项之和,称为最小项表达式(标准与或表达式)。
CBABCBACBAF),,(
CBAAABCCCBA )()(
CBABCAA B CCBABCA
4723 mmmm )7,4,3,2(m
p85
1726 mmmm )7,6,2,1(m),,( ABCF
CBA
BCA
CBA
ABC
A B CCBABCACBAF =
P83
7432 mmmm )7,4,3,2(m
CABCBA?
最小项性质
1,全体最小项之和为 1
2,任意两个最小项之积为 0
3,两个相邻项可以合并成一个乘积项,并消去一个变量。
(相邻项是指两个最小项只有一个因子互为反变量,其余因子均相同,又称为逻辑相邻项)
CBCBAA )(
p86
3.8 逻辑函数的卡诺图化简法
3.8.1 卡诺图
用小方格来表示最小项,每个小方格代表一个最小项,
n个变量就有 2n 个小方格,把逻辑相邻的最小项安排在位置相邻的方格中。这种最小项方格图称为卡诺图。
A B 00 01 11 10
m0 m1 m3 m2
A B 00 01 11 10
A B A B A B A B
00 01 11 10
0 ABC ABC ABC ABC
1 ABC ABC ABC ABC
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BC
逻辑相邻的最小项在几何位置上也相邻
。
A BC
0 0 0 1 1 1 1 0
0 0 m0 m1 m3 m2
0 1 m4 m5 m7 m6
1 1 m12 m13 m15 m14
1 0 m8 m9 m11 m10
A B
C D
DCBA
DCAB
DCBA
逻辑相邻的最小项在几何位置上也相邻。
00 01 11 10
00 m0 ABCD m3 ABCD
01 ABCD m5 m7 ABCD
11 ABCD m13 m15 ABCD
10 m8 ABCD m11 ABCD
AB CD
教材 P90:同一行最左和最右端、同一列最上和最下端的小方格在位置上也看成是相邻的,卡诺图具有循环相邻的特性。即,在卡诺图中,
相邻最小项包括上下底相邻,左右边相邻。
3.8.2 利用卡诺图进行逻辑函数化简
一个逻辑函数除了可以用真值表、逻辑表达式、
逻辑图等方法来表示,还可以用卡诺图来表示。
已知一个逻辑函数的最小项表达式,画该逻辑函数的卡诺图的方法是:
对于最小项表达式中的每一个最小项,在卡诺图对应的小方格中填 1,其余的小方格填 0 。
p90
)15,14,3,2,1,0(),,,( mDCBAF
变量取值表示符号
A B C
0 0 1 m1
0 1 0 m2
0 1 1 m3
1 1 0 m6
CABCACBAmm 31
CBCABCBAmm 62
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BC
00 01 11 10
0 ABC ABC ABC ABC
1 ABC ABC ABC ABC
A BC
BCAC
两个逻辑相邻的最小项可以合并成一项,消去一个互为反变量的因子,结果是保留公因子。
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
ABD ACD
BCD
ABD
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BC
C
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BCB
A
CA B CCBABCACBA
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
AD ABCD
四个排成矩形的相邻最小项可以合并成一项,消去两个变量,结果也是保留公因子。注意:相邻最小项包括上下底相邻,左右边相邻和四角相邻
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
BD BD
下面将会看到,八个排成矩形的相邻最小项圈在一起,
可以合并成一个乘积项,消去三个变量。
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
B
C
D
用卡诺图化简逻辑函数的步骤
① 画出逻辑函数的卡诺图;
如果逻辑函数表达式为最小项表达式,可直接填卡诺图,凡函数式中包含的最小项,其对应方格填
1,其余方格填 0。
一般与或表达式先将其写成最小项表达式
② 将能够合并的最小项圈起来,即把相邻的 1 圈在一起;
③ 每一个包围圈内的最小项合并成一个乘积项,将各乘积项相加即是最简的与或表达式。
第三章作业 13.( 1)用卡诺图法化简下列逻辑函数。
DCADCACBADCA B DA B CF
00 01 11 10
00
01
11
10
AB CD
111A B C D 111? 00
101
100?
011?
对应的变量取值
DBBADDCBAF )(),,,( DBBDDA
00 01 11 10
00
01
11
10
AB CD
10A B C D 11对应的变量取值第三章作业 13.( 1)将下面函数表示成最小项之和的形式。
10
( 1)包围圈的个数要尽可能少。(乘积项个数最少)
( 2)包围圈要尽可能大。(包围圈越大,消去的变量越多,包围圈内的方格数必定是 2n,n = 1,2,3 … 合并后消去 n 个变量)
( 3)可重复。(同一个最小项可以被不同的包围圈重复包围,但是每一个圈至少应包含一个新的最小项,
否则就是多余的。)
( 4)全覆盖。卡诺图中每一个,1”方格都必须被圈到
。
为了能够得到最简逻辑表达式,合并最小项(画包围圈)应遵循的几个规则:
0 1
0 0
0 1 1
1 1 1 1
1 0 1 1
C
A B
为了准确快速得到最简与或表达式:
圈相邻项时,一般先把只有一种圈法的相邻项圈出来,然后再先圈大、后圈小,用尽可能少、尽可能大的圈覆盖剩余的最小项。
00 01 11 10
00 1
01 1 1 1
11 1 1 1
10 1
AB CD
00 01 11 10
00 1 1
01 1 1 1
11 1 1
10 1 1
AB CDCD
BC
ABD
ABD
ABCD
00 01 11 10
00 1 1
01 1
11 1 1 1
10 1 1
AB CD
在有些情况下,不同圈法得到的与或表达式都是最简形式。即一个函数的最简与或表达式不是唯一的。
3.8.3 随意项 例,按 8421BCD码设计一个逻辑电路,
能够判断一位十进制数是奇数还是偶数。
A B C D F A B C D F 说 明
0 0 0 0 1 1 0 0 0 1
0 0 0 1 0 1 0 0 1 0
0 0 1 0 1 1 0 1 0 φ 不会出现
0 0 1 1 0 1 0 1 1 φ 不会出现
0 1 0 0 1 1 1 0 0 φ 不会出现
0 1 0 1 0 1 1 0 1 φ 不会出现
0 1 1 0 1 1 1 1 0 φ 不会出现
0 1 1 1 0 1 1 1 1 φ 不会出现输入变量 A,B,C,D取值为 0000~ 1001时,逻辑函数 F有确定的值,根据题意,偶数时为 1,奇数时为 0
)8,6,4,2,0(),,,( mDCBAF
A,B,C,D取值为 1010 ~ 1111的情况不会出现或不允许出现。
随意项:不会出现的输入变量取值组合所对应的最小项叫做随意项。用符号,φ” 表示
由于每一组输入变量的取值都使一个对应的最小项的值为 1,所以当某些输入变量的取值组合不会出现时,可以用它们对应的最小项(即随意项
)恒等于 0 来表示。
0)15,14,13,12,11,10( d
或写成约束方程
随意项之和 ∑d 称为随意条件。
在上面的例子中,
m10 = m11= m12 = m13 = m14 = m15 = 0
m10 + m11+ m12 + m13 + m14 + m15 = 0
∑d( m10,m11,m12,m13,m14,m15)= 0
00 01 11 10
00 1 1
01 1 1
11 φ φ φ φ
10 1 φ φ
AB CD
00 01 11 10
00 1 1
01 1 1
11 φ φ φ φ
10 1 φ φ
AB CD
D
AD
BCD
比较以上两种化简结果,可以看出,利用随意项化简获得的逻辑函数简单得多。
含有随意条件的逻辑函数可以表示成如下形式:
)15,14,13,12,11,10()8,6,4,2,0(),,,( dmDCBAF
卡诺图化简逻辑函数的另一种方法 ——圈 0法例 已知逻辑函数的卡诺图如图所示,分别用,圈 1法,
和,圈 0法,写出其最简与 —或式。
解,( 1) 用圈 1法画包围圈,得:
( 2) 用圈 0法画包围圈,得:
BCAACDCBADBF
))()(( DCABADBF
第三章作业 2.求下面函数的反函数,并加以简化
00 01 11 10
00
01
11
10
AB CD
10A B C D对应的变量取值
BCAACDCBADBF
00 01 11 10
00 0 1 1 0
01 1 1 1 1
11 0 0 1 0
10 0 1 1 0
AB CD
00 01 11 10
00 0 1 1 0
01 1 1 1 1
11 0 0 1 0
10 0 1 1 0
AB CD
DB DA CAB P93- P94
3.1 数制与编码
什么叫数制?
多位数码每一位的构成以及从低位到高位的进位规则称为数制。
1,十进制
十进制的每一位由 0~ 9十个数码构成,所以十进制的基数为 10,低位到高位是逢十进一。
6 6 6 6
6× 100 = 6
6× 101 = 6 0
6× 102 = 6 0 0
6× 103 = 6 0 0 0
+
6 6 6 6
同样的数码在不同的数位上代表的数值不同。
103,102,101,100称为十进制的权,任意一个十进制数都可以表示为各个数位上的数码与其对应的权的乘积之和。
( 6666 )10= 6× 103 + 6× 102+ 6× 101+ 6× 100
如果一个十进制数 N包含n位整数和m位小数,即
( an-1 an-2 … a 1 a0 · a- 1 a- 2 … a - m)10
N = an-1× 10n-1 + an-2 × 10n-2 + … + a1× 101+ a0 × 100
+ a- 1 × 10-1+ a- 2 × 10-2+ … + a- m× 10-m
上式是把一个十进制数按权展开,写成展开式(称为权展开式)
2,二进制
二进制的每一位由 0,1两个数码构成,所以二进制的基数为 2,低位到高位是逢二进一。
1 1 1 1
1× 20 = 1
1× 21 = 2
1× 22 = 4
1× 23 = 8
+
1 5? 同样的数码在不同的数位上代表的数值不同,相加 以后就得到十进制数表示的该二进制数的数值 23,22,21、
20称为二进制的权,一个二进制数同样可以表示为各个数位上的数码与其对应的权的乘积之和。
如果一个二进制数 N包含n位整数和m位小数,即
(N)2 = (bn-1 bn-2 … b 1 b0 · b- 1 b- 2 … b - m)2
(N)2 = bn-1× 2n-1 + bn-2 × 2n-2 + … + b1× 21+ b0
× 20+ b- 1 × 2-1+ b- 2 × 2-2+ … + b- m× 2-m
上式是把一个二进制数按权展开,写成权展开式。
由二进制的权展开式很容易将一个二进制数转换为十进制数。
( 1111 )2= 1× 23 + 1× 22+ 1× 21+ 1× 20
二进制数的运算规则
加法
0+ 0= 0
0+ 1= 1
1+ 0= 1
1+ 1= 0且向高位进 1
减法
0- 0= 0
0- 1= 1且向高位借 1
1- 0= 1
1- 1= 0
二进制数只有 0和 1两个数码,它的每一位都可以用电子元件来实现,且运算规则简单,相应的运算电路也容易实现。
3,十六进制用二进制表示一个数时位数多 49 11001
不便书写和记忆,因此在计算机资料中常使用十六进制来表示二进制数。
十六进制的每一位由 0~ 9,A(10),B(11),C(12),D(13)
,E(14),F(15)十六个数码构成,十 六 进制的基数为 16
,低位到高位是逢十六进一。
将十六进制数按权展开,可以转换为十进制数。
14E6 = 1× 163+ 4× 162+ E× 161+ 6× 160
= (5350)10
各数位的权是 16的幂。
二 进 制 十 六 进 制 二 进 制 十 六 进 制
0 0 0 0 0 1 0 0 0 8
0 0 0 1 1 1 0 0 1 9
0 0 1 0 2 1 0 1 0 A (10)
0 0 1 1 3 1 0 1 1 B (11)
0 1 0 0 4 1 1 0 0 C (12)
0 1 0 1 5 1 1 0 1 D (13)
0 1 1 0 6 1 1 1 0 E (14)
0 1 1 1 7 1 1 1 1 F (15)
十六进制的基数 16 = 24,所以每一位十六进制数对应四位二进制数。
二进制数与十六进制数的相互转换
二进制数 十六进制数将二进制数由小数点开始,整数部分向左,小数部分向右,每四位分成一组,不够四位补零,则每组二进制数便是一位十六进制数。
1 1 1 1 0 1 0 0 0,0 1 10 0 0 0
( 1 E 8,6 )16
二进制数 十六进制数将每位十六进制数用四位二进制数表示。
( A F,2 6 )16 = 1010 1111,0010 0110
二进制数与十进制数的相互转换十进制数 → 二进制数基数除法1,整数的转换
将十进制整数除以基数 2,余数便是二进制数的最低位;
商再除以 2,余数便是次低位;
不断除以基数 2,直到商为 0,最后一次的余数是二进制数的最高位。
二进制数 → 十进制数
2
2
2
2
2
2
4 1
1
0
0
1
0
1
2 0
1 0
5
2
1
0 高位低位
3.1.3 二进制代码
数字系统只能识别 0和 1,怎样才能表示更多的数码、
字母,符号 呢?
用一定位数的二进制数来表示十进制数码、字母、符号等信息称为编码。
用以表示十进制数码、字母、符号等信息的一定位数的二进制数称为代码。
二 -十进制代码:用 4位二进制数 b3b2b1b0来表示十进制数中的 0 ~ 9 十个数码。简称 BCD码 。
四位二进制数共产生 0000 ~ 1111 十六个代码,而表示十进制数只需其中的十个,由此产生多种 BCD码。
二 进 制 十六进制 二 进 制 十六进制
0 0 0 0 0 1 0 0 0 8
0 0 0 1 1 1 0 0 1 9
0 0 1 0 2 1 0 1 0 A (10)
0 0 1 1 3 1 0 1 1 B (11)
0 1 0 0 4 1 1 0 0 C (12)
0 1 0 1 5 1 1 0 1 D (13)
0 1 1 0 6 1 1 1 0 E (14)
0 1 1 1 7 1 1 1 1 F (15)
8421BCD码在四位二进制数中采用前十个代码
0000~ 1001
代表十进制数码 0 ~ 9,
另外的 6个数不用,这 6个数叫做“伪码”。
8421码 余 3码 2421码
0 0 0 0 0 0 0 1 1 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 1
2 0 0 1 0 0 1 0 1 0 0 1 0
3 0 0 1 1 0 1 1 0 0 0 1 1
4 0 1 0 0 0 1 1 1 0 1 0 0
5 0 1 0 1 1 0 0 0 1 0 1 1
6 0 1 1 0 1 0 0 1 1 1 0 0
7 0 1 1 1 1 0 1 0 1 1 0 1
8 1 0 0 0 1 0 1 1 1 1 1 0
9 1 0 0 1 1 1 0 0 1 1 1 1
权 8 4 2 1 2 4 2 1
编码种类十进制数
每个十进制数码的 8421码就是该十进制数码等值的二进制数。
余 3码是取十六个四位二进制代码中间的十个,每个十进制数码的余 3码就是该十进制数等值的二进制数加 3
。余 3码是一种无权码,代码中每一位的 1 并不对应确定的数值。
十进制数 3 4 9,6 5
8421BCD码 0011 0100 1001,0110 0101
四位二进制数为一组,表示一位十进制数。每一组(
四位二进制数)中各位的权分别是 8,4,2,1,所以 它是一种有权码。
2421码是取十六个四位二进制代码前后各五个,丢掉中间六个代码所组成的。代码各位按权相加得到的数值就是它所代表的十进制数。
3.1.4 有符号的二进制数
反码负数的反码就是将该数的数值部分每一位取反
,0变 1,1变 0。
N= ( - 1 0 1 1 0 0 )2
N反 = 1 0 1 0 0 1 1
二进制正、负数的表示法 ( 1)原码表示法
( 2)反码表示法 ( 3)补码表示法
3.2 逻辑变量和逻辑代数的三种基本运算
逻辑代数(布尔代数、开关代数):
描述事物逻辑关系的数学方法,是分析和设计数字电路的数学工具。
逻辑:是指事物的因果关系,或者说条件和结果的关系,这些因果关系可以用逻辑运算来表示,也就是用逻辑代数来描述。
3.2.1 逻辑变量
事物的两种对立的状态,在逻辑代数中可以抽象地表示为 0 和 1,称为逻辑 0和逻辑 1。
3.2 逻辑变量和逻辑代数的三种基本运算
逻辑代数中的变量称为逻辑变量,用大写字母表示
。逻辑变量的取值只有两种,即逻辑 0和逻辑 1,0
和 1 称为逻辑常量,并不表示数量的大小,而是表示两种逻辑状态。
逻辑代数中有三种基本的逻辑关系,也就是三种基本的逻辑运算。
3.2.2 基本的逻辑运算
1,逻辑或运算
图中灯的亮与否和两个开关接通与否之间存在一个因果关系,两个开关中只要有一个接通,灯便亮。这种因果关系可以归纳为:
只要有一个条件满足,结果就会发生。
BAF
这种因果关系叫逻辑或。
F = A + B 逻辑表达式
A,B表示开关的状态,F表示灯的状态
将开关接通记作逻辑 1 开关断开记作逻辑 0
灯亮记作逻辑 1 灯灭记作逻辑 0
可以作出如下表格来描述或逻辑关系:
这种把所有可能的条件组合及其对应结果一一列出来的表格叫做真值表。
A B F
0 0 0
0 1 1
1 0 1
1 1 1
真值表课后思考:
如果是三个并联开关,则需要三个变量 A,B,C分别表示这三个开关的状态,如何列出或逻辑的真值表?
首先要考虑的是,总共有多少种可能的条件组合?
即 A,B,C三个变量总共有多少种取值组合?
0+ 0= 0
0+ 1= 1
1+ 0= 1
1+ 1= 1
A,B中只要有一个为 1,F就为 1;
A,B同时为 0,F才为 0。
逻辑表达式 F = A + B
F 输出逻辑变量,A,B 输入逻辑变量当输入变量的取值确定之后,输出变量的值便随之确定,因而输入与输出之间是一种函数关系,
F是 A和 B的函数。
逻辑函数式
A B F
0 0 0
0 1 1
1 0 1
1 1 1
真值表
实现逻辑或的电路称为或门或门的逻辑符号
2,逻辑与运算
图中灯亮与否和两个开关接通与否之间的因果关系是,
两个开关必须同时接通,灯才亮。这种因果关系可以归纳为:
只有条件同时满足,结果才会发生。
这种因果关系叫逻辑与。
BAF BAF ABF?
F = A · B 逻辑表达式
A,B表示开关的状态,F表示灯的状态
将开关接通记作逻辑 1 开关断开记作逻辑 0
灯亮记作逻辑 1 灯灭记作逻辑 0
A B F
0 0 0
0 1 0
1 0 0
1 1 1
真值表
0 · 0= 0 0 · 1= 0 1 · 0= 0 1 · 1= 1
A,B中只要有一个为 0,F就为 0;
A,B同时为 1,F才为 1。
与门的逻辑符号
A B F
0 0 0
0 1 0
1 0 0
1 1 1
真值表
3,逻辑非运算
仍然把开关接通作为条件,灯亮作为结果。开关不接通
,灯反而亮。这种因果关系可以归纳为:
条件满足时,结果不发生;条件不满足,结果反而发生。
这种因果关系叫逻辑非(逻辑求反)。
AF?
读作 F等于 A反
A表示开关的状态,F表示灯的状态
将开关接通记作逻辑 1 开关断开记作逻辑 0
灯亮记作逻辑 1 灯灭记作逻辑 0
得到逻辑非真值表
AF?
A F
0 1
1 0
0110
通常称 A 为原变量,A为反变量。
非门的逻辑符号
3.3 常见的逻辑门电路除了与、或、非三种基本逻辑运算,还有一些常见的复合逻辑运算:与非、或非、与或非 …
实现复合逻辑运算相应的单元电路:
与非门、或非门,与或非门 …
1,与非门
A B F
0 0 1
0 1 1
1 0 1
1 1 0
真值表
BAF
逻辑表达式
A,B中只要有一个为 0,
F就为 1(0);
A,B同时为 1,F才为 0(1)
2,或非门
A B F
0 0 1
0 1 0
1 0 0
1 1 0
真值表
BAF
逻辑表达式
A,B中只要有一个为 1,F
就为 0 (1);
A,B同时为 0,F才为 1(0 )
3,异或门
BAF
异或的运算符号为?
A B F
0 0 0
0 1 1
1 0 1
1 1 0
真值表
4,异或非门
A B F
0 0 1
0 1 0
1 0 0
1 1 1
真值表
F = A⊙ B
异或非的运算符号为 ⊙
5,与或非门
DCBAF
逻辑表达式逻辑函数的表示方法
DCBAF
逻辑函数的一般表达式CBAfF,,? p76
① 逻辑表达式(逻辑函数式)
② 真值表
③ 逻辑图
p78
逻辑图
将逻辑函数式中各变量之间的逻辑运算用相应门电路的逻辑符号表示,就是该函数的逻辑图。
DCBAF
P78倒数第二行,
P79倒数第三行
由于图中的逻辑符号通常都表示了具体的电路器件
,又称为逻辑电路图。
3.6 逻辑函数的标准形式
与 -或表达式:乘积项(与项)之间只进行或运算的表达式。
乘积项(与项):变量之间只进行与运算
DCBAF1 )()(2 DCBAF
p83
逻辑表达式
3.6.1 由真值表写出逻辑表达式
BA
BA
BABA?
分析 F等于 1的情况,输入变量有两种取值组合使 F
等于 1。
F =
这两种取值组合都使 F等于 1,它们之间是或的关系。
P78倒数第三行异或非门真值表
A B F
0 0 1
0 1 0
1 0 0
1 1 1
BA
AB
ABBA?F =
P79倒数第四行
CBA
BCA
CBA
ABC
A B CCBABCACBA
分析 F等于 1的情况,输入变量有四种取值组合使 F等于 1
F =
P83例
由真值表写逻辑表达式的方法小结:
⑴ 对应每个函数值为 1的输入变量取值组合写成一个乘积项。乘积项中的因子,若输入变量取值为 1,
则写其原变量;若输入变量取值为 0,则写成反变量 。
⑵ 将这些乘积项相加,即得到逻辑函数式。
逻辑函数的运算顺序和书写:
① 逻辑运算顺序和普通代数一样,先算括号里的内容,然后做与运算,最后做或运算。
② 先或后与的运算式,或运算要加括号。 如
③ 逻辑式求反时可以不再加括号。 如可以写成
)()( DCBA
FEDCBA )()(
FEDCAB
3.4 逻辑代数的基本定律和规则
3.4.1 基本定律(基本公式)
建议归入常用公式
3.4.2 基本规则
逻辑代数有三个重要的规则:
1,代入规则:任何一个逻辑等式,若将等式两边出现的同一个变量代之以一个逻辑函数,则等式依然成立。
CBCABAC )(分配律若用函数 F= C+ D代替等式中的变量 C,则
)()()()( DCBDCABADC
DBCBDACA
BABA
若用函数 F= B+ C代替等式中的变量 B,则
CBACBACBA
DCBADCBA
DCBADCBA
(1) +?· ; (2) A,B…?A,B …; (3) 0?1
2,反演规则
注意:a,不能改变原式的运算顺序,变换时先变 ( ),然后变,·,,最后变“+” 。
b,不属于单个变量上的反号应保留。
对于任意一个逻辑函数,若把函数式中并保持原来的运算顺序,所得到的结果就是原函数 F 的反函数 F 。
CDCABF )(1
)()(2 DCBADACBF
(1) +?· ; (2) A,B…?A,B … (3) 0?1
(1) +? · ; (2) 0?1
3,对偶规则如果两个逻辑式相等,则它们的对偶式也相等。
F→F*
F→F
DCBA
DACABADCBA )(
)()()( DACABA
3.5 逻辑代数的常用公式
若两个乘积项中分别包含互为反变量的两个因子,
而其他因子都相同时,则这两项可以合并成一项,
并消去互为反变量的因子。
ABABA)1(
吸收律:如果乘积项是另外一个乘积项的因子,
则这另外一个乘积项是多余的。
BAA )()( BAAA
BAA )1( BA
如果一个乘积项的反是另一个乘积项的因子,则这个因子是多余的。
ABAA)2(
BABAA)3(
CABADCBCABA推论
包含律:如果两个乘积项分别包含互为反变量的两个因子,而这两项的剩余因子正好组成第三项,则第三项是多余的。
前两项剩余因子 BC只要是第三项的因子,则第三项也是多余的。
CABACBCABA)4(
ABBABABA)5(
A B
0 0 0
0 1 1
1 0 1
1 1 0
BABA?
1
0
0
1
ABBA?
3.7 逻辑函数的代数化简方法
ABCAAF
CAF
同一个逻辑函数可以有不同形式的逻辑表达式,
相应的逻辑图也不同,即实现它的电路也不同(
但它们对应唯一的真值表)。
3.7 逻辑函数的代数化简方法
最简与 -或表达式
⑴ 乘积项的个数最少 ;
⑵ 每个乘积项中变量的个数最少。
逻辑表达式越简单,实现它的电路越简单(所用的门电路越少,输入端数越少)。
运用逻辑代数的基本公式和常用公式进行化简
1,并项法利用公式 将两项并为一项ABAAB
CBACBA BA
若两个乘积项中分别包含互为反变量的两个因子,
而其他因子都相同时,则这两项可以合并成一项,
并消去互为反变量的因子。
逻辑函数的代数化简法
(公式化简法 )——
CDBCAABF
CDBCABA
BA
2,吸收法利用公式 将多余项吸收掉AABA
如果乘积项是另外一个乘积项的因子,则这另外一个乘积项是多余的。
3,消去因子法利用公式 消去多余的因子。 BABAA
CBADCBAF
如果一个乘积项的反是另一个乘积项的因子,则这个因子是多余的。
CBADCB
CBADC
CBAD
4,消项法利用公式 消去多余的乘积项。 CAABBCCAAB
BCACABACBF
如果两个乘积项分别包含互为反变量的两个因子,而这两项的剩余因子正好组成第三项,则第三项是多余的。
CACB
3.6.2 最小项
n个变量的逻辑函数中,包含全部变量的乘积项叫做这 n个变量的最小项,在一个最小项中,每个变量都以原变量或反变量的形式作为一个因子出现一次。
3个变量 A,B,C组成的最小项
ABC BCA CBA CAB CBA
CBA CBA CBA 共 23= 8个最小项
A B C ABC ABC ABC ABC ABC ABC ABC ABC
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
三变量全部最小项的真值表
m1 m3 m5m0 m7
每一个最小项都对应一组变量取值,在这组变量取值下,该最小项的值为 1,其它最小项的值都是 0。
通常对最小项进行编号,编号的方法是,把与最小项对应的那一组变量取值视为二进制数,与其对应的十进制数就是该最小项的编号。
例如 3个变量 A,B,C的最小项中,ABC对应的变量取值是 101,相应的十进制数是,5”,因此该最小项的编号是 5,记作 m5。
p85
最小项变量取值表示符号
A B C
A B C 0 0 0 m0
A B C 0 0 1 m1
A B C 0 1 0 m2
A B C 0 1 1 m3
A B C 1 0 0 m4
A B C 1 0 1 m5
A B C 1 1 0 m6
A B C 1 1 1 m7
三变量最小项编号
对于不是最小项表达式的与或表达式,可利用互补律
A+ A= 1 来配项展开成最小项表达式。
逻辑函数的最小项表达式
任何一个逻辑函数都可以表示成唯一的一组最小项之和,称为最小项表达式(标准与或表达式)。
CBABCBACBAF),,(
CBAAABCCCBA )()(
CBABCAA B CCBABCA
4723 mmmm )7,4,3,2(m
p85
1726 mmmm )7,6,2,1(m),,( ABCF
CBA
BCA
CBA
ABC
A B CCBABCACBAF =
P83
7432 mmmm )7,4,3,2(m
CABCBA?
最小项性质
1,全体最小项之和为 1
2,任意两个最小项之积为 0
3,两个相邻项可以合并成一个乘积项,并消去一个变量。
(相邻项是指两个最小项只有一个因子互为反变量,其余因子均相同,又称为逻辑相邻项)
CBCBAA )(
p86
3.8 逻辑函数的卡诺图化简法
3.8.1 卡诺图
用小方格来表示最小项,每个小方格代表一个最小项,
n个变量就有 2n 个小方格,把逻辑相邻的最小项安排在位置相邻的方格中。这种最小项方格图称为卡诺图。
A B 00 01 11 10
m0 m1 m3 m2
A B 00 01 11 10
A B A B A B A B
00 01 11 10
0 ABC ABC ABC ABC
1 ABC ABC ABC ABC
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BC
逻辑相邻的最小项在几何位置上也相邻
。
A BC
0 0 0 1 1 1 1 0
0 0 m0 m1 m3 m2
0 1 m4 m5 m7 m6
1 1 m12 m13 m15 m14
1 0 m8 m9 m11 m10
A B
C D
DCBA
DCAB
DCBA
逻辑相邻的最小项在几何位置上也相邻。
00 01 11 10
00 m0 ABCD m3 ABCD
01 ABCD m5 m7 ABCD
11 ABCD m13 m15 ABCD
10 m8 ABCD m11 ABCD
AB CD
教材 P90:同一行最左和最右端、同一列最上和最下端的小方格在位置上也看成是相邻的,卡诺图具有循环相邻的特性。即,在卡诺图中,
相邻最小项包括上下底相邻,左右边相邻。
3.8.2 利用卡诺图进行逻辑函数化简
一个逻辑函数除了可以用真值表、逻辑表达式、
逻辑图等方法来表示,还可以用卡诺图来表示。
已知一个逻辑函数的最小项表达式,画该逻辑函数的卡诺图的方法是:
对于最小项表达式中的每一个最小项,在卡诺图对应的小方格中填 1,其余的小方格填 0 。
p90
)15,14,3,2,1,0(),,,( mDCBAF
变量取值表示符号
A B C
0 0 1 m1
0 1 0 m2
0 1 1 m3
1 1 0 m6
CABCACBAmm 31
CBCABCBAmm 62
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BC
00 01 11 10
0 ABC ABC ABC ABC
1 ABC ABC ABC ABC
A BC
BCAC
两个逻辑相邻的最小项可以合并成一项,消去一个互为反变量的因子,结果是保留公因子。
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
ABD ACD
BCD
ABD
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BC
C
00 01 11 10
0 m0 m1 m3 m2
1 m4 m5 m7 m6
A BCB
A
CA B CCBABCACBA
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
AD ABCD
四个排成矩形的相邻最小项可以合并成一项,消去两个变量,结果也是保留公因子。注意:相邻最小项包括上下底相邻,左右边相邻和四角相邻
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
BD BD
下面将会看到,八个排成矩形的相邻最小项圈在一起,
可以合并成一个乘积项,消去三个变量。
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
AB CD
B
C
D
用卡诺图化简逻辑函数的步骤
① 画出逻辑函数的卡诺图;
如果逻辑函数表达式为最小项表达式,可直接填卡诺图,凡函数式中包含的最小项,其对应方格填
1,其余方格填 0。
一般与或表达式先将其写成最小项表达式
② 将能够合并的最小项圈起来,即把相邻的 1 圈在一起;
③ 每一个包围圈内的最小项合并成一个乘积项,将各乘积项相加即是最简的与或表达式。
第三章作业 13.( 1)用卡诺图法化简下列逻辑函数。
DCADCACBADCA B DA B CF
00 01 11 10
00
01
11
10
AB CD
111A B C D 111? 00
101
100?
011?
对应的变量取值
DBBADDCBAF )(),,,( DBBDDA
00 01 11 10
00
01
11
10
AB CD
10A B C D 11对应的变量取值第三章作业 13.( 1)将下面函数表示成最小项之和的形式。
10
( 1)包围圈的个数要尽可能少。(乘积项个数最少)
( 2)包围圈要尽可能大。(包围圈越大,消去的变量越多,包围圈内的方格数必定是 2n,n = 1,2,3 … 合并后消去 n 个变量)
( 3)可重复。(同一个最小项可以被不同的包围圈重复包围,但是每一个圈至少应包含一个新的最小项,
否则就是多余的。)
( 4)全覆盖。卡诺图中每一个,1”方格都必须被圈到
。
为了能够得到最简逻辑表达式,合并最小项(画包围圈)应遵循的几个规则:
0 1
0 0
0 1 1
1 1 1 1
1 0 1 1
C
A B
为了准确快速得到最简与或表达式:
圈相邻项时,一般先把只有一种圈法的相邻项圈出来,然后再先圈大、后圈小,用尽可能少、尽可能大的圈覆盖剩余的最小项。
00 01 11 10
00 1
01 1 1 1
11 1 1 1
10 1
AB CD
00 01 11 10
00 1 1
01 1 1 1
11 1 1
10 1 1
AB CDCD
BC
ABD
ABD
ABCD
00 01 11 10
00 1 1
01 1
11 1 1 1
10 1 1
AB CD
在有些情况下,不同圈法得到的与或表达式都是最简形式。即一个函数的最简与或表达式不是唯一的。
3.8.3 随意项 例,按 8421BCD码设计一个逻辑电路,
能够判断一位十进制数是奇数还是偶数。
A B C D F A B C D F 说 明
0 0 0 0 1 1 0 0 0 1
0 0 0 1 0 1 0 0 1 0
0 0 1 0 1 1 0 1 0 φ 不会出现
0 0 1 1 0 1 0 1 1 φ 不会出现
0 1 0 0 1 1 1 0 0 φ 不会出现
0 1 0 1 0 1 1 0 1 φ 不会出现
0 1 1 0 1 1 1 1 0 φ 不会出现
0 1 1 1 0 1 1 1 1 φ 不会出现输入变量 A,B,C,D取值为 0000~ 1001时,逻辑函数 F有确定的值,根据题意,偶数时为 1,奇数时为 0
)8,6,4,2,0(),,,( mDCBAF
A,B,C,D取值为 1010 ~ 1111的情况不会出现或不允许出现。
随意项:不会出现的输入变量取值组合所对应的最小项叫做随意项。用符号,φ” 表示
由于每一组输入变量的取值都使一个对应的最小项的值为 1,所以当某些输入变量的取值组合不会出现时,可以用它们对应的最小项(即随意项
)恒等于 0 来表示。
0)15,14,13,12,11,10( d
或写成约束方程
随意项之和 ∑d 称为随意条件。
在上面的例子中,
m10 = m11= m12 = m13 = m14 = m15 = 0
m10 + m11+ m12 + m13 + m14 + m15 = 0
∑d( m10,m11,m12,m13,m14,m15)= 0
00 01 11 10
00 1 1
01 1 1
11 φ φ φ φ
10 1 φ φ
AB CD
00 01 11 10
00 1 1
01 1 1
11 φ φ φ φ
10 1 φ φ
AB CD
D
AD
BCD
比较以上两种化简结果,可以看出,利用随意项化简获得的逻辑函数简单得多。
含有随意条件的逻辑函数可以表示成如下形式:
)15,14,13,12,11,10()8,6,4,2,0(),,,( dmDCBAF
卡诺图化简逻辑函数的另一种方法 ——圈 0法例 已知逻辑函数的卡诺图如图所示,分别用,圈 1法,
和,圈 0法,写出其最简与 —或式。
解,( 1) 用圈 1法画包围圈,得:
( 2) 用圈 0法画包围圈,得:
BCAACDCBADBF
))()(( DCABADBF
第三章作业 2.求下面函数的反函数,并加以简化
00 01 11 10
00
01
11
10
AB CD
10A B C D对应的变量取值
BCAACDCBADBF
00 01 11 10
00 0 1 1 0
01 1 1 1 1
11 0 0 1 0
10 0 1 1 0
AB CD
00 01 11 10
00 0 1 1 0
01 1 1 1 1
11 0 0 1 0
10 0 1 1 0
AB CD
DB DA CAB P93- P94