1、11.1 数字电路基础知识主要内容:主要内容:模拟信号与数字信号的概念及区别 数字电路的特点21.1.1 模拟信号与数字信号l 模拟信号是指时间上和幅度上均为连续取值的物理量。l 在自然环境下,大多数物理信号都是模拟量。如温度是一个模拟量,某一天的温度在不同时间的变化情况就是一条光滑、连续的曲线:3l 数字信号是指时间上和幅度上均为离散取值的物数字信号是指时间上和幅度上均为离散取值的物理量。理量。l 可以把模拟信号变成数字信号,其方法是对模拟可以把模拟信号变成数字信号,其方法是对模拟信号进行采样,并用数字代码表示后的信号即为信号进行采样,并用数字代码表示后的信号即为数字信号。数字信号。l 用逻
2、辑用逻辑1和和0表示的数字信号波形如下图所示:表示的数字信号波形如下图所示:41.1.2 数字电路的特点数字电路的特点l 数字电路的结构是以二值数字逻辑为基础的,其中的工作数字电路的结构是以二值数字逻辑为基础的,其中的工作信号是离散的数字信号。电路中的电子器件工作于开关状信号是离散的数字信号。电路中的电子器件工作于开关状态。态。l 数字电路分析的重点已不是其输入、输出间波形的数值关数字电路分析的重点已不是其输入、输出间波形的数值关系,而是输入、输出序列间的逻辑关系。系,而是输入、输出序列间的逻辑关系。l 所采用的分析工具是逻辑代数,表达电路的功能主要是功所采用的分析工具是逻辑代数,表达电路的功
3、能主要是功能表、真值表、逻辑表达式、布尔函数以及波形图。能表、真值表、逻辑表达式、布尔函数以及波形图。l 数字系统一般容易设计。数字系统一般容易设计。l 信息的处理、存储和传输能力更强。信息的处理、存储和传输能力更强。l 数字系统的精确度及精度容易保存一致。数字系统的精确度及精度容易保存一致。l 数字电路抗干扰能力强。数字电路抗干扰能力强。l 数字电路容易制造在数字电路容易制造在IC芯片上。芯片上。51.2 数制数制主要内容:主要内容:n 进位计数制、基数与权值的概念n 二进制计数法及构造方式n 最高有效位、最低有效位的概念n 二进制数的加、减、乘、除运算n 八进制和十六进制的计数方法6l 表
4、示数码中每一位的构成及进位的规则称为表示数码中每一位的构成及进位的规则称为进位进位计数制计数制,简称,简称数制数制。l 进位计数制也叫进位计数制也叫位置计数制位置计数制。在这种计数制中,。在这种计数制中,同一个数码在不同的数位上所表示的数值是不同同一个数码在不同的数位上所表示的数值是不同的。的。l 一种数制中允许使用的数码符号的个数称为该数一种数制中允许使用的数码符号的个数称为该数制的制的基数基数。记作记作R l 某个数位上数码为某个数位上数码为1时所表征的数值,称为该数位时所表征的数值,称为该数位的的权值权值,简称,简称“权权”。7l 利用利用基数基数和和“权权”的概念,可以把一个的概念,可
5、以把一个R进制进制数数D用下列形式表示:用下列形式表示:121012120112011()RnnmRnnmnnmniiimDaaa a a aaaRaRaRaRaRaR位置计数法多项式表示法,也叫按权展开式81.2.1 十进制数十进制数l 十进制的十进制的基数基数R为为10,采用十个数码符号,采用十个数码符号0、1、2、3、4、5、6、7、8、9 l 十进制的按权展开式为:十进制的按权展开式为:l 如十进制数如十进制数2745.214 可表示为:可表示为:11010niiimDa32101232 107 104 105 102 101 104 10 91.2.2 二进制数二进制数l 所谓所谓二
6、进制二进制,就是基数,就是基数R为为2的进位计数制,它只的进位计数制,它只有有0和和1两个数码符号。两个数码符号。l 二进制的按权展开式为:二进制的按权展开式为:l 如二进制数如二进制数1011.1012可表示为:可表示为:122niiimDa32101232101011.1011 2021 21 21 2021 280210.500.12511.625 10l 用用N位二进制可实现位二进制可实现2N个计数,可表示的最大数是个计数,可表示的最大数是2N-1l 例例1-1:用用8位二进制能表示的最大数是多少?位二进制能表示的最大数是多少?解:解:8102212125511111111N 11二进
7、制数的加、减、乘、除四则运算二进制数的加、减、乘、除四则运算 l二进制的二进制的计数规则计数规则是:低位向相邻高位是:低位向相邻高位“逢二进一,借逢二进一,借一为二一为二”。l二进制加法:二进制加法:二进制的加法运算有如下规则:二进制的加法运算有如下规则:u0+0=0u0+1=1u1+0=1u1+1=10(“逢二进一逢二进一”)l例:例:1011.1012+10.012=?1 0 1 1.1 0 1+1 0.0 1 1 1 0 1.1 1 112l二进制减法:二进制减法:二进制的减法运算有如下规则:二进制的减法运算有如下规则:u0 0=0u1 0=1u1 1=0u0 1=1 (“借一当二借一当
8、二”)l例:例:1101.1112 10.012=?1 1 0 1.1 1 1 1 0.0 1 1 0 1 1.1 0 1131.2.3 八进制数八进制数l 八进制数的八进制数的基数基数R是是8,它有,它有0、1、2、3、4、5、6、7共八个有效数码。共八个有效数码。l 八进制的按权展开式为:八进制的按权展开式为:l 八进制的八进制的计数规则计数规则是:低位向相邻高位是:低位向相邻高位“逢八进逢八进一,借一为八一,借一为八”。188niiimDa14l 例:例:对八进制数,从对八进制数,从08数到数到308 解:解:所求的八进制数的序列如下所示(注意,没所求的八进制数的序列如下所示(注意,没有
9、使用下标有使用下标8)。)。0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,30151.2.4 十六进制数l 十六进制数的十六进制数的基数基数R是是16,它有,它有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共十六个有效共十六个有效数码。数码。l 十六进制的十六进制的按权展开式按权展开式为:为:l 十六进制的十六进制的计数规则计数规则是:低位向相邻高位是:低位向相邻高位“逢十逢十六进一,借一为十六六进一,借一为十六”。l 11616niiimDa16l 例:例:对十六进制数,从对十六进制数,从01
10、6数到数到3016 解:解:所求的十六进制数的序列如下所示(注意,所求的十六进制数的序列如下所示(注意,没有使用下标没有使用下标16)。)。0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30171.3 数制转换主要内容:主要内容:l 二进制与八进制、十六进制之间的相互转换方法二进制与八进制、十六进制之间的相互转换方法l 十进制与二进制、八进制、十六进制的相互转换十进制与二进制、八进制、十
11、六进制的相互转换方法方法l 把一个数从一种数制转换到其他数制的转换方法把一个数从一种数制转换到其他数制的转换方法181.3.1 二进制数与八进制数的相互转换l 将二进制转换为八进制将二进制转换为八进制 l 将将整数部分自右往左整数部分自右往左开始,每开始,每3位分成一组,最后位分成一组,最后剩余不足剩余不足3位时在左边补位时在左边补0;小数部分自左往右小数部分自左往右,每每3位一组,最后剩余不足位一组,最后剩余不足3位时在右边补位时在右边补0;然后;然后用等价的八进制替换每组数据用等价的八进制替换每组数据l 例:例:将二进制数将二进制数10111011.10112转换为八进制数。转换为八进制数
12、。19将八进制转换为二进制将八进制转换为二进制l 对每位八进制数,只需将其展开成对每位八进制数,只需将其展开成3位二进制数即位二进制数即可可l 例例1-9:将八进制数将八进制数67.7218转换为二进制数。转换为二进制数。解:解:对每个八进制位,写出对应的对每个八进制位,写出对应的3位二进制数。位二进制数。201.3.2 二进制数与十六进制数的相互转换二进制数与十六进制数的相互转换 l 将二进制转换为十六进制:将二进制转换为十六进制:l 将将整数部分自右往左开始整数部分自右往左开始,每四位分成一组,最,每四位分成一组,最后剩余不足四位时在左边补后剩余不足四位时在左边补0;小数部分自左往右小数部
13、分自左往右,每四位一组,最后剩余不足四位时在右边补每四位一组,最后剩余不足四位时在右边补0;然;然后用等价的十六进制替换每组数据。后用等价的十六进制替换每组数据。l 例:例:将二进制数将二进制数111010111101.1012转换为十六进转换为十六进制数。制数。21将十六进制转换为二进制将十六进制转换为二进制l 对每位十六进制数,只需将其展开成对每位十六进制数,只需将其展开成4位二进制数位二进制数即可。即可。l 例例1-11:将十六进制数将十六进制数1C9.2F16转换为二进制数。转换为二进制数。解:解:对每个十六进制位,写出对应的对每个十六进制位,写出对应的4位二进制数。位二进制数。221
14、.3.3 十进制数与任意进制数的相互转换l 十进制数与任意进制数之间的转换方法有十进制数与任意进制数之间的转换方法有多项式多项式替代法替代法和和基数乘除法基数乘除法。l 非十进制数转换为十进制数:非十进制数转换为十进制数:u把非十进制数转换成十进制数采用按权展开相加法。具把非十进制数转换成十进制数采用按权展开相加法。具体步骤是,首先把非十进制数写成按权展开的多项式,体步骤是,首先把非十进制数写成按权展开的多项式,然后按十进制数的计数规则求其和。然后按十进制数的计数规则求其和。l 例例1-12:将二进制数将二进制数101011.1012转换成十进制数。转换成十进制数。54321012321010
15、1011.1011 20 21 20 21 21 21 20 21 2320802 1 0.50.12543.626 23l 例例1-13:将八进制数将八进制数165.28转换成十进制数。转换成十进制数。l 例例1-14:将十六进制数:将十六进制数2A.816转换成十进制数。转换成十进制数。2101810165.21 86 85 82 8644850.25117.25 10116102.82 16168 1632 100.542.5AA 24十进制数转换为其它进制数十进制数转换为其它进制数 l 对于既有对于既有整数部分又有小数部分整数部分又有小数部分的十进制数转换的十进制数转换成其它进制数,首
16、先要把整数部分和小数部分分成其它进制数,首先要把整数部分和小数部分分别进行转换,然后再把两者的转换结果相加。别进行转换,然后再把两者的转换结果相加。l 整数转换:整数转换:整数转换,采用整数转换,采用基数连除法基数连除法,即,即除基除基取余法取余法。把十进制整数。把十进制整数N转换成转换成R进制数的步骤如进制数的步骤如下:下:u将将N除以除以R,记下所得的商和余数;,记下所得的商和余数;u将上一步所得的商再除以将上一步所得的商再除以R,记下所得的商和余数;,记下所得的商和余数;u重复做第重复做第2步,直至商为步,直至商为0;u将各个余数转换成将各个余数转换成R进制的数码,并按照和运算过程进制的
17、数码,并按照和运算过程相相反的顺序把各个余数排列起来反的顺序把各个余数排列起来(把第一个余数作为(把第一个余数作为LSB,最后一个余数作为最后一个余数作为MSB),即为),即为R进制的数。进制的数。25l 例例1-15:将将3710转换成等值二进制数。转换成等值二进制数。解:解:采用除采用除2取余法,具体的步骤如下:取余法,具体的步骤如下:u372=18余数余数1 LSBu182=9余数余数0u92=4余数余数1u42=2余数余数0u22=1余数余数0u12=0余数余数1 MSBl 按照从按照从MSB到到LSB的顺序排列余数序列,可得:的顺序排列余数序列,可得:l3710=100101226l
18、 例例1-16:将将26610转换成等值八进制数。转换成等值八进制数。解:解:采用除采用除8取余法,具体的步骤如下:取余法,具体的步骤如下:u2668=33余数余数2 LSBu338=4余数余数1u48=0余数余数4 MSBl 按照从按照从MSB到到LSB的顺序排列余数序列,可得:的顺序排列余数序列,可得:l 26610=4128 27l 例例1-17:将将42710转换成等值十六进制数。转换成等值十六进制数。解:解:采用除采用除16取余法,具体的步骤如下:取余法,具体的步骤如下:u42716=26余数余数11=BLSBu2616=1余数余数10=Au116=0余数余数1=1MSBl 按照从按
19、照从MSB到到LSB的顺序排列余数序列,可得:的顺序排列余数序列,可得:l 42710=1AB16 l 十进制数除十进制数除16的各次余数形成了十六进制数,且的各次余数形成了十六进制数,且当余数大于当余数大于9时,用字母时,用字母AF表示。表示。28纯小数转换纯小数转换l 纯小数转换,采用纯小数转换,采用基数连成法基数连成法,即,即乘基取整法乘基取整法。l 把十进制的纯小数把十进制的纯小数M转换成转换成R进制数的步骤如下:进制数的步骤如下:u将将M乘以乘以R,记下整数部分;,记下整数部分;u将上一步乘积中的小数部分再乘以将上一步乘积中的小数部分再乘以R,记下整数部分;,记下整数部分;u重复做第
20、重复做第2步,直至小数部分为步,直至小数部分为0或者满足预定精度要求或者满足预定精度要求为止;为止;u将各步求得的整数部分转换成将各步求得的整数部分转换成R进制的数码,并按照和进制的数码,并按照和运算过程相同的顺序排列起来,即为所求的运算过程相同的顺序排列起来,即为所求的R进制数。进制数。29l 例例1-18:将十进制小数将十进制小数0.562510转换成等值的二进转换成等值的二进制数小数。制数小数。解:解:采用乘采用乘2取整法,具体的步骤如下:取整法,具体的步骤如下:u0.56252=1.125整数整数1 MSBu0.1252=0.250整数整数0u0.2502=0.50整数整数0u0.50
21、2=1.00整数整数1 LSBl 按照从按照从MSB到到LSB的顺序排列余数序列,可得:的顺序排列余数序列,可得:l 0.562510 =0.10012 30l 例例1-19:将十进制小数将十进制小数0.3510转换成等值的八进制转换成等值的八进制数小数。数小数。解:解:采用乘采用乘8取整法,具体的步骤如下:取整法,具体的步骤如下:u0.358=2.8整数整数2 MSBu0.88=6.4整数整数6u0.48=3.2整数整数3u0.28=1.6整数整数1:LSB l 按照从按照从MSB到到LSB的顺序排列余数序列,可得:的顺序排列余数序列,可得:l 0.3510 =0.26318 31l 例例1
22、-21:将十进制数将十进制数17.2510转换成等值的二进制转换成等值的二进制数小数。数小数。解:解:此题的十进制数既有整数部分又有小数部分,此题的十进制数既有整数部分又有小数部分,则可用前述的则可用前述的“除基取余除基取余”及及“乘基取整乘基取整”的方的方法分别将整数部分和小数部分进行转换,然后合法分别将整数部分和小数部分进行转换,然后合并起来就可得到所求的结果。具体的步骤如下:并起来就可得到所求的结果。具体的步骤如下:u17.2510 =1710 +0.2510 u u 100012+0.012 =10001.012 l 所以,所以,17.2510=10001.012 321.4 二进制编
23、码主要内容:主要内容:l 用用BCD码表示十进制数的方法码表示十进制数的方法l BCD码和自然二进制码的区别码和自然二进制码的区别l 8421、2421等等BCD码码l 格雷码、余格雷码、余3码码l 各种编码与二进制码的转换方法各种编码与二进制码的转换方法l ASCII码码l 原码、反码与补码原码、反码与补码331.4.1 加权二进制码l 加权码加权码是每个数位都分配了是每个数位都分配了权或值权或值的编码。的编码。l 用四位二进制数表示一位十进制数的方法,统称用四位二进制数表示一位十进制数的方法,统称为十进制数的二进制编码,简称为十进制数的二进制编码,简称BCD码码。l 常用的加权二进制编码:
24、常用的加权二进制编码:u8421BCD码码 代码中从左到右的各位权值分别表示代码中从左到右的各位权值分别表示8、4、2、1 u2421BCD码码 代码中从左到右的各位权值分别是代码中从左到右的各位权值分别是2、4、2、1 u4221BCD 各位权值分别是各位权值分别是4、2、2、1u5421BCD 各位权值分别是各位权值分别是5、4、2、134l 用用BCD码表示十进制数码表示十进制数,只要把十进制数的每一,只要把十进制数的每一位数码,分别用位数码,分别用BCD码取代即可。码取代即可。l 若要知道若要知道BCD码代表的十进制数,只要码代表的十进制数,只要BCD码以码以小数点为起点向左、右每四位
25、分成一组,再写出小数点为起点向左、右每四位分成一组,再写出每一组代码代表的十进制数,并保持原排序即可。每一组代码代表的十进制数,并保持原排序即可。l 例例1-22:求出十进制数求出十进制数902.4510的的8421BCD码。码。解:解:35l 例例1-23:求出求出5421BCD码码10000010.10015421BCD所所表示的十进制数。表示的十进制数。解:解:将将5421BCD码以小数点为起点向左、右每四码以小数点为起点向左、右每四位一组进行划分,每一组由其相对应的十进制数位一组进行划分,每一组由其相对应的十进制数位表示位表示 361.4.2 不加权的二进制码l 不加权的二进制码,它们
26、的每一位都没有具体的不加权的二进制码,它们的每一位都没有具体的权值权值。u3码、格雷码就是两种不加权的二进制码。码、格雷码就是两种不加权的二进制码。l 余余3码码:u由由8421BCD码加码加3后形成的,所以叫做余后形成的,所以叫做余3码(简写为码(简写为XS3)l 格雷码格雷码 u格雷码又叫循环码格雷码又叫循环码 u任意两个相邻的格雷代码之间,仅有一位不同,其余各任意两个相邻的格雷代码之间,仅有一位不同,其余各位均相同位均相同 384218421()()(3)XSBCDBCDNN37格雷码与二进制码之间经常相互转换格雷码与二进制码之间经常相互转换 l 方法如下方法如下:u格雷码的最高位(最左
27、边)与二进制码的最高位相同。格雷码的最高位(最左边)与二进制码的最高位相同。u从左到右,逐一将二进制码的两个相邻位相加,作为格从左到右,逐一将二进制码的两个相邻位相加,作为格雷码的下一位(舍去进位)。雷码的下一位(舍去进位)。u格雷码和二进制码的位数始终相同。格雷码和二进制码的位数始终相同。l 例例1-25:把二进制数把二进制数1001转换成格雷码。转换成格雷码。解:解:38格雷码到二进制码的转换格雷码到二进制码的转换 l 方法如下:方法如下:u二进制码的最高位(最左边)与格雷码的最高位相同。二进制码的最高位(最左边)与格雷码的最高位相同。u将产生的每个二进制码位加上下一相邻位置的格雷码位,将
28、产生的每个二进制码位加上下一相邻位置的格雷码位,作为二进制码的下一位(舍去进位)。作为二进制码的下一位(舍去进位)。l 例例1-26:把格雷码把格雷码0111转换成二进制数。转换成二进制数。解:解:391.4.3 字母数字码l 可同时用于表示字母和数字的编码称为可同时用于表示字母和数字的编码称为字母数字字母数字码码。l ASCII码码是一种常用的现代字母数字编码,用于计是一种常用的现代字母数字编码,用于计算机之间、计算机与打印机、键盘和视频显示等算机之间、计算机与打印机、键盘和视频显示等外部设备之间传输字符数字信息。外部设备之间传输字符数字信息。l ASCII码已成为微型计算机标准输入、输出编
29、码。码已成为微型计算机标准输入、输出编码。401.4.4 补码l 符号数的存贮格式符号数的存贮格式 l 机器数的机器数的3种表示形式:种表示形式:u原码原码:自然表示机器数的二进制形式自然表示机器数的二进制形式 u反码反码:对于对于正数正数,反码的数值部分与原码按位相同;对于,反码的数值部分与原码按位相同;对于负数负数,反码,反码的数值部分是原码的按位变反(即的数值部分是原码的按位变反(即1变变0,0变变1),反码也因此),反码也因此而得名。而得名。u补码补码:正数正数的表示同原码和反码的表示是一样的。对于的表示同原码和反码的表示是一样的。对于负数负数,从原码,从原码到补码的规则是:符号位不变,数值部分则是按位求反,最低到补码的规则是:符号位不变,数值部分则是按位求反,最低位加位加1,或简称,或简称“求反加求反加1”。41l 例例1-28:求二进制数求二进制数x=+1011,y=1011在八在八位存贮器中的原码、反码和补码的表示形式。位存贮器中的原码、反码和补码的表示形式。l 解:解:ux原码原码=00001011,x反码反码=00001011,x补码补码=00001011uy原码原码=10001011,y反码反码=11110100,y补码补码=11110101142