第1章数字电子技术基础 内 容 要 点 本章介绍数制与编码、逻辑代数的运算、逻辑代数的公式及定理、逻辑函数表示方法及相互转换、逻辑函数的公式化简法、逻辑函数的卡诺图化简法等内容,重点介绍逻辑函数表示方法和化简方法。 1.1数字电路概述 1.1.1数字信号与数字电路 1. 模拟电路与数字电路 电子电路根据处理的电信号不同可以分为两类。 1) 模拟电路 在连续的时间范围内幅度连续变化的信号称为模拟信号。例如,时间、压强、路程、温度等物理量通过传感器变成的电信号等,图1.1.1(a)是模拟信号的波形图。对模拟信号进行传输和处理的电子线路称为模拟电路。例如,放大器、信号发生器等。 2) 数字电路 时间和幅度都是离散的、不连续的信号称为数字信号。图1.1.1(b)是数字信号的波形图。对数字信号进行传输和处理的电子线路称为数字电路。例如,数字万用表、数字电子钟等。数字电路被广泛应用于数字电子计算机、数字通信系统、数字式仪表等领域。数字电路主要包括信号的产生、放大、整形、传送、控制、存储、计数和运算等组成部分。 图1.1.1模拟信号和数字信号的波形 2. 数字电路的优点 数字电路与模拟电路相比,具有以下优点。 (1) 结构简单,便于集成化、系列化生产,成本低廉,使用方便。 (2) 抗干扰性强,可靠性高,精度高。 (3) 处理功能强,不仅能实现数值运算,还可以实现逻辑运算和判断。 (4) 可编程数字电路很容易实现各种算法,具有很大的灵活性。 (5) 数字信号更易于存储、加密、压缩和传输等。 1.1.2数字电路的特点与分类 1. 数字电路的特点 由于数字电路的工作信号是不连续的数字信号,反映在电路上只有高电位和低电位两种状态,通常将高电位称为高电平,低电位称为低电平。为了分析方便,数字电路采用二进制数进行信息的传输和处理,在数字电路中分别用1和0来表示高电平和低电平。 高电平对应1、低电平对应0的关系称为正逻辑关系。高电平对应0、低电平对应1的关系称为负逻辑关系。本书中所采用的都是正逻辑关系。 数字电路研究的主要问题是逻辑事件中输出信号(0或1)与输入信号(0或1)之间的逻辑关系。这种关系是一种因果关系,所以在数字电路中不能采用模拟电路的分析方法,而是以逻辑代数作为主要工具,利用真值表、逻辑表达式和波形图等来表示电路的逻辑功能,因此数字电路又称为逻辑电路。 2. 数字电路的分类 1) 按“集成度”不同分类 数字集成电路是将电路所有的器件和连接线制作在一块半导体基片(芯片)上而成的。通常以“门”为最小单位,按“集成度”将数字集成电路分类如下。 (1) 小规模集成电路(SSI): 一块硅片上含10~100个元件(或1~10个等效门)。 (2) 中规模集成电路(MSI): 一块硅片上含100~1000个元件(或10~100个等效门)。 (3) 大规模集成电路(LSI): 一块硅片上含1000~100000个元件(或100~10000个等效门)。 (4) 超大规模集成电路(VLSI): 一块硅片上含100000个以上元件(或10000个以上等效门)。 2) 按电路晶体管不同分类 (1) 如果集成逻辑门电路是以双极型晶体管(电子和空穴两种载流子均参与导电)为基础制成的,则称为双极型集成逻辑门电路。它主要有下列几种类型: 晶体管晶体管逻辑门TTL、高阈值逻辑门HTL和射极耦合逻辑门ECL。 (2) 如果集成逻辑门电路是以单极型晶体管(只有一种极性的载流子参与导电: 电子或空穴)为基础制成的,则称为单极型集成逻辑门电路。应用广泛的是金属氧化物半导体场效应管逻辑电路,简称MOS集成电路,可分为PMOS、NMOS和CMOS集成电路。 数制的概念和分类 1.2数制与编码 1.2.1进位计数制 进位计数制也叫位置计数制,简称数制。其计数方法是把数划分为不同的数位,当某一数位累计到一定数量之后,该位又从零开始,同时向高位进位。进位计数制可以用少量的数码表示较大的数,因而被广泛采用。 基数: 每种进位计数制中允许使用的数码总数称为基数,记作R。例如十进制数,允许使用的数码符号为0、1、2、…、9,共10个,故其进位基数R=10。 权值: 某个数位上数码为1时所表征的数值,称为该数位的权值,简称“权”。各个数位的权值均可表示成Ri的形式,其中R是基数,i是各数位的序号。按如下方法确定: 整数部分以小数点为起点,自右向左依次为0、1、2、…、n-1; 小数部分以小数点为起点,自左向右依次为-1、-2、…、-m。n是整数部分的位数,m是小数部分的位数。 某个数位上的数码ai所表示的数值等于数码ai与该位的权值Ri的乘积。所以,R进制的数N可写为 (N)R=an-1an-2…a2a1a0a-1a-2…a-m 又可以写成如下多项式的形式: (N)R=an-1Rn-1+an-2Rn-2+…+a2R2+a1R1+a0R0+a-1R-1 +a-2R-2+…+a-mR-m =∑n-1i=-maiRi 1.2.2常用数制 1. 十进制 在十进制中,每个数位规定使用的数码为0、1、2、…、9,共10个,故其基数R为10。其计数规则是“逢十进一”。各位的权值为10i,i是各数位的序号。 十进制数用下标D表示。例如: (5821.76)D=5×103+8×102+2×101+1×100+7×10-1+6×10-2 2. 二进制 在二进制中,每个数位规定使用的数码为0、1,共2个数码,故其基数R为2。其计数规则是“逢二进一”。各位的权值为2i,i是各数位的序号。 二进制数用下标B表示。例如: (10011.001)B=1×24+0×23+0×22+1×21+1×20+0×2-1+0×2-2+1×2-3 3. 八进制 在八进制中,每个数位上规定使用的数码为0、1、2、3、4、5、6、7,共8个,故其基数R为8,其计数规则为“逢八进一”。各位的权值为8i,i是各数位的序号。 八进制数用下标O表示。例如: (652.741)O=6×82+5×81+2×80+7×8-1+4×8-2+1×8-3 因为23=8,因而三位二进制数可用一位八进制数表示。 4. 十六进制 在十六进制中,每个数位上规定使用的数码符号为0、1、2、…、9、A、B、C、D、E、F,共16个,故其基数R为16,其计数规则是“逢十六进一”。各位的权值为16i,i是各个数位的序号。 十六进制数用下标H表示,例如: (EFA39.1A)H=E×164+F×163+A×162+3×161+9×160+1×16-1+A×16-2 =14×164+15×163+10×162+3×161+9×160+1×16-1+10×16-2 因为24=16,所以四位二进制数可用一位十六进制数表示。 常用的二进制数、八进制数、十进制数、十六进制数之间的对应关系如表1.2.1所示。 表1.2.1常用进制数之间的对应关系 十进制数 二进制数 八进制数 十六进制数 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 数制的转换 1.2.3数制之间的转换 1. 二进制数与十进制数之间的转换 二进制数转换成十进制数时,采用按权展开法。只要将二进制数按权展开,然后将各项数值按十进制数相加,便可得到等值的十进制数。 例1.2.1将二进制数(101100.01)2转换成十进制数。 解: (101100.01)2=1×25+1×23+1×22+1×2-2=(44.25)10 同理,若将任意进制数转换为十进制数,只需将数(N)R写成按权展开的多项式表示式,并按十进制规则进行运算,便可求得相应的十进制数。 2. 十进制数转换为其他进制数 1) 整数转换 整数转换采用基数连除法。把十进制整数N转换成R进制数的步骤如下。 (1) 将N除以R,记下所得的商和余数。 (2) 将第(1)步所得的商除以R,记下所得商和余数。 (3) 重复做第(2)步,直到商为0。 (4) 将各个余数转换成R进制的数码,并按照和运算过程相反的顺序把各个余数排列起来,即为R进制的数。 例1.2.2将十进制数(11)10转换成二进制数。 解: (11)10=(1011)2 例1.2.3将十进制数(427)10转换成十六进制数。 解: (427)10=(1AB)16 2) 纯小数转换 纯小数转换采用基数连乘法。把十进制的纯小数M转换成R进制数的步骤如下。 (1) 将M乘以R,记下整数部分。 (2) 将第(1)步乘积中的小数部分再乘以R,记下整数部分。 (3) 重复做第(2)步,直到小数部分为0或者满足精度要求为止。 (4) 将各步求得的整数转换成R进制的数码,并按照和运算过程相同的顺序排列起来,即为所求的R进制数。 例1.2.4将十进制数小数(0.375)10转换成二进制小数。 解: 整数 0.375×2=0.750 0.75×2=1.51 0.5×2=1.01 (0.375)10=(0.011)2 有时候小数部分乘2取整的过程不一定能使最后乘积为0,因此转换值存在误差。通常在二进制小数的精度已达到预定的要求时,运算便可结束。 将一个带有整数和小数的十进制数转换成二进制数时,必须将整数部分和小数部分分别按除2取余法和乘2取整法进行转换,然后将两者的转换结果合并起来即可。 同理,若将十进制数转换成任意R进制数(N)R,则整数部分转换采用除R取余法,小数部分转换采用乘R取整法,然后再将两者的转换结果合并起来即可。 3. 二进制数与八进制数、十六进制数之间的相互转换 八进制数和十六进制数的基数分别为8和16,所以三位二进制数相当于一位八进制数,四位二进制数相当于一位十六进制数。 二进制数转换成八进制数的方法是从小数点开始,分别向左、向右,将二进制数按每三位一组分组(不足三位的补0),然后写出每一组对应的八进制数。 二进制数转换成十六进制的方法是从小数点开始,分别向左、向右,将二进制数按每四位一组分组(不足四位的补0),然后写出每一组对应的十六进制数。 例1.2.5将二进制数(1011011111.10011)B转换成八进制数和十六进制数。 解: 因为 所以(1011011111.10011)B =(1337.46)O。 同理 所以(1011011111.10011)B =(2DF.98)H。 八进制数、十六进制数转换为二进制数的方法可以采用与前面相反的步骤,即只要按原来顺序将每一位八进制数(或十六进制数)用相应的三位(或四位)二进制数代替即可。 例1.2.6将八进制数(36.24)O转换成二进制数。 解: 因为 所以(36.24)O=(011110.010100)B=(11110.0101)B。 例1.2.7将十六进制数(3DB.46)H转换成二进制数。 解: 因为 所以(3DB.46)H=(001111011011.01000110)B=(1111011011.0100011)B。 1.2.4编码 在数字系统中,需要把十进制的数值、不同的文字、符号等其他信息用二进制数码表示才能处理。用来表示其他信息的二进制数码称为代码。建立这种代码与其他信息一一对应的关系称为编码。 二十进制编码是用四位二进制码的10种组合表示十进制数0~9,简称BCD码。 这种编码至少需要用四位二进制码元,而四位二进制码元可以有16种组合。当用这些组合表示十进制数0~9时,由16种组合中选用其中10种组合,有6种组合不用。常用的BCD码如表1.2.2所示。若某种代码的每一位都有固定的“权值”,则称这种代码为有权代码; 否则,叫无权代码。 表1.2.2几种常见的BCD码 十进制数 8421码 余3码 5421码 2421码 格雷(Gray)码 000000011000000000000 100010100000100010001 200100101001000100011 300110110001100110010 401000111010001000110 501011000100010110111 601101001100111000101 701111010101011010100 810001011101111101100 910011100110011111100 1) 8421码 8421码是最基本和最常用的BCD码,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的6组代码不用。 例1.2.8将十进制数(81.45)D转换成8421 BCD码。 解: (81.45)D=(10000001.01000101)8421 BCD 2) 余3码 余3码是8421码的每个码组加0011形成的。其中的0和9、1和8、2和7、3和6、4和5,各对码组相加均为1111,具有这种特性的代码称为自补代码。余3码各位无固定权值,故属于无权码。 例1.2.9将十进制数(81.45)D转换成余3码。 解: (81.45)D=(10110100.01111000)余3码 3) 5421码和2421码 5421码和2421码为有权BCD码,从高位到低位的权值分别为5、4、2、1和2、4、2、1。这两种有权BCD码中,各自都存在对应的两种BCD码。例如,5421码中的数码5既可以用1000表示,也可以用0101表示; 2421码中的数码6既可以用1100表示,也可以用0110表示。这说明5421码和2421码的编码方案都不是唯一的,表1.2.2只列出了一种编码方案。 用BCD 码表示十进制数时,只要把十进制数的每一位数码分别用BCD码代替即可。反之,若要知道BCD码代表的十进制数,只要把BCD码以小数点为起点向左、向右每四位分一组,再写出每一组代码代表的十进制数,并保持原排序即可。 4) 格雷(Gray)码 Gray码也称循环码,其最基本的特性是任何相邻的两组代码中,仅有一位数码不同,因而又称为单位距离码。 Gray码的编码方案有多种,典型的Gray码如表1.2.2所示。从表中看出,这种代码除了具有单位距离码的特点外,还有一个特点就是具有反射特性,即按对称轴为界,除最高位互补反射外,其余低位数沿对称轴镜像对称。利用这一反射特性可以方便地构成位数不同的Gray码。 1.3逻辑代数基础 逻辑代数又称布尔代数或开关代数,是英国数学家乔治·布尔在1847年首先创立的。逻辑代数是研究逻辑函数与逻辑变量之间规律的一门应用数学,是分析和设计数学逻辑电路的数学工具。 逻辑是指事物因果之间所遵循的规律。在客观世界中,事物的发展变化通常都是有一定因果关系的。例如,某同学是否能取得毕业证书取决于是否达到毕业条件,如果达到毕业条件了,则能毕业; 否则就不能毕业。这种因果关系一般称为逻辑关系。因为数字电路的输出信号与输入信号之间的关系就是逻辑关系,所以数字电路的工作状态可以用逻辑关系来描述。 1.3.1逻辑代数的逻辑变量 逻辑代数采用逻辑变量和运算符组成逻辑函数表达式来描述事物的因果关系。逻辑函数与普通代数中的函数相似,它是随自变量的变化而变化的因变量。因此,如果用自变量和因变量分别表示某一事件发生的条件和结果,那么该事件的因果关系就可以用逻辑函数来描述。 逻辑代数中的变量称为逻辑变量,逻辑变量的取值只有0和1两种可能,而且这里的0和1不是表示数值的大小,而是表示逻辑变量的两种状态,输入逻辑变量一般用大写字母A、B、C、…表示,输出逻辑变量一般用Y、L、F、…表示。 基本逻辑关系 1.3.2逻辑代数的基本逻辑运算 逻辑代数有三种基本逻辑关系: 与逻辑关系、或逻辑关系和非逻辑关系,对应的基本逻辑运算有与运算、 或运算和非运算三种。 1. 与运算 只有当决定事物结果的所有条件全部具备时,结果才会发生,这种逻辑关系称为与逻辑关系。 图1.3.1串联电路 例如,如图1.3.1所示串联电路中,A、B是串联的两个开关,Y是灯,用开关控制灯亮和灭的关系如表1.3.1所示。从表中可知,只有当两个开关全都闭合时,灯才会亮。根据与逻辑关系的概念,这个逻辑事件中的开关与灯之间对应的逻辑关系为与逻辑关系。 表1.3.1串联电路开关与灯对应关系表 ABY 打开打开灭 打开闭合灭 闭合打开灭 闭合闭合亮 如果用1表示开关闭合,用0表示开关断开,用1表示灯亮,用0表示灯灭,代入表1.3.1则可得到如表1.3.2所示的逻辑真值表。这种将自变量所有可能的取值组合与其因变量的取值一一对应的表格称为逻辑真值表,简称真值表。表1.3.2所示的A、B与Y之间的关系是与逻辑关系,所以此表就是与逻辑真值表。 表1.3.2与逻辑真值表 ABY 000 010 100 111 与逻辑关系的逻辑表达式为 Y=A·B 式中的“·”读作“与”,上式读作“Y等于A与B”,或者“Y等于A乘B”。通常 “·”可以省略,写为Y=AB。 与逻辑的运算规则为 0·0=00·1=01·0=01·1=1 图1.3.2与门逻辑符号 即只有当A和B都是1时,Y才为1; 否则Y为0。总结为“输入有0得0,全1得1”。 实现与运算的电路称为与门,与门的逻辑符号如图1.3.2所示。与运算又称“逻辑乘”。 2. 或运算 图1.3.3并联电路 当决定事物结果的几个条件中,只要有一个或一个以上条件得到满足,结果就会发生,这种逻辑关系称为或逻辑关系。 例如,如图1.3.3所示并联电路中,A、B是并联的两个开关,Y是灯。用开关控制灯亮和灭的关系如表1.3.3所示。从表中可知,只要两个开关有一个接通,灯就会亮,根据或逻辑关系的概念,这个逻辑事件中的开关与灯之间对应的逻辑关系为或逻辑关系。 表1.3.3并联电路开关与灯对应关系表 ABY 打开打开灭 打开闭合亮 闭合打开亮 闭合闭合亮 如果用1表示开关闭合,用0表示开关断开,用1表示灯亮,用0表示灯灭,代入表1.3.3则可得到如表1.3.4所示的或逻辑真值表。 表1.3.4或逻辑真值表 ABY 000 011 101 111 或逻辑关系表达式为 Y=A+B 式中“+”读作“或”。上式读作“Y等于A或B”,或者“Y等于A加B”。 图1.3.4或门逻辑符号 或逻辑的运算规律为 0+0=00+1=11+0=11+1=1 即只有当A和B都是0时,Y才为0; 否则Y为1。总结为“输入有1得1,全0得0”。 实现或运算的电路称为或门,或门的逻辑符号如图1.3.4所示。或运算又称“逻辑加”。 3. 非运算 图1.3.5电路图 在逻辑事件中,决定结果的条件只有一个,当条件具备时,结果不会发生; 而条件不具备时,结果会发生,这种逻辑关系称为非逻辑关系。 例如,如图1.3.5所示电路中,A是开关,Y是灯。