89C51单片机实用教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 逻辑代数

1.1.1 逻辑变量

逻辑代数是研究数字系统逻辑设计的基础理论。它是从逻辑学发展而来,使用一套有效的符号来建立逻辑思维的数学模型。乔治·布尔(G.Boole)于1847年在他的著作中进行了系统论述,这就是有名的“布尔代数”。随着布尔代数应用于开关电路,它加速了计算机时代的到来和发展。逻辑代数是布尔代数向电子工程领域的延伸和发展,成为研究和设计数字系统不可缺少的重要的数学工具。

逻辑代数是一种二值代数系统,逻辑变量的取值只有两个:“0”和“1”。这里的“0”和“1”不再具有数量的概念,而是判断事件真、伪的符号,没有大小和正负之分。在数字系统中,开关的接通和断开、电压的高和低、信号的有和无、晶体管的导通和截止等两种稳定的状态,都可以用“0”和“1”这两种不同的逻辑值来表示。逻辑代数也有着自己的基本运算法则,用来反映数字系统中相互联系的关系。

1.1.2 逻辑运算

数字系统中逻辑电路种类繁多、功能各异,但它们的逻辑关系都可以用三种基本的逻辑运算综合而成。这三种基本的逻辑运算是:逻辑“或”(逻辑加)、逻辑“与”(逻辑乘)、逻辑“非”(逻辑反)。

1. 逻辑“或”(逻辑加)运算

对于逻辑问题来说,在决定某一事件发生的多个条件中,只要有一个或一个以上的条件成立,该事件即可发生。这种因果关系称为“或”逻辑,又可称为逻辑“加”关系。

例如,在图1.1所示的并联开关电路中,开关A和B中的一个闭合或两个开关都闭合时,灯L都点亮。这时,灯L与开关A、B之间的关系即为逻辑“或”的关系。

逻辑“或”运算又称逻辑加,用“+”或“∨”作为运算符号,可以表示为:

L=A+B或L=A∨B

参加运算的两个逻辑变量A和B中,只要有一个为“1”,运算结果L就为“1”;只有A和B都为“0”时,L才为“0”。表1.1所示为“或”运算的真值表。

在图1.1所示电路中,设开关A、B断开为“0”,闭合为“1”。灯L灭用“0”表示,点亮用“1”表示。可得到表1.1所示的“或”运算的真值表。

“或”的运算法则为:

0+0=0,0+1=1,1+0=1,1+1=1

A+0=A,A+1=1,A+A=A

数字系统中,实现“或”运算关系的逻辑电路称为“或”门。

2. 逻辑“与”(逻辑乘)运算

对于逻辑问题来说,决定某一事件发生的多个条件必须同时具备该事件才可发生,这种因果关系称为“与”逻辑,又称为逻辑“乘”关系。

例如,在图1.2所示的串联开关电路中,开关A和B两个开关都闭合时,灯L才点亮。否则灯灭。这时,灯L与开关A、B之间的关系即为逻辑“与”关系。设开关A、B断开状态为“0”,闭合为“1”。灯L点亮用“1”表示,灭用“0”表示。可得到表1.2所表示的“与”运算的真值表。

表1-2 “与”运算的真值表

逻辑“与”运算又称逻辑乘,用“·”或“∧”作为运算符号,可以表示为:

L=A·B或L=A∧B

参加运算的两个逻辑变量A和B中,只有A和B都为“1”时L才为“1”;只要有一个为“0”,运算结果L就为“0”。表1.2所示为“与”运算的真值表。

“与”的运算法则为:

0·0=0,0·1=0,1·0=0,1·1=1

A·0=0,A·1=A,A·A=A

数字系统中,实现“与”运算关系的逻辑电路称为“与”门。

3. 逻辑“非”(逻辑取反)运算

对于逻辑问题来说,如果决定某一事件发生取决于条件的否定,这种因果关系称为“非”逻辑,又称为逻辑“取反”关系。

例如,在图1.3所示的电路中,开关与灯并联。显然,只有开关断开时,灯才点亮;开关闭合,则灯熄灭。这时,灯L与开关A之间的关系即为逻辑“非”的关系。设开关A断开状态为“0”,闭合为“1”。灯L点亮用“1”表示,灭用“0”表示。可得到表1.3所示的“非”运算的真值表。

图1-3 开关与灯并联电路

表1-3 “非”运算的真值表

逻辑“非”运算又称逻取反,用“—”作为运算符号,可以表示为:

参加运算的逻辑变量A,A为“1”时,运算结果L为“0”;A为“0”时,运算结果L为“1”。表1.3所示为“非”运算的真值表。

“非”的运算法则为:

数字系统中,实现“非”运算关系的逻辑电路称为“非”门,有时又叫做“反相器”。

以上介绍的“或”、“与”、“非”是逻辑代数中最基本的逻辑运算,用它们又可以组合生成各种复杂的逻辑关系,在计算机中完成各种逻辑运算任务。

1.1.3 逻辑代数的运算规则

在数字系统中,逻辑关系是多种多样的,有时是比较复杂的。为了用逻辑电路来实现,往往需要对有关的逻辑函数进行运算和化简,这就需要了解逻辑代数中有关运算的公理、定理和规则。

逻辑代数是一个封闭的代数系统,它由两个基本元素“0”和“1”及三种基本运算“与”、“或”、“非”所组成。以下介绍常用的一些基本运算法则。

1. 交换律

对于任意逻辑变量A、B,有:

A+B=B+A A·B=B·A

2. 结合律

对于任意逻辑变量A、B、C,有:

(A+B)+C=A+(B+C)

(A·B)·C=A·(B·C)

3. 分配律

对于任意逻辑变量A、B、C,有:

A+(B·C)=(A + B)·(A+C)

A·(B+C)=A·B+A·C

4. 摩根定律

对于任意逻辑变量A、B,有:

在逻辑代数中,摩根定律是一个十分重要的定律,它解决了函数求反和逻辑变换的问题。通常记忆时,可以形象地描述为“上面砍一刀,下面变个号”。“砍”上面的“非”号一刀,下面“与”、“非”号变换。

1.1.4 逻辑函数的简化

在数字系统中,根据逻辑问题概括出来的逻辑函数通常不一定是最简的,还必须对逻辑函数进行化简。只有这样,实现这个逻辑函数的逻辑电路才能减小复杂度、降低成本、提高可靠性。通常,把逻辑函数简化为最简形式的过程称为逻辑函数的最小化。

逻辑函数的化简通常有两种方法:代数化简法和卡诺图化简法。

代数化简法又称公式化简法,就是运用逻辑代数的公理、定理和运算法则对逻辑函数进行化简。这种方法在对逻辑运算法则、公式十分熟练时比较方便,而且不受变量数目的约束。但是技巧性很强,难以判断结果是否为最简。

卡诺图化简法又称图解化简法,它的基础是利用卡诺图来化简。n个变量的卡诺图是一种由2n个方格构成的图形。每个方格表示逻辑函数的一个最小项。由于任何逻辑函数都可以表示为“最小项之和”的形式,因此,一个逻辑函数可由图形中若干方格构成的区域来表示,这些方格与包含在函数中的各个最小项相对应。在卡诺图上直观清晰地反映了最小项的相邻关系。卡诺图化简法就是通过对图上表征相邻最小项的相邻小方格进行合并,可以很方便地求出函数的最简“与-或”表达式和最简“或-与”表达式。

在本节中只介绍代数化简法的一些方法。

【例1-1】 化简(A+B)(A+C)。

这个结果以后可以直接引用。

【例1-2】 证明

证:根据例1-1的结果:A+BC=(A+B)(A+C)

代入该式,得到:

【例1-3】 证明

证:等式左右两边同乘以(A + B),得出:

由此,此式即为摩根定律。

【例1-4】 化简