《单片微型计算机基础知识讲稿.ppt》由会员分享,可在线阅读,更多相关《单片微型计算机基础知识讲稿.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片微型计算机基础知识1第一页,讲稿共三十九页哦 计算机只计算机只识别和处理识别和处理数字信息数字信息,数字是以,数字是以二进制数二进制数的形式表示的。的形式表示的。它易于物理实现,存储、传送和处理简单可靠;它易于物理实现,存储、传送和处理简单可靠;运算规则简单,使电路的设计、分析较方便。运算规则简单,使电路的设计、分析较方便。2第二页,讲稿共三十九页哦1.1计计算机中的数制及相互转换算机中的数制及相互转换一、数制一、数制p按进位原则进行计数的方法按进位原则进行计数的方法,称为称为进位计数制进位计数制。p常用数制:常用数制:十进制数,二进制数,十六进制数。十进制数,二进制数,十六进制数。p十进
2、制数有两个主要特点:十进制数有两个主要特点:(1)有有 10 个不同的数字符号个不同的数字符号:0、1、2、9;(2)低位向高位进位的规律是低位向高位进位的规律是“逢十进一逢十进一”。因此因此,同一个数字符号在不同的数位所代表的数值是不同的。同一个数字符号在不同的数位所代表的数值是不同的。555.5=5102+5101+5100+510-1式中的式中的“10”称为十进制的称为十进制的 基数基数10、101、100、10-1称为各数位的称为各数位的 权。权。扩展:扩展:R 进制,进制,计数原则是计数原则是“逢逢 R进一进一”。3第三页,讲稿共三十九页哦二进制数、十六进制数二进制数、十六进制数p二
3、进制数二进制数 当当 R=2 时时,称为二进位计数制称为二进位计数制,简称二进制。在二进制数中简称二进制。在二进制数中,只有两个不同数码只有两个不同数码:0和和1,进位规律为进位规律为“逢二进一逢二进一”。p十六进制数十六进制数 当当R=16时时,称为十六进制。在十六进制中称为十六进制。在十六进制中,有有 0、1、2、9、A、B、C、D、E、F共共 16个不同的数码个不同的数码,进位方法是进位方法是“逢十六进一逢十六进一”。4第四页,讲稿共三十九页哦各种进位制的对应关系各种进位制的对应关系 十进制十进制二进制二进制八进制八进制十六进制十六进制十进制十进制 二进制二进制八进制八进制十六进制十六进
4、制000091001119111110101012A2102211101113B3113312110014C41004413110115D51015514111016E61106615111117F71117716100002010810001085第五页,讲稿共三十九页哦问题二、问题二、不同进制间的相互转换不同进制间的相互转换 1、二、二、八、八、十六进制转换成十进制十六进制转换成十进制:按权展开。:按权展开。p(10.101)2=121+020+12-1+02-2+12-3 =2.6256第六页,讲稿共三十九页哦2、十进制、十进制数转换成二、八、十六进制数数转换成二、八、十六进制数任意十进
5、制数任意十进制数 N 转换成转换成 R 进制数进制数,需将需将整数部分和小数部分整数部分和小数部分分开分开,采用不同方法分别进行转换采用不同方法分别进行转换,然后用小数点将这两部分连接起然后用小数点将这两部分连接起来。来。(1)整数部分整数部分:除基取余法。除基取余法。分别用基数分别用基数 R 不断地去除不断地去除 N 的整数的整数,直到商为零为止直到商为零为止,每次每次所得的余数依次排列即为相应进制的数码。最初得到的为最低有效数所得的余数依次排列即为相应进制的数码。最初得到的为最低有效数字字,最后得到的为最高有效数字。最后得到的为最高有效数字。例例:十进制数十进制数转换转换为二进制数为二进制
6、数.方法:方法:整数部分除二取余,整数部分除二取余,(小数部分乘二取整小数部分乘二取整).7第七页,讲稿共三十九页哦45 余数余数 22 111051211001222222即即 45=(101101)2例例1、将十进制数、将十进制数45转换成二进制数。转换成二进制数。除二取余法除二取余法8第八页,讲稿共三十九页哦练习练习 将(将(168)10转换成二、转换成二、八、八、十六进制数。十六进制数。9第九页,讲稿共三十九页哦(2)小数部分小数部分:乘基取整法。乘基取整法。分分别别用用基基数数 R(R=2、8或或16)不不断断地地去去乘乘N 的的小小数数,直直到到积积的的小小数数部部分分为为零零(或
7、或直直到到所所要要求求的的位位数数)为为止止,每每次次乘乘得得的的整整数数依依次次排排列列即即为为相相应应进进制制的的数数码码。最最初初得得到到的的为为最最高高有有效效数数字字,最后得到的为最低有效数字。最后得到的为最低有效数字。10第十页,讲稿共三十九页哦例例2:十进制小数部分的转换:十进制小数部分的转换:乘二取整法乘二取整法0.68752最高位最高位 取取 1 1.37500.375 2取取 0 0.750 2取取 1 1.500.5 2最低位最低位 取取 1 1.0从上至下写成从左至右从上至下写成从左至右(0.6875)10=(0.1011)211第十一页,讲稿共三十九页哦练习故:故:(
8、0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16 12第十二页,讲稿共三十九页哦例例 3 将(将(101011.01101)2转换为八进制数。转换为八进制数。101 011 .011 010 5 3 .3 2 即即 (101011.01101)2=(53.32)8 p采用采用“合三为一合三为一”的原则的原则,即从小数点开始分别即从小数点开始分别向左、右两边各以向左、右两边各以3位为一组进行二位为一组进行二八换算八换算:若不若不足足 3 位的以位的以 0 补足补足13第十三页,讲稿共三十九页哦例例 4 将将(123.45)8转换成二进制数。转换成二进制数。1
9、2 3 .4 5001 010 011 .100 101 即即 (123.45)8=(1010011.100101)214第十四页,讲稿共三十九页哦例例 5 将(将(110101.011)2转换为十六进制数。转换为十六进制数。0011 0101 .0110 3 5 .6 即即 (110101.011)2=(35.6)16 15第十五页,讲稿共三十九页哦例例 6 将(将(4A5B.6C)16转换为二进制数。转换为二进制数。4 A 5 B .6 C0100 1010 0101 1011 .0110 1100即即 (4A5B.6C)16=(100101001011011.011011)2 16第十六
10、页,讲稿共三十九页哦问题?问题?二二进制数的进制数的运算运算p二进制数的二进制数的算术算术运算:运算:加、减、加、减、乘、除乘、除运算;p二进制数的二进制数的逻辑逻辑运算:运算:“与与”、“或或”、“非非”、“异或异或”等运算。等运算。17第十七页,讲稿共三十九页哦1.2有符号数的表示及运算有符号数的表示及运算一、机器数与真值一、机器数与真值机器机器只只认识二进制数:认识二进制数:0、1。这是因为,电路状态常常有两种情况,这是因为,电路状态常常有两种情况,如:电路的通、断;如:电路的通、断;高电平、低电平;可用高电平、低电平;可用0、1表示。表示。在机器中,这种用在机器中,这种用0、1表示的数
11、称为表示的数称为机器数机器数。一个机器数的数。一个机器数的数值称为它的值称为它的真值真值。机器数分为机器数分为无符号数无符号数、带符号数(有符号数)带符号数(有符号数)。18第十八页,讲稿共三十九页哦1.2有符号数的表示及运算有符号数的表示及运算二、二、机器数分为机器数分为无符号数无符号数、带符号数带符号数。无符号数如:无符号数如:00000001、10010011、01010010、等等,范围:等等,范围:00H FFH。机器数可以用符号位来表示数的正负,就是机器数可以用符号位来表示数的正负,就是有符号数有符号数。最高位为最高位为0表示正数表示正数,最高位为最高位为1表示负数表示负数。有(带
12、)符号数如:有(带)符号数如:+1010110B、-1101001B等等等等01010110B11101001B19第十九页,讲稿共三十九页哦1.2有符号数的表示及运算有符号数的表示及运算三、三、负数的负数的3种表示:原码、反码、补码种表示:原码、反码、补码 都通过符号位来表示数的正负,但是数的大小的表示方都通过符号位来表示数的正负,但是数的大小的表示方法是不同的。计算机内一般使用补码。法是不同的。计算机内一般使用补码。(1)原码)原码原数前原数前“+”用用0表示,原数前表示,原数前“-”用用1表示,数值部分为该数本身,表示,数值部分为该数本身,这样的机器数叫原码。这样的机器数叫原码。以以3为
13、例为例+3原原=00000011B-3原原 =10000011B0有两种表示方法有两种表示方法:00000000:+0 10000000:-0 20第二十页,讲稿共三十九页哦1.2有符号数的表示及运算有符号数的表示及运算(2)反码)反码一个正数的反码一个正数的反码,等于该数的原码等于该数的原码;一个负数的反码一个负数的反码,由它的由它的正数的原码按位取反形成。正数的原码按位取反形成。以正负以正负3为例分析为例分析21第二十一页,讲稿共三十九页哦1.2有符号数的表示及运算有符号数的表示及运算(3)补码)补码补码是由补码是由补数补数的概念引出来的。一个计量系统所能表示的概念引出来的。一个计量系统所
14、能表示的的最大量程最大量程被称为被称为模模。如果模用如果模用K表示,当满足表示,当满足Z=nK+Y时,时,称称Z和和Y互为补互为补数,数,n为整数。为整数。两个互为补数的数,实际上是代表同一个事物。两个互为补数的数,实际上是代表同一个事物。例如,一个圆周角是例如,一个圆周角是360,在这个圆周系统中,在这个圆周系统中,270 和一和一90 互为补数,互为补数,因为因为 270 360 十十(一一90)从物理上讲,从物理上讲,270 和一和一90 代表同一个角度。代表同一个角度。22第二十二页,讲稿共三十九页哦1.2有符号数的表示及运算有符号数的表示及运算(3)补码)补码补码是由补码是由补数补数
15、的概念引出来的。一个计量系统所能表示的的概念引出来的。一个计量系统所能表示的最最大量程大量程被称为被称为模模。进一步分析进一步分析 ,有模的计量器有模的计量器,均可化减法为加法运算。均可化减法为加法运算。例如时钟的例如时钟的模为模为12,设当前时钟指向,设当前时钟指向11点点,而准确时间为而准确时间为7点点,调整时间的方调整时间的方法有两种法有两种,一种是时钟倒拨一种是时钟倒拨4小时小时,即即11-4=7;另一种是时钟正拨另一种是时钟正拨8小时小时,即即11+8=12+7=7。由此可见由此可见,在以在以12为模的系统中为模的系统中,加加8和和减减4的效果是一样的。的效果是一样的。23第二十三页
16、,讲稿共三十九页哦1.2有符号数的表示及运算有符号数的表示及运算(3)补码)补码正数正数的补码等于原码;的补码等于原码;负数负数的补码求法:的补码求法:反码反码+1。8位位二二进进制制补补码码能能表表示示的的范范围围为为:-128+127,若若超超过过此此范范围围,则则为溢出。为溢出。0补补=+0补补=-0补补=00000000B可见可见,数数0的补码表示是唯一的。的补码表示是唯一的。运算:运算:X+Y 补补=X 补补+Y 补补 X-Y 补补=X 补补-Y 补补当需要作减法时,只需将减数再次求补,然后再作加法就可当需要作减法时,只需将减数再次求补,然后再作加法就可以了。以了。24第二十四页,讲
17、稿共三十九页哦有符号数的溢出问题有符号数的溢出问题p由由于于计计算算机机中中表表示示数数据据的的字字长长(位位数数)有有一一定定限限制制,所所以以数数据的表示应有一个范围。据的表示应有一个范围。如字长如字长8位时;位时;补码范围补码范围-128+127若运算结果超出这个范围,便溢出。若运算结果超出这个范围,便溢出。p可以通过增加字节数扩大机器数所能表示的数的范围可以通过增加字节数扩大机器数所能表示的数的范围。p若两个若两个正数正数补码补码和和的符号位为的符号位为1,或者两个,或者两个负数补码和负数补码和的符号位的符号位为为0,都表明结果出现了,都表明结果出现了溢出溢出。溢出标志置。溢出标志置1
18、.p无符号数超出了机器位数所能表示的范围如何表示。25第二十五页,讲稿共三十九页哦1.3 定点数和浮点数定点数和浮点数1.定点法定点法定点法中约定所有数据的定点法中约定所有数据的小数点小数点隐含在某个固定位置隐含在某个固定位置。对于对于纯小数纯小数,小数点固定在数符与数值之间小数点固定在数符与数值之间;对于整数对于整数,则把小数点固则把小数点固定在数值部分的最后面定在数值部分的最后面2.浮点法浮点法p浮点法中浮点法中,数据的数据的小数点位置小数点位置不是固定不变的不是固定不变的,而是而是可浮动可浮动的。的。因此因此,可将任意一个二进制数可将任意一个二进制数N表示成表示成 N=M2E其中其中,M
19、为尾数为尾数,为纯二进制小数为纯二进制小数,E称为阶码。可见称为阶码。可见,一个浮点数一个浮点数有阶码和尾数两部分有阶码和尾数两部分,且都带有表示正负的阶码符与数符。且都带有表示正负的阶码符与数符。26第二十六页,讲稿共三十九页哦补充:四字节浮点数格式补充:四字节浮点数格式2进制浮点数的形式进制浮点数的形式一般用M2E表示。其中:M为尾数,是定点数(无符号数),为数符,E为指数。符号位,0为正,1为负;24位二进制数表示尾数 0.10000.1111 23位23位8位二进制数表示指数,取-125+128.因此:表示数的范围扩大到(0.52-1251.02128)。即:(1.210-383.41
20、038),精度为2-24即5.910-8。27第二十七页,讲稿共三十九页哦IEEE标准的标准的四字节浮点数格式四字节浮点数格式IEEE标准的四字节浮点数格式如下:标准的四字节浮点数格式如下:31位数符数符1阶码阶码830.23尾数尾数2322 0 数符:0为正,1为负;23位尾数表示 0.10000.1111:24位尾数23位23位指数,取-125+128.阶码采用指数的移码,阶码=指数+$7E。1、阶码为0即浮点数为0(小于1.210-38);2、阶码为$78,指数为$78-$7E=-6;3、阶码为$88,指数为$88-$7E=10;4、阶码为$FF,指数为$ff-$7E=$81超出表示范围
21、,为溢出(即绝对值大于3.4*1038)。28第二十八页,讲稿共三十九页哦举例举例求求12.75的浮点数的浮点数31位数符数符1阶码阶码830.23尾数尾数2322 0数符:0为正,1为负;23位尾数表示 0.1*23位阶码=指数+$7E。解解:数符=0;为正将将12.75转换为转换为2进制数进制数=1100.11=0.1100 11x2423位尾数=100,1100,0000,0000,0000,0000 B阶码=指数+$7E=4+$7E=$82=1000,0010 B浮点数=0 1000,0010 100,1100,0000,0000,0000,0000 B=0 100,0001,0 10
22、0,1100,0000,0000,0000,0000 B=$41 4c 00 0029第二十九页,讲稿共三十九页哦1.4常用编码常用编码-BCD码和码和ASCII码码一、十进制数的编码问题一、十进制数的编码问题对机器:二进制数方便。对机器:二进制数方便。对人对人 :二进制数不直观,习惯于十进制数。:二进制数不直观,习惯于十进制数。在编程过程中,有时需要采用十进制运算,但机器不认识十进在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。制数。怎么办?怎么办?可以将十进制的字符用二进制数进行编码:可以将十进制的字符用二进制数进行编码:30第三十页,讲稿共三十九页哦1.4常用编码常用编码-B
23、CD码和码和ASCII码码一、十进制数的编码问题一、十进制数的编码问题可以将可以将十进制的字符十进制的字符用用二进二进制数制数进行编码。进行编码。这叫做二进制数对十进制编码这叫做二进制数对十进制编码BCD码。码。上述每上述每4位二进制数表示一个位二进制数表示一个十进制字符,这十进制字符,这4位中各位的位中各位的权依次是:权依次是:8、4、2、18421 BCD码。码。十进制十进制数数 8421BCD码码 十进制十进制数数 8421BCD码码 0000050101100016011020010701113001181000401009100131第三十一页,讲稿共三十九页哦1.4常用编码常用编码
24、-BCD码和码和ASCII码码二、十进制调整二、十进制调整pBCD数数直直接接按按二二进进制制进进行行加加法法运运算算,必必须须对对结结果果进进行行调调整整才才能得到正确结果。能得到正确结果。p原原因因:一一位位BCD数数用用四四位位二二进进制制数数编编码码,“逢逢十十六六进进一一”,而而十进制数是十进制数是“逢十进一逢十进一”。p调整方法调整方法(加法时加法时)相加结果大于相加结果大于9(1001B,非法的非法的BCD),加),加6修正;修正;结果大于等于结果大于等于=16(有进位),加(有进位),加6修正。修正。32第三十二页,讲稿共三十九页哦1.4常用编码常用编码-BCD码和码和ASCI
25、I码码三、字符信息的表示三、字符信息的表示p计算机能识别计算机能识别0、1、0、1、;这些;这些0、1、0、1、有的有的代表数值,有的仅代表要处理的信息(如字母、标点符号、数字代表数值,有的仅代表要处理的信息(如字母、标点符号、数字符号等文字符号),所以,计算机不仅要认识各种数字,还要能符号等文字符号),所以,计算机不仅要认识各种数字,还要能识别各种文字符号。识别各种文字符号。人们事先已对各种文字符号进行人们事先已对各种文字符号进行二进制数二进制数编码编码。p如,如,美国信息交换标准码美国信息交换标准码ASCII码码,用一个字节表示一个字,用一个字节表示一个字符。低符。低7位是字符的位是字符的
26、ASCII码值;最高位可以作通信时的码值;最高位可以作通信时的 校验校验位。包括有位。包括有控制符控制符,另外这种编码在,另外这种编码在数据传输数据传输中也有广泛的应中也有广泛的应用用。33第三十三页,讲稿共三十九页哦ASCII码码34第三十四页,讲稿共三十九页哦ASCII码码35第三十五页,讲稿共三十九页哦ASCII码码36第三十六页,讲稿共三十九页哦ASCII码码37第三十七页,讲稿共三十九页哦机器数机器数总结总结机器数机器数p机器数可以是只用正数,也就是无符号数。机器数可以是只用正数,也就是无符号数。p机器数所能表示的数的范围受机器字长的限机器数所能表示的数的范围受机器字长的限制。制。p
27、机器数可以用符号位来表示数的正负。机器数可以用符号位来表示数的正负。p机器数可以用来表示带小数点的数。机器数可以用来表示带小数点的数。p机器数所表示的数值称为机器数的真值。机器数所表示的数值称为机器数的真值。38第三十八页,讲稿共三十九页哦补码补码运算运算补码加法补码加法将两个数先变成补码将两个数先变成补码对两个补码进行加法运算,若最高位上有进位则舍弃不对两个补码进行加法运算,若最高位上有进位则舍弃不要要判断结果是否溢出判断结果是否溢出若结果溢出,则这次运算结果不正确。若没有若结果溢出,则这次运算结果不正确。若没有溢出,对结果再次求补码,得到结果的真值溢出,对结果再次求补码,得到结果的真值补码减法补码减法当需要作减法时,只需将减数再次求补,然后再当需要作减法时,只需将减数再次求补,然后再作加法就可以。即作加法就可以。即X-Y补补=X补补-Y补补=X补补+(-Y补补)=X补补+(Y补补)补补39第三十九页,讲稿共三十九页哦