
《《单片机原理与应用》02》由会员分享,可在线阅读,更多相关《《单片机原理与应用》02(73页珍藏版)》请在文档大全上搜索。
1、 第第2章章 计算机基础知识计算机基础知识 2.1 计算机中数的表示和编码计算机中数的表示和编码2.2微型计算机的基本结构微型计算机的基本结构内容:内容:一、进位计数制及其表示方法一、进位计数制及其表示方法二、数制之间的转换二、数制之间的转换 三、字符的编码三、字符的编码 四、带符号数的编码四、带符号数的编码2.1 计算机中数的表示和编码一、进位计数制及其表示方法一、进位计数制及其表示方法(一)、进位计数制及其要素:(一)、进位计数制及其要素: 进位计数制:按进位原则进行计数的方法。进位计数制:按进位原则进行计数的方法。例:十进制数有例:十进制数有 : 0、1、2、3、4、5、6、7、8、9十
2、种数符。十种数符。我们说:我们说:十进制数基数十进制数基数10 逢十进一逢十进一看一个十进制数:看一个十进制数: 4 0 9 4 每一位每一位 (09) 千千 百百 十十 个个 本位绝对值的大小本位绝对值的大小=数数位权位权 103102101100 如:千位如:千位= 4103=4000十进制数有二个要素:十进制数有二个要素: 1. 基数:十基数:十 每一位每一位 0、1、2、3、4、5、6、7、8、9 (逢(逢 十十 进进 一)。一)。 2. 位权:位权:10i 某一位数绝对值大小某一位数绝对值大小 = 数数位权位权.二个要素二个要素: 适用于二、八、十六进制。适用于二、八、十六进制。二进
3、制数:基数二进制数:基数2 位权位权2i 八进制数:基数八进制数:基数8 位权位权8i 十六进制数十六进制数: 基数基数16 位权位权16i(二)、(二)、 进位计数制的表示方法:进位计数制的表示方法: 123456= 1 103+2 102+3 101+4 100+5 10-1+6 10-2推广到一般形式(任意推广到一般形式(任意R进制)进制): N= k i R i(i=-mn)R 基数基数 , 逢逢R进一进一. Ri 位权位权位置计数法按权展开式例如:二进制数例如:二进制数 B=10011101 B=1 27+1 24+1 23+1 22+1 20 =(157)10 在计算机里进行运算和
4、处理均是按在计算机里进行运算和处理均是按二进制数二进制数处理的。处理的。而二进制数写起来麻烦而二进制数写起来麻烦;书写时又以书写时又以八进制或十六进制八进制或十六进制表示;表示;日常生活中又常用日常生活中又常用十进制十进制,因此就有:因此就有:二二 十十 八八 十十 十六十六 十十 二二 八八 数制之间转换问题数制之间转换问题 二二 十六十六 十进制十进制 二进制二进制 八进制八进制 十六进制十六进制 BCD 0 0 0 0 01 01 1 1 12 10 2 2 103 11 3 3 114 100 4 4 1005 101 5 5 1016 110 6 6 1107 111 7 7 111
5、8 1000 10 8 10009 1001 11 9 100110 1010 12 A 1000011 1011 13 B 1000112 1100 14 C 1001013 1101 15 D 1001114 1110 16 E 1010015 1111 17 F 1010116 10000 20 10 10110。 。 。 11 。 。 。 12 。 。 。 。 。 (255)D 11111111B 377Q FFH (10,0101,0101)BCD二、各种进制数间的转换二、各种进制数间的转换1. 非十进制数到十进制数的转换非十进制数到十进制数的转换按相应的权表达式展开按相应的权表达式
6、展开2. 十进制到非十进制数的转换对二进制的转换:对二进制的转换: 对整数:除对整数:除2取余;取余; 对小数:乘对小数:乘2取整。取整。(二)、(二)、二二 八,二八,二 十六十六 之间转换之间转换 1、二二 八八 二二 八:八:以小数点为界向左向右三位一段,不够补以小数点为界向左向右三位一段,不够补0,三位二进制数用一位八进制数表示。三位二进制数用一位八进制数表示。例:(例:( 1,101,001.010,011,1 )2 不够补不够补0 不够补不够补0 (001 101 001. 010 011 100)2=(151.234)8 八八二:二: 一位八进制数用三位二进制数表示一位八进制数用
7、三位二进制数表示. (151234)8=(001 101 001. 010 011 100)22、二、二 十六:十六: 二二十六:十六:以小数点为界向左向右四位一段,以小数点为界向左向右四位一段, 不够补不够补0, 四位二进制数用一位十六进制数表示。四位二进制数用一位十六进制数表示。例:(例:( 110 1001.0100 111 )2 ( 69.4E )16 不够补不够补0 不够补不够补0(0 1 1 0,1 0 0 1 . 0 1 0 0,1 1 1 0)2=(69 . 4E)16 十六十六二:二:一位十六进制数用四位二进制数表一位十六进制数用四位二进制数表示。示。例:例: (69 . 4
8、E)16 = (0 1 1 0,1 0 0 1 . 0 1 0 0,1 1 1 0)2 四、带符号数的表示四、带符号数的表示 1. 机器数与真值机器数与真值 2. 原码原码 3. 反码反码 4. 补码补码 上面提到的是一种无符号数,上面提到的是一种无符号数,机器数中会有正有负。机器数中会有正有负。符号怎么表示呢?符号怎么表示呢?通常数的最高位为符号位,对于字长通常数的最高位为符号位,对于字长8位机器数:位机器数: D7为符号位为符号位: 0表示表示“+”,1表示表示“”。符号数码化了。符号数码化了。 D6D0为数字位。为数字位。如如: X=(01011011)2=+91 X=(11011011
9、)2= - 91 1 1、连同符号位在一起作为一个数称为机器数,、连同符号位在一起作为一个数称为机器数,机器数的数值称为真值。机器数的数值称为真值。如如: N1=+ 1011011 N2= - 1011011 为真值为真值0 1011011 1 101 1011 为机器数为机器数符号数码化了符号数码化了,对数据进行运算时,对数据进行运算时,符号位应如何处理?符号位应如何处理?把符号位和数值位一起编码:原码,反码,补码。把符号位和数值位一起编码:原码,反码,补码。 2. 原码:原码:正数符号位用正数符号位用“0”表示,负数符号用表示,负数符号用“1”表示,表示,这种表示法称为原码。这种表示法称为
10、原码。 X=+105 X原原= 0 1101001 X=-105 X原原= 1 1101001 符号符号 数值数值 优点:优点: 真值和其原码表示之间的对应关系简单,容易理解真值和其原码表示之间的对应关系简单,容易理解 缺点缺点: 计算机中用原码进行加减运算比较困难,计算机中用原码进行加减运算比较困难,0的表示不惟一的表示不惟一数数0的原码的原码8位数位数0的原码:的原码:+0=0 0000000 -0=1 0000000 即:数即:数0的原码不惟一的原码不惟一3. 反码反码: 正数反码表示与原码相同,正数反码表示与原码相同, (最高位最高位“0”表示正,其余位为数值位。表示正,其余位为数值位
11、。) 负数的反码表示为负数原码的符号位不变尾数按位取反。负数的反码表示为负数原码的符号位不变尾数按位取反。例:例: +4反反 = 0 0000100-4反反 = 1 1111011 +127反反 = 0 1111111-127反反 = 1 0000000 +0反反 = 0 0000000 -0反反 = 1 11111110的反码:的反码: +0反反=00000000 -0反反 =11111111 即:数即:数0的反码也不惟一的反码也不惟一4. 补码:补码: 正数的补码表示与原码相同,正数的补码表示与原码相同, (最高位最高位 用用“0”表示正,其余位为数值位表示正,其余位为数值位.) 负数的补
12、码表示为它的反码负数的补码表示为它的反码+1。-127原原=1 1111111 +0原原=0 0000000-127反反=1 0000000 -0反反=1 1111111-127补补=1 0000001 -0补补=0 00000000的补码:的补码:+0补补= +0原原=00000000-0补补= -0反反+1=11111111+1 =1 00000000 对对8 8位字长,进位被舍掉位字长,进位被舍掉 +0原原=0 0000000 -0反反=1 1111111 -0补补=0 0000000为什么要引进补码的概念为什么要引进补码的概念 这是因为在计算机中,对于二进制是算术运算,这是因为在计算机
13、中,对于二进制是算术运算,可以将乘法运算转换为加法和左移运算,而除法运可以将乘法运算转换为加法和左移运算,而除法运算可以转换为减法和右移运算,故加、减、乘、除算可以转换为减法和右移运算,故加、减、乘、除运算最终可归纳为加、减和移位运算最终可归纳为加、减和移位3种操作来完成。种操作来完成。在计算机中为了节省设备,一般只设置加法器而无在计算机中为了节省设备,一般只设置加法器而无减法器,这就需要将减法运算转化为加法运算,从减法器,这就需要将减法运算转化为加法运算,从而使在计算机中的二进制四则运算最终变成加法和而使在计算机中的二进制四则运算最终变成加法和移位两种操作。移位两种操作。 引进补码运算就是用
14、来解决将减法运算转化为引进补码运算就是用来解决将减法运算转化为加法运算的。加法运算的。例例:将一个用补码表示的二进制数转换为十进制数将一个用补码表示的二进制数转换为十进制数X补补=0 0101110B 真值为:真值为:+0101110B 正数正数 所以:所以:X=+46X补补=1 1010010B 真值为:真值为:-0101110B 负数负数 从而有:从而有:X=X补补补补=11010010补补 =-1 0101110 =-46符号数的算术运算符号数的算术运算通过引进补码,可将减法运算转换为加法运算通过引进补码,可将减法运算转换为加法运算即:即:X+Y补补=X补补+Y补补 X-Y补补=X+(-
15、Y)补补 =X补补+-Y补补注意:在微机中,凡是涉及注意:在微机中,凡是涉及带符号数带符号数都一定是用都一定是用补码补码表示的,表示的,所以运算的结果也是用所以运算的结果也是用补码补码表示的。表示的。例例:X=-0110100,Y=+1110100,求,求 X+Y 补补=? X原原=10110100 X补补= X反反+1=11001100Y补补= Y原原=01110100所以:所以: X+Y补补= X补补+ Y补补 =11001100+01110100 =01000000例例:因为在:因为在8位机中,最高位位机中,最高位D7的进位已超出计算机的进位已超出计算机字长的范围,所以是自然丢失。字长的
16、范围,所以是自然丢失。X=+66,Y=+51,求,求X-Y补补=?解:可利用运算规则解:可利用运算规则X-Y补补=X补补+-Y补补X原原=01000010 X补补= 01000010-Y原原=10110011-Y补补=11001101所以:所以:X-Y补补=X补补+-Y补补=01000010+11001101 =1 00001111 自然丢失自然丢失 例例:对补码运算的结果仍为补码。本例所求和数符:对补码运算的结果仍为补码。本例所求和数符号位为号位为1,即和为负数是补码。,即和为负数是补码。X =+51 ,Y =+66,求,求X-Y补补=?解:可利用运算规则解:可利用运算规则X-Y补补=X补补
17、+-Y补补X原原=0 0110011X补补= 0 0110011 -Y原原=1 1000010-Y补补=10111110所以:所以: X-Y补补=X补补+-Y补补 = 0 0110011 + 10111110 =11110001三种码制之间关系及特点:三种码制之间关系及特点:正数:正数: 原,反,补相同原,反,补相同负数:负数: 原,反,补不同,但最高位为原,反,补不同,但最高位为1 1。负数负数: : 原原反,反, 符号位不变,尾数按位求反符号位不变,尾数按位求反 原原补补 ,符号位不变,尾数按位求反,符号位不变,尾数按位求反+1+1 补补原,原, 符号位不变,尾数求反符号位不变,尾数求反+
18、1+1 反反原原 ,符号位不变,尾数求反,符号位不变,尾数求反. .8位有符号数的补码表示范围位有符号数的补码表示范围 范围是范围是 -128至至127 10000000-01111111 根据补码的几条规定即可推出上述结论:根据补码的几条规定即可推出上述结论: 1 若二进制每位全为若二进制每位全为0,则表示数则表示数0 2 若最高位(即符号位)为若最高位(即符号位)为0,表示正数表示正数 3 若最高位为若最高位为1, 表示是负数,而该负数的绝对值是多少呢?将每个二进表示是负数,而该负数的绝对值是多少呢?将每个二进制位(包括符号位)取反加制位(包括符号位)取反加1,得到一个二进制数,将该数看成
19、无符,得到一个二进制数,将该数看成无符号数,其值就是上述负数的绝对值。号数,其值就是上述负数的绝对值。 例如,二进制的例如,二进制的 10000000 的最高位为的最高位为1, 所以它表示的是负数。是负的所以它表示的是负数。是负的多少呢?我们将其八位全部取反,得到多少呢?我们将其八位全部取反,得到01111111, 然后加然后加1,得到,得到10000000. 将该数看作无符号数,值为将该数看作无符号数,值为128, 故计算机中的故计算机中的10000000表表示的是示的是-128 最高位(即符号位)为最高位(即符号位)为1的的8位有符号数有位有符号数有128个,故可表个,故可表示示128个负
20、数;最高位为个负数;最高位为0的的8位有符号数有位有符号数有128个,但全个,但全0的那个表示的那个表示数数0,所以总共只能表示,所以总共只能表示127个正整数。个正整数。 2.1.3 二进制编码二进制编码1编码定义编码定义 人为地一种约定。人为地一种约定。 计算机中的编码就是规定用怎样的二进制编计算机中的编码就是规定用怎样的二进制编码来表示文字和符号。码来表示文字和符号。 2常用编码常用编码 (1)BCD码码 (2)ASCII码码 (1)BCD码码十进制数与十进制数与84218421码的对照表码的对照表BCD码定义: 用四位二进制码表示一位十进制数码。 8421BCD码是用00001001来
21、表示09十个数码。十进制数8421码十进制数8421码0000050101100016011020010701113001181000401009 1001(1)BCD码码BCDBCD码与常用进制数的转换:码与常用进制数的转换: BCD码与十进制的转换码与十进制的转换 BCD码与二进制或十六进制的转换码与二进制或十六进制的转换返回返回每位十进制数码都用四位二进制数表示每位十进制数码都用四位二进制数表示【例】将【例】将69.25转换成转换成BCD码。码。 6 9 . 2 5 0110 1001 . 0010 0101 结果为结果为69.25=(01101001.00100101)BCD【例】将【
22、例】将BCD码码100101111000.01010110转换成十进转换成十进制数。制数。 1001 0111 1000 . 0101 0110 9 7 8 . 5 6 结果为(结果为(100101111000.01010110)BCD=978.56思考:将十进制数思考:将十进制数156用用BCD码表示,并与其等值的二码表示,并与其等值的二进制数比较,你认为进制数比较,你认为BCD码与二进制数相同吗?码与二进制数相同吗?(156)BCD=0001 0101 0110 (156)B=10011100(1)BCD码码BCDBCD码与常用进制数的转换:码与常用进制数的转换: BCD码与十进制的转换码
23、与十进制的转换 BCD码与二进制或十六进制的转换码与二进制或十六进制的转换返回返回二二 BCDBCD码与二进制数之间转换没有直接关系,码与二进制数之间转换没有直接关系,必须先转换成十进制必须先转换成十进制,然后转换成二进制。然后转换成二进制。例:例:1111111B=255D=0010,0101,0101BCD0010,0101,0101BCD255D=1111 1111B先完成先完成BCD码与十进制的转换;码与十进制的转换;再进行十进制数与二进制或十六进制的转换再进行十进制数与二进制或十六进制的转换(2)ASCII码码ASCIIASCII码的定义:码的定义: ASCII码有码有7位版本位版本
24、和和8位版本位版本两种。国际上通用的是两种。国际上通用的是7位版本。位版本。 7位版本的位版本的ASCII码有码有128个元素个元素,其中通用控制字符,其中通用控制字符34个,阿拉伯数字个,阿拉伯数字10个,大、小写英文字母个,大、小写英文字母52个,各种标个,各种标点符号和运算符号点符号和运算符号32个。个。 ASCIIASCII码表码表问题问题:当微型计算机上采用:当微型计算机上采用7 7位位ASCIIASCII码作为机内码时,每码作为机内码时,每个字节只占后个字节只占后7 7位,最高位应该为位,最高位应该为0 0还是还是1 1? ASCII字符编码表字符编码表 十六进制高位十六进制高位十
25、六进制低位十六进制低位0000010100111001011101110000NULDELSP0Pp0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC33CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx返回返回1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?O_oDEL返回返回 当微型计算机上采用当微型计算机上采用7 7位位ASCIIASCII码作为机内码时,每码
26、作为机内码时,每个字节只占后个字节只占后7 7位,位,最高位恒为最高位恒为0 0。 8 8位位ASCIIASCII码需用码需用8 8位二进制数进行编码。当最高位位二进制数进行编码。当最高位为为0 0时,称为基本时,称为基本ASCIIASCII码(编码与码(编码与7 7位位ASCIIASCII码相同),码相同),当最高位为当最高位为1 1时,形成扩充的时,形成扩充的ASCIIASCII码,它表示数的范码,它表示数的范围为围为128128255255,可表示,可表示128128种字符。通常各个国家都把种字符。通常各个国家都把扩充的扩充的ASCIIASCII码作为自己国家语言文字的代码。码作为自己国
27、家语言文字的代码。 ASCII ASCII码码 的用途:的用途: ASCII码主要用于微机与外设的通信。码主要用于微机与外设的通信。问题:问题:汉字有编码汉字有编码吗?吗? 汉字编码汉字编码 由于汉字是象形文字,数目很多,常用汉字就有由于汉字是象形文字,数目很多,常用汉字就有3000300050005000个,加上汉字的形状和笔画多少差异极大,因个,加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定的符号将汉字完全表示出来,此,不可能用少数几个确定的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉字必须有它自己独或像英文那样将汉字拼写出来。每个汉字必须有它自己独特的编码。特
28、的编码。 1 1)信息交换用汉字编码字符集信息交换用汉字编码字符集基本集基本集 2 2)汉字的机内码汉字的机内码 3 3)汉字的输入码(外码)汉字的输入码(外码) 4 4)汉字的字形码汉字的字形码 返回返回 汉字编码汉字编码 由于汉字是象形文字,数目很多,常用汉字就有由于汉字是象形文字,数目很多,常用汉字就有30005000个,个,加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉字必须有它自己独特的编码。
29、字必须有它自己独特的编码。 1 1)信息交换用汉字编码字符集信息交换用汉字编码字符集基本集基本集 2 2)汉字的机内码汉字的机内码 3 3)汉字的输入码(外码)汉字的输入码(外码) 4 4)汉字的字形码汉字的字形码 信息交换用汉字编码字符集信息交换用汉字编码字符集基本集基本集是是我国于我国于1980年制定的国家标准年制定的国家标准GB231280,代号为国标码,是国家规定的用于汉字信息代号为国标码,是国家规定的用于汉字信息交换使用的代码的依据。交换使用的代码的依据。返回返回 汉字编码汉字编码 由于汉字是象形文字,数目很多,常用汉字就有由于汉字是象形文字,数目很多,常用汉字就有30005000个
30、,个,加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉字必须有它自己独特的编码。字必须有它自己独特的编码。 1 1)信息交换用汉字编码字符集信息交换用汉字编码字符集基本集基本集 2 2)汉字的机内码汉字的机内码 3 3)汉字的输入码(外码)汉字的输入码(外码) 4 4)汉字的字形码汉字的字形码 汉字的机内码是供计算机系统内汉字的机内码是供计算机系统内部进行存储、加工处理、传输统部进行存储、加工处理、传输统
31、一使用的代码,又称为汉字内部一使用的代码,又称为汉字内部码或汉字内码。码或汉字内码。返回返回 汉字编码汉字编码 由于汉字是象形文字,数目很多,常用汉字就有由于汉字是象形文字,数目很多,常用汉字就有30005000个,个,加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉字必须有它自己独特的编码。字必须有它自己独特的编码。 1 1)信息交换用汉字编码字符集信息交换用汉字编码字符集基本集基本集 2 2)汉字的机
32、内码汉字的机内码 3 3)汉字的输入码(外码)汉字的输入码(外码) 4 4)汉字的字形码汉字的字形码 汉字输入码是为了将汉字通过键汉字输入码是为了将汉字通过键盘输入计算机而设计的代码。汉盘输入计算机而设计的代码。汉字输入编码方案很多,其表示形字输入编码方案很多,其表示形式大多用字母、数字或符号。式大多用字母、数字或符号。返回返回 汉字编码汉字编码 由于汉字是象形文字,数目很多,常用汉字就有由于汉字是象形文字,数目很多,常用汉字就有30005000个,个,加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定的符号将汉字完全表示出
33、来,或像英文那样将汉字拼写出来。每个汉的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。每个汉字必须有它自己独特的编码。字必须有它自己独特的编码。 1 1)信息交换用汉字编码字符集信息交换用汉字编码字符集基本集基本集 2 2)汉字的机内码汉字的机内码 3 3)汉字的输入码(外码)汉字的输入码(外码) 4 4)汉字的字形码汉字的字形码 汉字字形码是汉字字库中存储的汉字字形码是汉字字库中存储的汉字字形的数字化信息,用于汉汉字字形的数字化信息,用于汉字的显示和打印。字的显示和打印。 返回返回 汉字系统对每个汉字规定了输入计算机的代汉字系统对每个汉字规定了输入计算机的代码,即汉字的外部码,键盘输入
34、汉字是输入汉码,即汉字的外部码,键盘输入汉字是输入汉字的外部码。字的外部码。 计算机为了识别汉字,要把汉字的外部码转计算机为了识别汉字,要把汉字的外部码转换成汉字的内部码,以便进行处理和存储。换成汉字的内部码,以便进行处理和存储。 为了将汉字以点阵的形式输出,还要将汉字为了将汉字以点阵的形式输出,还要将汉字的内部码转换为汉字的字形码,确定一个汉字的内部码转换为汉字的字形码,确定一个汉字的点阵。的点阵。 在计算机和其它系统或设备需要信息、数在计算机和其它系统或设备需要信息、数据交流时还必须采用交换码。据交流时还必须采用交换码。 习题与思考:习题与思考:1将无符号二进制数将无符号二进制数11011
35、01B转换为十进制数,其值转换为十进制数,其值为为 。 2 213.5= B= H。3 十进制数十进制数126其对应的十六进制可表示为(其对应的十六进制可表示为( ) 4 十进制数十进制数111用用8位二进制数表示时,应为位二进制数表示时,应为_B。5 已知某数的已知某数的BCD码为码为0111 0101 0100 0010 则其表示的则其表示的十进制数值为(十进制数值为( )。)。6十进制数十进制数5923的的BCD码为码为 。 返回返回习题与思考:习题与思考:1将无符号二进制数将无符号二进制数1101101B转换为十进制数,其值转换为十进制数,其值为为 27.25 。 2 213.5= 1
36、1010101. 1 B= D5 .8 H。3 十进制数十进制数126其对应的十六进制可表示为(其对应的十六进制可表示为( 7EH ) 4 十进制数十进制数111用用8位二进制数表示时,应为位二进制数表示时,应为1101111B。5 已知某数的已知某数的BCD码为码为0111 0101 0100 0010 则其表示的则其表示的十进制数值为(十进制数值为(7542 )。)。6十进制数十进制数5923的的BCD码为码为 0101 1001 0010 0011 。 返回返回回顾回顾:单片机及其相关概念单片机及其相关概念单片机的概念:单片机的概念:单片机因将其主要组成部分集成在单片机因将其主要组成部分
37、集成在一个芯片上而得名。即把中央处理器一个芯片上而得名。即把中央处理器CPUCPU、随机存储、随机存储器器RAMRAM、只读存储器、只读存储器ROMROM、中断系统、定时、中断系统、定时/ /计数器以计数器以及及I/OI/O口电路等主要微型机部件集成在一块芯片上。口电路等主要微型机部件集成在一块芯片上。虽然单片机只是一个芯片,但从组成和功能上看,虽然单片机只是一个芯片,但从组成和功能上看,它已经具备了计算机系统的属性。为此,称它为单它已经具备了计算机系统的属性。为此,称它为单片微型计算机,简称单片机。片微型计算机,简称单片机。单片机和单片机系统:单片机和单片机系统:单片机只是一个芯片,而单单片
38、机只是一个芯片,而单片机系统则是在单片机芯片的基础上扩展其它电路片机系统则是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。或芯片构成的具有一定应用功能的计算机系统。单片机应用系统:单片机应用系统:单片机应用系统:指能满足嵌入单片机应用系统:指能满足嵌入对象要求的全部电路系统。对象要求的全部电路系统。 存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线控制总线 CB地址总线地址总线 AB输输出出设设备备CPU2.2微型计算机的基本结构存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线控制总线 CB
39、地址总线地址总线 AB输输出出设设备备CPU微机的硬件由微机的硬件由CPUCPU、存储器存储器、输入输入/ /输出设备输出设备构成;构成;输入输入/ /输出设备通过输出设备通过输入输入/ /输出接口输出接口与系统相连;与系统相连; ( ( 输入输入/ /输出接口简称输出接口简称I/OI/O接口接口 ) )各部件通过各部件通过总线总线连接。连接。构构成成部部件件(1)(1)总线总线 系统的各个零件之间需要传送数据,需要传送系统的各个零件之间需要传送数据,需要传送数据的是数据的是 CPUCPU、内存、内存、I/OI/O接口,其他的硬件都接口,其他的硬件都不需要交换。不需要交换。 数据系统总线也就是
40、为这三种部件间交换数数据系统总线也就是为这三种部件间交换数据服务的,是它们之间交换数据的通道。据服务的,是它们之间交换数据的通道。总线总线l 总线是连接多个功能部件的一组公共信号线总线是连接多个功能部件的一组公共信号线 微机中各功能部件之间的信息是通过总线传输微机中各功能部件之间的信息是通过总线传输总线总线 BUS存存储储器器I/O接接口口输输入入设设备备I/O接接口口输输出出设设备备CPUl 按信号的作用,总线分为三类:按信号的作用,总线分为三类: 地址总线、数据总线、控制总线地址总线、数据总线、控制总线 存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线
41、控制总线 CB地址总线地址总线 AB输输出出设设备备CPU地址总线地址总线 ABAB ( Address Bus) ( Address Bus) :单向单向用来传送用来传送CPUCPU输出的地址信号,输出的地址信号,确定被访问的存储单元、确定被访问的存储单元、I/OI/O端口。端口。存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线控制总线 CB地址总线地址总线 AB输输出出设设备备CPU地址总线的条数地址总线的条数 决定决定CPU的寻址能力。的寻址能力。10根根 210 1024 1K 20根根 220 1024K 1M32根根 232 22 230 4G
42、36根根 236 26 230 64G数据总线数据总线 DB DB ( Data Bus )( Data Bus ):双向双向 用来在用来在CPUCPU与存储器、与存储器、I/OI/O接口之间进行数据传送。接口之间进行数据传送。存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线控制总线 CB地址总线地址总线 AB输输出出设设备备CPU数据总线数据总线的条数决定一次可最多传送数据的宽度。的条数决定一次可最多传送数据的宽度。 8 8 根根 一次传送一次传送 8 8位位16 16 根根 一次传送一次传送 1616位位 32 32 根根 一次传送一次传送 3232位
43、位 64 64 根根 一次传送一次传送 6464位位控制总线控制总线CB ( Control Bus ) : 用于传送各种控制信号。用于传送各种控制信号。存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线控制总线 CB地址总线地址总线 AB输输出出设设备备CPU 有的是有的是CPUCPU发出,如读控制信号、写控制信号;发出,如读控制信号、写控制信号; 有的是发向有的是发向CPUCPU,如外设向,如外设向CPUCPU发出的中断申请信号。发出的中断申请信号。 程序是控制计算机动作的一系列命令,单片程序是控制计算机动作的一系列命令,单片机只认识由机只认识由“0”和
44、和“1”代码构成的机器指令。如代码构成的机器指令。如用助记符编写的命令用助记符编写的命令MOV A,20H,换成机器,换成机器认识的代码认识的代码74H、20H:(写成二进制就是:(写成二进制就是01110100B和和00100000B)。在单片机处理问题之)。在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中器代码后存入单片机的存储器中。 明确一个概念:不管是什么总线,它上面传送的都是明确一个概念:不管是什么总线,它上面传送的都是数据,不要理解为只是数据总线上传送的才是数据。这数据,不要理解为只是数据总线上传送的
45、才是数据。这里是根据数据的用途来人为划分的,是设计上的需要。里是根据数据的用途来人为划分的,是设计上的需要。比如地址总线上专门用来传送地址数据,控制总线上专比如地址总线上专门用来传送地址数据,控制总线上专门用来传送控制数据和状态数据。门用来传送控制数据和状态数据。 数据总线是双向的:打开一个文件需要把硬盘上的文数据总线是双向的:打开一个文件需要把硬盘上的文件读入内存,其实就是通过硬盘接口把硬盘的的数据通件读入内存,其实就是通过硬盘接口把硬盘的的数据通过数据总线传送到内存中。而保存文件时是相反的方向,过数据总线传送到内存中。而保存文件时是相反的方向,把内存中编辑好的数据再写回硬盘,所以它是双向的
46、。把内存中编辑好的数据再写回硬盘,所以它是双向的。而地址总线就是单向的了,因为需要传送的地址只有而地址总线就是单向的了,因为需要传送的地址只有CPU才知道,才知道,CPU需要的时候就会通知别的设备我要需要的时候就会通知别的设备我要从哪里提取数据。从哪里提取数据。(2) 中央处理器中央处理器CPUl 计算机的核心部件计算机的核心部件 用来实现指令的自动装入和自动执行,实现计算机用来实现指令的自动装入和自动执行,实现计算机本身的自动化。本身的自动化。存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线控制总线 CB地址总线地址总线 AB输输出出设设备备CPU存储器
47、存储器1 1按用途分类按用途分类内部存储器内部存储器 内部存储器又叫内存,是主存储器。用来存储内部存储器又叫内存,是主存储器。用来存储当前正在使用的或经常使用的程序和数据。当前正在使用的或经常使用的程序和数据。CPUCPU可可以对他直接访问,存取速度较快。以对他直接访问,存取速度较快。外部存储器外部存储器 外部存储器又叫外存,是辅助寄存器。外存的外部存储器又叫外存,是辅助寄存器。外存的特点是容量大,所存的信息既可以修改也可以保特点是容量大,所存的信息既可以修改也可以保存。存取速度较慢。存。存取速度较慢。2.2.按存储器的性质分类按存储器的性质分类(1 1)ROMROM只读存储器(只读存储器(R
48、ead Only MemoryRead Only Memory) ROMROM存储器将程序及数据固化在芯片中,数据存储器将程序及数据固化在芯片中,数据只能读出不能写入。电源关掉,数据也不会丢失。只能读出不能写入。电源关掉,数据也不会丢失。(2 2)RAMRAM随机存取存储器(随机存取存储器(Random Access MemoryRandom Access Memory) CPUCPU根据根据RAMRAM的地址将数据随机的写入或读出。的地址将数据随机的写入或读出。电源切断后,所存数据全部丢失。电源切断后,所存数据全部丢失。ROM掩膜掩膜ROM:ROM:固定固定ROMROM,它由厂家编好程序,然
49、后写入,它由厂家编好程序,然后写入ROMROM供用户供用户使用,用户不能更改它。使用,用户不能更改它。 OTP OTP可编程的一次只读存储器可编程的一次只读存储器ROMROM(ONE TIME ProgramableONE TIME Programable) 将设计的程序固化进去,将设计的程序固化进去,ROMROM内容不可更改。内容不可更改。 EPROM EPROM可擦除、可编程(可擦除、可编程(Erasable PROMErasable PROM) 可编程固化程序,且在程序固化后可通过紫外线光照擦除,可编程固化程序,且在程序固化后可通过紫外线光照擦除,以便重新固化新数据。以便重新固化新数据。
50、EEPROMEEPROM电可擦除可编程(电可擦除可编程(Electrically Erasable PROMElectrically Erasable PROM) 可编程固化程序,并可利用电压来擦除芯片内容,以便重可编程固化程序,并可利用电压来擦除芯片内容,以便重新固化新数据。新固化新数据。(3)内存内存 内存是存储数据(原始数据、中间结果和最终结果)内存是存储数据(原始数据、中间结果和最终结果)和当前执行程序的部件,由地址译码器、内存单元等和当前执行程序的部件,由地址译码器、内存单元等构成。构成。n根根CPU地址线地址线AB数据线数据线DB控制线控制线CB地地址址译译码码器器11001100
51、00110011101010101111000010001000地址地址00.0000地址地址00.0001地址地址00.0010地址地址00.0011地址地址111111内存结构示意图内存结构示意图l 内存单元内存单元 l 内存单元的地址内存单元的地址l 内存单元的内容内存单元的内容l 对内存的读对内存的读/ /写操作写操作 内存单元内存单元(p28) 存储信息的基本单元。存储信息的基本单元。每片内存芯片有若干个内存单元,内存单元从每片内存芯片有若干个内存单元,内存单元从0 0开始编址。开始编址。每个单元可存储每个单元可存储8 8位二进制数。一台微机中内存单元的总位二进制数。一台微机中内存单
52、元的总数称为内存容量,单位为字节。数称为内存容量,单位为字节。n根根CPU地址线地址线AB数据线数据线DB控制线控制线CB地地址址译译码码器器1100110000110011101010101111000010001000地址地址00.0000地址地址00.0001地址地址00.0010地址地址00.0011地址地址111111l 内存单元的地址内存单元的地址l为区分各内存单元,每个内存单元对应有一个地址。为区分各内存单元,每个内存单元对应有一个地址。地址线上的数据经译码后只有唯一的内存单元被选地址线上的数据经译码后只有唯一的内存单元被选中。中。n根根CPU地址线地址线AB数据线数据线DB控制
53、线控制线CB地地址址译译码码器器1100110000110011101010101111000010001000地址地址00.0000地址地址00.0001地址地址00.0010地址地址00.0011地址地址111111l 内存单元的内容内存单元的内容 每个内存单元所存储的二进制数据每个内存单元所存储的二进制数据。n根根CPU地址线地址线AB数据线数据线DB控制线控制线CB地地址址译译码码器器1100110000110011101010101111000010001000地址地址00.0000地址地址00.0001地址地址00.0010地址地址00.0011地址地址111111l 对内存的读对
54、内存的读/ /写操作写操作u CPUCPU发出地址信号,选中相应的内存单元。发出地址信号,选中相应的内存单元。u若是若是读操作读操作,CPUCPU发出内存读控制信号,被选中发出内存读控制信号,被选中的内存单元将其内容经数据总线送入的内存单元将其内容经数据总线送入CPUCPU。u若是若是写操作写操作,CPUCPU发出内存写控制信号,发出内存写控制信号,CPUCPU将欲将欲写的内容经数据总线,写入被选中的内存单元。写的内容经数据总线,写入被选中的内存单元。n根根CPU地址线地址线AB控制线控制线CB地地址址译译码码器器1100110000110011101010101111000010001000
55、地址地址00.0000地址地址00.0001地址地址00.0010地址地址00.0011地址地址111111数据线数据线DB存储器的主要指标存储器的主要指标 存取速度存取速度: 启动到完成一次存储器操作所经历的启动到完成一次存储器操作所经历的时间,即指读或写一条信息所需的时间,是影响计算时间,即指读或写一条信息所需的时间,是影响计算机速度的主要因素之一。机速度的主要因素之一。 存储容量存储容量: 在一个存储器中可以容纳的存储单元在一个存储器中可以容纳的存储单元总数:最多能存储多少个单位信息,单位多用字节表总数:最多能存储多少个单位信息,单位多用字节表示。示。2 21010=1KB =1KB ,存储器容量的大小是由地址线的位数,存储器容量的大小是由地址线的位数决定的。决定的。 存储器的寻址原理存储器的寻址原理练习题:练习题: 若假定存储器的单元地址从若假定存储器的单元地址从00HFFH,每,每个单元存储个单元存储8位二进制信息,即字长为位二进制信息,即字长为8位,则位,则这个存储器的容量是这个存储器的容量是。28