1、第 1 讲绪论,课时授课计划 课 程 内 容,知识要点: 数字系统的基本概念 进位记数制及几种常用数制的转换 带符号二进制数的代码表示形式 数字系统中常用的几种编码 目的与要求: 了解数字电路的特点及应用、分类 掌握二、八、十、十六进制的表示方法及相互转换; 会用原码、反码、补码表示带符号数并能用补码进行加减运算; 知道常用的BCD码和可靠性编码的 意义及表示方法。 重点与难点: 重点:数制与码制的表示方法; 难点:数制及码制间的相互转换。,课时授课计划,课堂讨论: 离散信号 二、十、八、十六进制的特点及表示方法 码的作用 8421BCD码的特点及应用 现代教学方法与手段: 投影 PowerP
2、oint幻灯课件 复习(提问): 什么是模拟信号模拟电路; 什么是二进制代码。,课程内容,一、数字电路基本概念,电信号:随时间变化的电流或电压。 模拟信号:信号的变化在时间上和数值上都是连续的。 1.数字信号 时间上离散,幅值上整量化的信号。常指在两个稳定状态之间作阶跃式变化的信号,可用0、1来表示。因此,又称为二进制信号。 数字信号有电位型(图a)和脉冲型(图b)两种表示形式。电位型是用信号的电位高低表示数字“1”和“0”;脉冲型是用脉冲的有无表示数字“1”和“0”。下图均表示了数字信号100110111。,一、数字电路基本概念,2.数字电路 模拟电路:直接对模拟量进行处理的电路。 数字电路
3、:用来处理数字信号的电路。由于数字电路的功能是通过逻辑运算和逻辑判断来实现的,因此又称为数字逻辑电路。 数字电路的分类: (1)按电路类型分类 组合逻辑电路 时序逻辑电路,(2)按集成度分类,(3)按半导体的导电类型分类 双极型电路 单极型电路,数字电路的优点 基本工作信号是二值信号。0、1两个状态,对元件的精度要求低。 抗干扰能力强,可靠性高。信号易辨别不易受噪声干扰。 便于长期存储。 电路结构简单、功耗低,便于集成制造和系列化生产。 保密性好。容易进行加密处理。,3. 关于数字系统 数字系统是一个能对数字信号进行加工、传递和存储的实体,它由实现各种功能的数字逻辑电路互相连接而成。 数字计算
4、机是一种能够自动、高速、精确地完成数值计算、数据加工和控制、管理等功能的数字系统。 从概念上讲,凡是用数字技术来处理和传输信息的系统都可以称为数字系统,数字系统设计可以涵盖硬件逻辑设计、软件逻辑设计、ASIC设计等。本课程所指的数字系统,是指由数字逻辑电路构成的纯硬件数字系统。,数字系统中处理的是数字信号,当数字系统要与模拟信号发生联系时,必须经过模/数(A/D)转换和数/模(D/A)转换电路,对信号类型进行变换。例如:某控制系统框图如图1.1所示。,4.数字系统中的两种运算类型 算术运算和逻辑运算。,5.数字逻辑研究的主要问题 数字逻辑主要研究电路输出信号状态与输入信号状态之间的逻辑关系。它
5、包含逻辑电路分析和逻辑电路设计两个方面的内容。理论基础是逻辑代数。 逻辑电路分析:给定电路,待求功能 逻辑电路设计:给定功能,待求电路,二、数制及其转换,人们与数据打交道的时候习惯于采用十进制,而计算机和其他数字系统中使用的是二进制。 为什么数字系统要采用二进制? 二进制有何优缺点?如何克服它的缺点? 人机联系/对话时,如何进行不同进制数之间的转换?,1.数制,(1)进位制:表示数时,仅用一位数码往往不够用,必须用进位计数的方法组成多位数码。多位数码每一位的构成以及从低位到高位的进位规则称为进位计数制,简称进位制。 (2)基 数:进位制的基数,就是在该进位制中可能用到的数码个数。 (3) 位
6、权(位的权数):在某一进位制的数中,每一位的大小都对应着该位上的数码乘上一个固定的数,这个固定的数就是这一位的权数。权数是一个幂。,数码为:09;基数是10。 运算规律:逢十进一,即:9110。 十进制数的权展开式:,十进制, , , , ,103、102、101、100称为十进制的权。各数位的权是10的幂。,同样的数码在不同的数位上代表的数值不同。,任意一个十进制数都可以表示为各个数位上的数码与其对应的权的乘积之和,称权展开式。,即:(5555)105103 510251015100,又如:(209.04)10 2102 0101910001014 102,二进制,数码为:0、1;基数是2。
7、 运算规律:逢二进一,即:1110。 二进制数的权展开式: 如:(101.01)2 122 0211200211 22 (5.25)10,加法规则:0+0=0,0+1=1,1+0=1,1+1=10 乘法规则:00=0, 01=0 ,10=0,11=1,运算规则,各数位的权是的幂,二进制的优点:运算简单、物理实现容易,存储和传送方便、可靠。 二进制的缺点:数的位数太长且字符单调,使得书写、记忆和阅读不方便。,数码为:07;基数是8。 运算规律:逢八进一,即:7110。 八进制数的权展开式: 如:(207.04)8 282 0817800814 82 (135.0625)10,八进制,十六进制,数
8、码为:09、AF;基数是16。 运算规律:逢十六进一,即:F110。 十六进制数的权展开式: 如:(D8.A)16 13161 816010 161(216.625)10,各数位的权是8的幂,各数位的权是16的幂,结论,一般地,N进制需要用到N个数码,基数是N;运算规律为逢N进一。 如果一个N进制数M包含位整数和位小数,即 (an-1 an-2 a1 a0 a1 a2 am)2 则该数的权展开式为: (M)2 an-1Nn-1 an-2 Nn-2 a1N1 a0 N0a1 N-1a2 N-2 amN-m 由权展开式很容易将一个N进制数转换为十进制数。,2.数制变换,(1)二进制数转换为八进制数
9、: 将二进制数由小数点开始,整数部分向左,小数部分向右,每3位分成一组,不够3位补零,则每组二进制数便是一位八进制数。,将N进制数按权展开,即可以转换为十进制数。,二进制数与八进制数的相互转换,1 1 0 1 0 1 0 . 0 1,0 0,0, (152.2)8,(2)八进制数转换为二进制数:将每位八进制数用3位二进制数表示。,= 011 111 100 . 010 110,(374.26)8,二进制数与十六进制数的相互转换,1 1 1 0 1 0 1 0 0 . 0 1 1,0 0 0,0, (1E8.6)16,= 1010 1111 0100 . 0111 0110,(AF4.76)16
10、,二进制数与十六进制数的相互转换,按照每4位二进制数对应于一位十六进制数进行转换。,十进制数转换为二进制数,采用的方法 基数乘除法 原理:将整数部分和小数部分分别进行转换。整数部分采用“除基取余,倒排”;小数部分“乘基取整,顺排”。转换后再合并。,整数部分采用除基取余,倒排: 先得到的余数为低位,后得到的余数为高位。,小数部分采用乘基取整,顺排: 先得到的整数为高位,后得到的整数为低位。,所以:(44.375)10(101100.011)2,采用基数乘除法,可将十进制数转换为任意的N进制数。,三、带符号的二进制数的代码表示,一个数除了有绝对值大小的区别,往往还有正负之分数字系统中如何处理正负号
11、呢? 数字系统只认识0和1,因此符号也是用0、1来表示的。具体做法:将数的最高位作为符号位,用0表示正,用1表示负,其余为用作数值位,表示该数的绝对值。 符号数的真值:用“+”、“-”表示正负的二进制数。 机器数或机器码:把符号和数值一起编码表示的二进制数。 常用的机器码有原码、反码、补码。,原 码,用原码表示带符号二进制数时,符号位用0表示正,1表示负;数值位保持不变。原码表示法又称为符号-数值表示法。 一、小数原码的定义 设二进制小数X=0.X-1X-2X-m,则其原码定义为 例如,若X1=+0.1011, X2=-0.1011,则X1和X2的原码为 X1原 = 0.1011 X2原 =
12、1-(-0.1011)=1.1011 根据定义,小数0的原码可以表示成0.00或1.00。,二、整数原码的定义 设二进制整数X=Xn-1Xn-2X0,则其原码定义为 例如,若X1=+1101,X2=-1101, 则X1和X2的原码为 X1原 = 01101 X2原 = 24-(-1101)=10000+1101=11101 同样,整数0的原码也有两种形式,即000和100。 ,原码表示的优缺点,采用原码表示带符号的二进制数的优点是简单易懂 缺点是加、减运算不方便。当进行两数加、减运算时,要根据运算及参加运算的两个数的符号来确定是加还是减。如果是做减法,还需根据两数的大小确定被减数和减数,以及运
13、算结果的符号。显然,这将增加运算的复杂性。,反码,用反码表示带符号的二进制数时,符号位与原码相同,即用0表示正,用1表示负;数值位与符号位相关,正数反码的数值位和真值的数值位相同;而负数反码的数值位是真值的数值位按位变反。,小数反码的定义,设二进制小数X=0.x-1x-2x-m,则其反码定义为,例如,若X1=+0.1011,X2=-0.1011,则X1和X2的反码为 X1反=0.1011 X2反=2-2-4+X2=10.0000-0.0001-0.1011=1.0100 根据定义,小数0的反码有两种表示形式,即0.00和1.11。,整数反码的定义,设二进制整数X=Xn-1Xn-2X0,则其反码
14、定义为 例如,若X1=+1001,X2=-1001,则X1和X2的反码为 X1反 = 01001 X2反 = (25-1)+X = (100000-1)+(-1001) = 11111-1001 = 10110 同样,整数0的反码也有两种形式,即000和111。 ,采用反码进行加、减运算时,无论进行两数相加还是两数相减,均可通过加法实现。加、减运算规则如下: X1+X2反 =X1反 + X2反 X1-X2反 =X1反 +-X2反 运算时,符号位和数值位一样参加运算。当符号位有进位产生时,应将进位加到运算结果的最低位,才能得到最后结果。 例如,若X1=+0.1110,X2=+0.0101,则求X
15、1-X2可通过反码相加实现。运算如下: X1-X2反=X1反+-X2反=0.1110+1.1010 即:X1-X2反= 0.1001 由于结果的符号位为0,表示是正数,故X1-X2=+0.1001,补 码,用补码表示带符号的二进制数时,符号位与原码、反码相同,即用0表示正,用1表示负;数值位与符号位相关,正数补码的数值位与原码、反码相同。而负数补码的数值位是真值的数值位按位变反,并在最低位加1。 一、小数补码的定义 设二进制小数X=0.X-1X-2X-m,则其补码定义为 例如,若X1= + 0.1011, X2 = - 0.1011, 则X1和X2的补码为 X1补 = 0.1011 X2补 =
16、 2 + X = 10.0000 - 0.1011 = 1.0101 小数0的补码只有一种表示形式,即0.00。,二、整数补码的定义 设二进制整数X=Xn-1Xn-2X0,则其补码定义为 例如,若X1 = +1010, X2 = -1010, 则X1和X2的补码为 X1补 = 01010 X2补 = 25 + X = 100000-1010 = 10110 同样,整数0的补码也只有一种表示形式,即000。 ,采用补码进行加、减运算时,可以将加、减运算均通过加法实现,运算规则如下: X1 + X2补 =X1补 +X2补 X1 - X2补 =X1补 +-X2补 运算时,符号位和数值位一样参加运算,
17、若符号位有进位产生,则应将进位丢掉后才得到正确结果。 例如,若X1 = -1001, X2 = +0011,则采用补码求X1-X2的运算如下: X1-X2补=X1补+-X2补= 10111+11101 1 0 1 1 1 + 1 1 1 0 1 丢掉 1 1 0 1 0 0 即:X1-X2补= 10100 由于结果的符号位为1,表示是负数,故 X1-X2 = -1100 显然,采用补码进行加、减运算最方便。,四、编码,用一定位数的二进制数来表示十进制数码、字母、符号等信息称为编码。,用以表示十进制数码、字母、符号等信息的一定位数的二进制数称为代码。,数字系统只能识别0和1,怎样才能表示更多的数
18、码、符号、字母呢?用编码可以解决此问题。,常用的编码有: 二-十进制编码(BCD码) 可靠性编码 字符代码,二-十进制代码:用4位二进制数b3b2b1b0来表示十进制数中的 0 9 十个数码。简称BCD(Binary Coded Decimal)码。它既有二进制的形式,又有十进制的特点。 常用的BCD码有: 8421 码 2421码 余3码,二十进制编码,8421码,用四位自然二进制码中的前十个码字来表示十进制数码,因各位的权值依次为8、4、2、1,故称8421码。 按8421码编码的09与用4位二进制数表示的09完全一样,所以,8421码是一种人机对话时广泛使用的中间形式。 8421码中不允
19、许出现10101111六种组合(伪码),因为没有十进制数字符号与其对应。 十进制数字符号的8421码与相应ASCII码的低四位相同,这一特点有利于简化输入输出过程中BCD码与字符代码的转换。 8421码与十进制数之间的转换是按十进制位进行的,即十进制数的每一位与4位二进制编码对应。 注意8421码与二进制的区别。,2421码,其4位二进制码的权值依次为2、4、2、1。 2421码不具备单值性。但为了与十进制字符一一对应,规定不允许出现01011010的6种状态。 2421码是一种对9的自补代码。即一个数的2421码只要自身按位变反,便可得到该数对9的补数的2421码。,余3码,由8421码加0
20、011得到的一种无权码。 余3码有6种状态0000、0001、0010、1101、1110和1111是不允许出现的。 余3码也是一种对9的自补代码。 将两个余3码表示的十进制数相加时,能正确产生进位信号,但对“和”必须修正才能保证仍然“余3”。修正的方法是:如果有进位,则结果加3;如果无进位,则结果减3。,常用的三种BCD码,可靠性编码,代码在形成和传送过程中都可能发生错误,为了尽可能减少错误的发生,或者出错以后容易被发现,甚至查出错误的码位后能予以纠正。因而产生了各种可靠性编码,通过这些编码使代码本身具有某种特征或能力。 常见的可靠性编码 格雷码 奇偶校验码 海明码,格雷码,特点:任意两个相
21、邻的数,其格雷码仅有一位不同。 作用:避免代码形成或变换过程中产生的错误。 格雷码有多种形式,典型格雷码可以从普通二进制码变换得到,转换规则为: 设二进制码为 B = Bn-1 Bn-2 Bi+1 Bi B1 B0 , 对应的格雷码为 G = Gn-1 Gn-2 Gi+1 Gi G1 G0 , 则有: Gn-1= Bn-1 ,G i = Bi+1 Bi 0in-2,思考:如何将Gray码转换成二进制码?,关于格雷码的进一步讨论,典型格雷码还有一个特点:就是所有对应于2m-1(m为正整数)的格雷码,都仅在m位上有1,其他位都为0。例如: m=1,2m-1=1,1的典型格雷码是0001; m=2,
22、2m-1=3,3的典型格雷码是0010; m=3,2m-1=5,5的典型格雷码是0100; m=4,2m-1=7,7的典型格雷码是1000。 因此,对应于十进制数2m-1的典型格雷码与十进制数0的典型格雷码之间都只有一位的差别。即从这些数回到0,都能保持一位差别的特点,所以这种典型格雷码是一种循环码,特别适合用作二进制码计数器。,关于格雷码的进一步讨论(续),对于十进制计数,典型格雷码的9(1101)回到0(0000)就有3位发生变化,这是有问题的。为此可以设计出其他形式的格雷码,使得9到0也只有一位差别,并保持循环码的特色。,关于格雷码的进一步讨论(续),格雷码中,还有一种称之为步进码。其变
23、化规律为:加1计数时,只需将最左一位变反移到最右一位,而其余各位均左移一位即可。,奇偶校验码,奇偶校验码的组成 奇偶校验码的编码方式 奇校验:使得信息位和校验位中“1”的个数为奇数 偶校验:使得信息位和校验位中“1”的个数为偶数,信息位(位数不限),校验位(1位),奇偶校验码的工作原理演示 奇偶校验码的特点: 编码简单,容易实现 只有检错能力,没有纠错能力 只能发现单错,不能发现双错,奇偶校验码只能发现一位出现错误,而并不知道那一位出错,如果知道那一位出错,则可以纠错(数字逻辑中非1既0)。海明码也是由“信息位”和“校验位”(它的位数较多)两部分构成,它不但能发现错误,还能校正错误。,海明码,
24、海明码的原理,海明码的原理,字符编码,要想在数字系统中处理除了数字以外的其它字符,也要对它们进行二进制编码,由此得到字符编码。 ASCII(American Standard Code for Information Interchange) GB2312汉字编码规范,ASCII,用7位二进制码表示128种字符,包括字母、数字、运算符号、标点符号、特殊字符等。,注:,汉字编码,GB2312规定:一个汉字用两个字节表示,每个字节仅用7位(国标码) 机内码(异形国标码):在汉字国标码的两个字节最高位置1(可以避免与标准ASCII码产生二义性) 区位码:汉字编码表分为194个区,每区有94个(汉字)位,每个区、位的交点表示一个汉字的代码。由区号+位号形成区位码。,转换关系,区位码国标码 “啊”在第16区第1位,区位码为1601 (啊)国标码=1001H+2020H=3021H 国标码机内码 (啊)机内码=3021H+8080H=B0A1H,小结,数字信号、数字电路、数字系统 数制及其转换 带符号数的代码表示(原码、反码、补码) 编码(BCD编码、可靠性编码、字符编码),