1、第3篇 数字电子电路 本篇导读 本篇从数字电路的特点出发,首先讨论数字信号,计数体制,代码,逻辑关系、逻辑函数和逻辑运算,逻辑化简等。简单定性介绍实现逻辑关系的电子电路逻辑门电路(TTL、CMOS)。介绍常见的组合逻辑电路,各电路型式,工作原理,中规模集成组合电路的应用。各种功能触发器,电路组成和逻辑功能分析,计数器和数码移位寄存器等时序逻辑电路。组合逻辑电路和时序逻辑电路的基本分析方法和设计方各,这些电路的应用举例。第1章 数字电路的基本问题 3.1.1 数字信号和数字电路 正弦电压波形 锯齿电压波形 随时间温度变化波形 典型的模拟信号一、模拟信号和数字信号典型的数字信号二、模拟电路和数字电
2、路加工和处理模拟信号的电子电路模拟电子电路加工和处理数字信号的电子电路数字电子电路三、数字信号的处理和传输1010110100010 信息一位一位传输8位信息一起传输 并行传输和串行传输 构成各数据代码的各数据位分别在不同的并行信道上同时传输并行传输 构成各数据代码的各数据位串行排列成数据流,在一条信道上传输串行传输 并行传输时,其设备成本较高,且不宜远距离传输,但速度快;串行传输简单,一条传输线,适合远距离传输,但速度慢。并行传输方式串行传输方式3.1.2 计数体制及相互间的转换 从数字信号的形式可知,它只有两种电平或两种截然不同的状态。所以数字电路中实现的是二进制计数体制。由于人们习惯于十
3、进制数,还有八进制和十六进制数,所以首先总结计数体制。然后讨论各种数制之间的相互转换问题。一、计数体制 有0,1,2,,9等十个数码元素,任何大小的一个数字都由这十个元素组成。例如(475.8)10或(475.8)D,这个十进制数可以写成101210108105107104)8.475((1)十进制数它表明:进制数为10(即r=10),高低位之间关系为逢十进一,高位至低位的权值为mnn 10,10,10,10,10,10,10,102101221因此有通式:1)()(nmiiirrKNmmmmnnnnnmiiinmiiiKKKKKKKKrKN10101010101010)10()()(1111
4、001122111110 式中n是该数整数部分的位数,m是小数部分的位数,Ki是i位的数码,r是表示任意进制时的基数,如二进制数、八进制数和十六进制数等。1)()(nmiiirrKNmnn 2,2,2,2,2,2,2,22101221高位至低位的权值为(2)二进制数 有0,1二个数码元素,基数r=2,逢二进一,如:(110101.101)2或(110101.101)B,写成通式展开后为:321012345212021212021202121)101.110101(BmmmmnnnninmiinmiiiKKKKKKKKrKN2222222)2()()(111100112211112求和展开通式:
5、mnn 8,8,8,8,8,8,8,82101221(3)八进制数 有0,1,6,7等八个数码元素,基数r=8,逢八进一,如:(356.71)8或(356.71)O。写成通式展开后为:高位至低位的权值为210128187868583O)71.356(mnn 16,16,16,16,16,16,16,162101221(4)十六进制数 有0,1,2,9,A,B,C,D,E,F等十六个数码元素,基数r=16,逢十六进一,如:(5A8D.C6)16或(5A8D.C6)H,写成通式展开后为:高位至低位的权值为210123166161616816165H)6.85(CDACDA十进二进八进十六进0000
6、0001000111200102230011334010044501015560110667011177十进、二进、八进和十六进制数间关系表810001089100111910101012A11101113B12110014C13110115D14111016E15111117F二、数制之间的相互转换1.二、八、十六十进制数 数字电路运行在二值的二进制数字信号下,但为书写方便,常用八进和十六进制数表示,而日常又习惯于十进制数,所以要进行数制间的转换。具体方法:用求和展开通式,然后按十进制规律相加,即得等值十进制数。例1:将以下二进制数转换成十进制数2)100110101(解:100123456
7、782)309(141632256212021202121202021)100110101(例2:将以下二进制数转换成十进制数2)11.11001(解:1021012342)75.25(25.05.0181621212120202121)11.11001(例3:将以下八进制数转换成十进制数8)4.251(解:1010128)5.169(5.014012884818582)4.251(例4:将以下十六进制数转换成十进制数16)1.68(CA解:102101216)7539.2214(0039.075.0616020481611616616168)1.68(CACA2.十进制数二、八、十六(1)整
8、数部分转换具体方法:将待转换的十进制数整数除以进制数(二、八、十六)取余数,不断地进行,直至商为零。第一次的余数为转换后进制数的最低位(LSB),最后的余数为转换后进制数的最高位(MSB)。以十进制数转换成二进制数为例LSBLeast Siginificant BitMSBMost Siginificant Bit00112222111022222)(KKKKKNnnnn组成转换后的二进制数为:201221)(KKKKKnn00112321222222KKKKKnnnN01023122 22KKKKnn011)0(2 22KKKn例:(175)D=(10101111)B(257)O(AF)H
9、8 175 8 8 2120K0=7K1=5 K2=2(2)小数部分转换方法:待转换的十进制小数乘进制数(二、八、十六)取整,不断地进行,直至积的小数为零为止。必须注意:若积的小数达不到零时,根据转换的精度来取位数。另外,第一次的整数为转换后进制数的最高位(MSB)最后一次的整数为最低位LSB)rmKKKK).0(321即:例:将以下十进制数转换成16进制数10)25.368(整数部分小数部分161610124.170.KKKK3.二、八、十六进制数之间的转换方法:以二进制数为桥梁进行即可。4.数字电路中的正负数及表示 数字电路只认识二进制数,所以正负数肯定也用二进制数表示。其方法是在一个数的
10、最高位前设置一位符号位。这样规定后的表示形式有三种:符号位为“0”时,表示该数为正数,符号位为“1”时,表示该数为负数。符号位(1)正负数的原码表示 这种原码表示方法,适用于两数相乘,因为乘积的符号位只要将两乘数符号位相异或即可。原码表示规定:符号位加上原数的数值部分组成,即【X】原=符号位+原数值。如:X1=+1001010【X1】原=01001010 X2=-1001010【X2】原=11001010(2)正负数的反码表示 反码表示有两种情况:如果原数为正数,则该数的反码表示为符号位加上原数值;如果原数为负数,则该数的反码表示为符号位加上原数值的反码。即【X】反=符号位+原数值 X为正数
11、【X】反=符号位+原数值反码 X为负数如:X1=+1001010【X1】反=0 01001010 X2=-1001010【X2】反=1 10110101(3)正负数的补码表示 补码(补数)可以从生活中来认识:如早晨7:00起床时,发现时钟停在10:00,要校到7:00时,有两种方法,一种是顺时针拔9个小时,另一种是反时针拔3个小时,都可以将时钟校到7:00。由于时钟走一圈是12小时,12将自动丢失,所以,对走一圈12小时这个最大数而言,顺拔时的10+9=12+7和反拔时10-3=7是等价的。因此,+9和-3就称为最大数12的互为补数但实际操作时,有两种直接求法,一是原二进制数的反码加1求得补码
12、(或补码),最大数(12)又称模。0110101010000101024从上可见,用补码表示可以把一个减法运算变换成加法运算了。一个n位的二进制补码用下式求得:n2【X】补码=模-【X】=【X】如:二进制数1010的补码是0101+1=0110 反码加1得从最低位方法求0110如上例的1010补码另一种是:从原二进制数的最低位开始往高位走,在遇到1(包括该1)之前,原数不变,其后数码按位求反,也可得到一个二进制数的补码。所以正负数的补码表示为:【X】补=符号位+原数值 X为正数如:X1=+1001010【X1】补=01001010 补码的运算有下面规则:补码+补码=补码,补码再求补=原码。【X
13、】补=符号位+原数值补码 X为负数X2=-1001010【X2】补=10110110因此,减法运算X1-X2可用【X1】补码+【-X2】补码的加法运算处理。例1:1100-1001=0 01100+1 10111=10 00011其中,最高位丢失,留下符号位为0,所以结果是+3。例2:1001-1100=0 01001+1 10100=1 11101其中,1 11101是补码,符号位不变,数值再求补后得实际数,所以结果是-0011,即-3。3.1.3 数字电路中的代码 代替的方法有非常多的种类,数字电路中常用的有:生活中用一组十进制数来代表一个特定对象的情况是很多的。如电话号码、邮政编码等等。
14、而在数字电路中,用一组二进制数来代替某一特定的对象,这组二进制数就是代表该对象的代码了。一、数字系统中的常见代码(1)二十进制代码(BCD编码)由于三位二进制数只有8种组合,代表不了10个数字,只能用四位二进制数的16种组合中选出10种,来代替十进制的10个数,所以,二十进制代码的表示方法非常之多,我们只介绍主要的几种,其它可用此法方便地推出。十进制的十个数码0,1,9分别用一组二进制数码代替。十进制数有 权 码无 权 码84215421242124215211余3码余3码循环码0000000000000000000000011001010001000100010001000101000110
15、2001000100010001001000101011130011001100110011010101100101401000100010001000111011101005010110000101101110001000110060110100101101100100110011101701111010011111011100101011118100010111110111011011011111091001110011111111111111001010常用二十进制代码(953)10=有了二十进制代码后,任何一个十进制数都可以用它们来代替了。例如:=(1100 1000 0011)542
16、1码 =(1111 0101 0011)2421码 =(1100 1000 0110)余三码(1001 0101 0011)8421码=(1110111001)2(2)格雷码(循环码)是一种可靠性编码。因为这种代码中任何两组相邻代码之间只相差一位码元不同,其它码元相同的特性。这可从三位循环码看出:000 001 011 0 00 010 1 01 110 11 111 10 101 100另外又具有反射性:000001011010110111101100(3)字符代码 它是国际标准组织制定的8位二进制代码,包括英文26个字母,运算符号等56个特定对象。另一种是ASCII,美国国家信息交换标准代
17、码。这两种代码都可在有关的计算机书中找到。3.1.4 数字电路中的基本功能电路一、“与”逻辑功能(关系)决定结果成立的所有条件都具备时,结果才成立,这种条件与结果之间的关系称为“与”逻辑。令开关闭合和灯亮为逻辑“1”,开关断开和灯不亮为逻辑“0”时,有如表所示的真值表。以两只串联开关控制一只电灯为例,只有当两只开关都闭合时,电灯才亮。ABL000010100111该“与”逻辑关系也可写成逻辑表达式形式。BABAfL),(从逻辑运算上,是逻辑乘关系,00=0,01=0 10=0,11=1“与”逻辑关系用“与”门逻辑符号表示:特定形符号矩形符号曾使用符号二、“或”逻辑功能(关系)决定结果成立的所有
18、条件只要有一个具备时,结果就成立,这种条件与结果之间的关系称为“或”逻辑。这种关系在日常生活中也是非常普遍的。以两只并联开关控制一只电灯为例,当其中一只开关闭合时,电灯就亮。令开关闭合和灯亮为逻辑“1”,开关断开和灯暗为逻辑“0”时,有如表所示的真值表。ABL000011101111BABAfL),(逻辑关系式为:逻辑运算为逻辑加:0+0=0,0+1=1,1+0=1,1+1=1逻辑符号如下:真值表三、“非”逻辑功能(关系)条件具备时,结果不成立,条件不具备时结果成立,这种条件与结果之间的关系称为“非”逻辑条件A结果L 0 1 1 0逻辑式为:AL 求反运算逻辑符号如下:真值表四、复杂逻辑功能(
19、关系)(1)“与非”逻辑功能ABL001011101110真值表ABBABAfL),((2)“或非”逻辑功能ABL001010100110真值表BABAfL),((3)“与或非”逻辑功能与或非逻辑功能由“与”、“或”和“非”三种基本功能复合而成。CDABDCBAfL),(条 件结果A BC DL0 00 00 00 00 00 00 00 00 10 10 10 10 10 10 10 11 01 01 01 01 01 01 01 01 11 11 11 11 11 11 11 10 00 00 10 11 01 01 11 10 00 00 10 11 01 01 11 10 00 00
20、10 11 01 01 11 10 00 00 10 11 01 01 11 11 11 11 10 01 11 11 10 01 11 11 10 00 00 00 00 0真值表(4)“异或”逻辑功能两个条件相同时,结果不成立,两个条件相异时,结果成立。条件A B 结果 L 0 0 0 0 1 1 1 0 1 1 1 0BABABABAfL),(函数式逻辑符号(5)“同或”逻辑功能两个条件相同时,结果成立,两个条件相异时,结果不成立。条件A B 结果 L 0 0 1 0 1 0 1 0 0 1 1 1函数式逻辑符号习题P233.1.8 3.1.9 3.1.10 3.1.14 3.1.14 3.1.15