《单片微机原理及应用精.ppt》由会员分享,可在线阅读,更多相关《单片微机原理及应用精.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片微机原理及应用课件第1页,本讲稿共38页以单片机为核心的应用系统广泛应用于:以单片机为核心的应用系统广泛应用于:家用电器;家用电器;工业过程控制;工业过程控制;仪器仪表;仪器仪表;网络及通信;网络及通信;航空、汽车等领域等。航空、汽车等领域等。第2页,本讲稿共38页单片机系统的组成单片机系统的组成CPUABDBCB存储器存储器接口部件接口部件键盘键盘显示器显示器数码管数码管打印机打印机定时计数器定时计数器第3页,本讲稿共38页单片机系统硬件部分软件部分单片机芯片外围器件CPU内存中断控制逻辑通用接口运算器寄存器组控制器并行I/O口串行UART定时/计数器ADC0809、DAC0832825
2、382518255A、81552764、6264指令系统应用程序第4页,本讲稿共38页1.4 计算机中的数和编码计算机只识别和处理数字信息,数字是以二进制数的形式表示计算机只识别和处理数字信息,数字是以二进制数的形式表示的。它易于物理实现,同时,资料存储、传送和处理简单可靠;的。它易于物理实现,同时,资料存储、传送和处理简单可靠;运算规则简单,使逻辑电路的设计、分析、综合方便,使计算器运算规则简单,使逻辑电路的设计、分析、综合方便,使计算器具有逻辑性。具有逻辑性。一、数制一、数制1、常用数制、常用数制(1.)十进制数:)十进制数:1985=1000+900+80+5=1103+9102+810
3、1+5100特点:特点:有有09十个不同的符号。十个不同的符号。逢十进一。逢十进一。一般用下脚标一般用下脚标D表示,如表示,如1985D,或无下脚标。或无下脚标。第5页,本讲稿共38页(2.)二进制数:)二进制数:特点:有特点:有0,1两个不同的符号。两个不同的符号。逢二进一。二进制数的下脚标为逢二进一。二进制数的下脚标为B例如:对于整数例如:对于整数,1001B=123+022+021+120=9D对于小数,对于小数,0.101B=12-1+02-2+12-3=0.625D二进制数每一位的权是:以小数点分界,二进制数每一位的权是:以小数点分界,.24,23,22,21,20.2-1,2-2,
4、2-3,第6页,本讲稿共38页(3.)十六进制数:)十六进制数:有有09,A,B,C,D,E,F共十六个不同的符号。共十六个不同的符号。逢十六进位。用下脚标逢十六进位。用下脚标“H”表示十六进制数。表示十六进制数。例:例:327H=3162+2161+7160=807D3AB.11H=3162+A161+B160+1161+116-2=939.0664D第7页,本讲稿共38页2、数制的转换、数制的转换(1.)二进制转换为十进制数二进制转换为十进制数方法方法:按权展开。按权展开。111.101B=122+121+120+12-1+02-2+123=4+2+1+0.5+0.125=7.625D(2
5、.)十进制数转换为二进制数十进制数转换为二进制数方法:方法:整数部分除二取余,小数部分乘二取整整数部分除二取余,小数部分乘二取整第8页,本讲稿共38页45 余余数数 22 111051211001222222即即 45=(101101)2例例1、将十进制数、将十进制数45转换成二进制数。转换成二进制数。第9页,本讲稿共38页例例2:十进制小数部分的转换:十进制小数部分的转换:乘二取整乘二取整0.68752最高位最高位 取取 1 1.37500.3752取取 0 0.7502取取 1 1.500.52最低位最低位 取取 1 1.0从上至下写成从左至右从上至下写成从左至右10110.6875D=0
6、.B第10页,本讲稿共38页二进制数转换成八进制数与上述类似。二进制数转换成八进制数与上述类似。(3.)十六进制数与二进制数之间的转换)十六进制数与二进制数之间的转换:十六进制数转换为二进制:十六进制数转换为二进制:9 AB.7C5H100110101011.011111000101B 二进制数转换十六进制数二进制数转换十六进制数:0001 1011 1110 0011.1001 0111 1000B1BE3.978H第11页,本讲稿共38页二、数码二、数码1、机器数与真值、机器数与真值机器只认识二进制数:机器只认识二进制数:0、1。这是因为,电路状态常常有两种情况,这是因为,电路状态常常有两
7、种情况,如:电路的通、断;如:电路的通、断;高电平、低电平;可用高电平、低电平;可用0、1表示。表示。在机器中,这种在机器中,这种0、1、0、1的表现形式称为机器数。的表现形式称为机器数。机器数分为无符号数、带符号数。机器数分为无符号数、带符号数。无符号数如:无符号数如:00000001、10010011、01010010、等等,范围:等等,范围:00H FFH。有符号数如:有符号数如:+1010110B、-1101001B、等等等等01010110B、11101001B第12页,本讲稿共38页 2 2、机器数的编码及运算、机器数的编码及运算对带符号数而言,有原码、反码、补码之分,计算机内一般
8、使用补对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。码。(1)原码)原码将将数数“数数码码化化”,原原数数前前“+”用用0表表示示,原原数数前前“-”用用1表表示示,数数值部分为该数本身,这样的机器数叫原码。值部分为该数本身,这样的机器数叫原码。设设X原数;则原数;则X原原=X(X0)X原原=2n-1X(X0),),n为字长的位数。为字长的位数。如,如,+3原原=00000011B-3原原=27-(-3)=10000011B0有两种表示方法:有两种表示方法:00000000+010000000-0原码最大、最小的表示:原码最大、最小的表示:+127、-128第13页,本讲稿共3
9、8页(2)反码)反码规规定定正正数数的的反反码码等等于于原原码码;负负数数的的反反码码是是将将原原码码的的数数值值位位各各位位取反。取反。X反反=X(X0)X反反=(2n1)+X(X0)如,如,+4反反=+4原原=00000100B-4反反=(281)+(-5)=11111111-00000101=11111010B反码范围:反码范围:-128+127两个两个0:+000000000B-011111111B第14页,本讲稿共38页运用补码可使减法变成加法。运用补码可使减法变成加法。规定:正数的补码等于原码。规定:正数的补码等于原码。负数的补码求法:负数的补码求法:1)反码)反码+12)公式:)
10、公式:X补补=2n+X(X0)如,如,设设X=-0101110B,则则X原原=10101110B则则X补补=X反反+1=11010001+00000001=11010010B如,如,+6补补=+6原原=00000110B-6补补=28+(-6)=1000000000000110=11111010B8位补码的范围位补码的范围128+127。0的个数:只一个,即的个数:只一个,即00000000而而10000000B是是-128的补码。的补码。原码、反码、补码对照表:见下表原码、反码、补码对照表:见下表123(3)补码)补码补补码码的的概概念念:现现在在是是下下午午3点点,手手表表停停在在12点点
11、,可可正正拨拨3点点,也也可可倒倒拨拨9点点。即即是是说说-9的操作可用的操作可用+3来实现,在来实现,在12点里:点里:3、-9互为补码。互为补码。第15页,本讲稿共38页 八位二进制数所能表示的数据范围八位二进制数所能表示的数据范围机器数机器数无符号数无符号数原码原码反码反码补码补码000000000+0+0+0000000011+1+1+1.01111111127+127+127+12710000000128-0-127-12810000001129-1-126-127.11111110254-126-1-211111111255-127-0-1第16页,本讲稿共38页(4)补码的运算)
12、补码的运算当当X0时,时,X补补=X反反=X原原X补补补补=X原原X补补+Y补补=X+Y补补X-Y补补=X+(-Y)补补例:已知例:已知X=52Y=38求求X-Y方法方法1:减法:减法:X-Y=52-38=1400110100-)0010011000001110第17页,本讲稿共38页 方法方法2:加法加法 X-Y=X-Y补补补补=X补补+-Y补补补补 =52补补+-38补补补补 =14 补补=14 52补补:0 0 1 1 0 1 0 0 -38补补:+)1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 自然丢失自然丢失计算机在做算术运算时,必需检查溢出,以防止发生错误计算
13、机在做算术运算时,必需检查溢出,以防止发生错误 第18页,本讲稿共38页(5)运算的溢出问题运算的溢出问题 由由于于计计算算机机中中表表示示数数据据的的字字长长(位位数数)有有一一定定限限制制,所以数据的表示应有一个范围。所以数据的表示应有一个范围。如字长如字长8位时;位时;补码范围补码范围-128+127若运算结果超出这个范围,便溢出。若运算结果超出这个范围,便溢出。例:例:98补补:0 1 1 0 0 0 1 0 25补补:+)0 0 0 1 1 0 0 1 123补补 0 0 1 1 1 1 0 1 1 未溢出未溢出 0 0 Cs+1Cs(未溢出)未溢出)第19页,本讲稿共38页 85补
14、补:0 1 0 1 0 1 0 1 47补补:+)0 0 1 0 1 1 1 1 132补补:1 0 0 0 0 1 0 0 溢出溢出 0 1 Cs+1Cs(溢出)溢出)错:两个正数相加和为负数。错:两个正数相加和为负数。-85补补:1 0 1 0 1 0 1 1 -47补补:+)1 1 0 1 0 0 0 1 -132补补:1 0 1 1 1 1 1 0 0 溢出溢出 1 0 Cs+1Cs错:两个负数相加和为正数。错:两个负数相加和为正数。第20页,本讲稿共38页-19补补:01010101-79补补:+)10110001-98补补:11001111未溢出未溢出11Cs+1Cs错:两个负数相
15、加和为正数。错:两个负数相加和为正数。总之:结果正确(无溢出)时,总之:结果正确(无溢出)时,Cs+1=Cs结果错误(溢出)时,结果错误(溢出)时,Cs+1Cs溢出判断:溢出溢出判断:溢出=Cs+1Cs(即结果是即结果是0为无溢出;为无溢出;1为有溢出)为有溢出)第21页,本讲稿共38页1、(6)十进制数的编码十进制数的编码对机器:二进制数方便,对机器:二进制数方便,对人对人:二进制数不直观,习惯于十进制数。:二进制数不直观,习惯于十进制数。在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。怎么办?怎么办?可以将十进制的字符
16、用二进制数进行编码:可以将十进制的字符用二进制数进行编码:00000501011010111110001601101011200107011111003001181000110140100910011110这叫做二进制数对十进制编码这叫做二进制数对十进制编码BCD码。码。上述每上述每4位二进制数表示一个十进制字符,这位二进制数表示一个十进制字符,这4位中各位的权依次是:位中各位的权依次是:8、4、2、18421BCD码。码。第22页,本讲稿共38页BCD码的运算:码的运算:例、例、1 8 +)3 2 1 0 0 0 1 1 0 0 0+)0 0 0 0 0 0 1 1 0 0 0 1 1 0
17、1 1 B是非是非BCD码码(错)(错)需进行十进制调整:需进行十进制调整:0 0 0 1 1 0 0 0 +)0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 (个位大于(个位大于9,应进,应进1)+)0 1 1 0 (加(加6使进使进1)0 0 1 0 0 0 0 1 (结果形如(结果形如21)第23页,本讲稿共38页BCD码加法规则:码加法规则:两个两个BCD数相加时,数相加时,“某位某位”的和小于的和小于10则保持不变;则保持不变;两个两个BCD数相加时,数相加时,“某位某位”的和大于的和大于9,则和数应加,则和数应加6修正。修正。BCD码减法规则:码减法规则:两两个个B
18、CD数数相相减减时时,“某某位位”的的差差未未发发生生借借位位,则则差差数数保保持持不不变;变;两个两个BCD数相减时,数相减时,“某位某位”发生了借位,其差应减发生了借位,其差应减6修正。修正。这里这里“某位某位”指指BCD数中的数中的“个位个位”、“十位十位”、“百位百位”、第24页,本讲稿共38页 加法举例:加法举例:0 1 1 0 0 1 0 1 (6 5)+)1 0 0 1 0 1 1 1 (97)1 1 1 1 1 1 0 0 +)0 1 1 0 0 1 1 0 (加(加66调整)调整)1 0 1 1 0 0 0 1 0 (162)减法举例:减法举例:0 0 1 1 0 1 0 0
19、 (3 4)-)0 0 0 1 0 1 0 1 (15)0 0 0 1 1 1 1 1 -)0 1 1 0 (减(减6调整)调整)0 0 0 1 1 0 0 1 (29)第25页,本讲稿共38页(7)字符信息的表示)字符信息的表示计算机能识别计算机能识别0、1、0、1、;这些;这些0、1、0、1、有的有的代表数值,有的仅代表要处理的信息(如字母、标点符号、代表数值,有的仅代表要处理的信息(如字母、标点符号、数字符号等文字符号),所以,计算机不仅要认识各种数字,数字符号等文字符号),所以,计算机不仅要认识各种数字,还要能识别各种文字符号。人们事先已对各种文字符号进行还要能识别各种文字符号。人们事
20、先已对各种文字符号进行二进制数编码。二进制数编码。如,如,美国信息交换标准码美国信息交换标准码ASCII码,用一个字节表示一个码,用一个字节表示一个字符。字符。低低7位是字符的位是字符的ASCII码值;最高位是通信时的码值;最高位是通信时的 校验位。校验位。第26页,本讲稿共38页第27页,本讲稿共38页综上所述综上所述,计算机中的数可以有各种不同的表示方法,计算机中以一个字节为一个单元保存数据,一个字节为一个字节为8 8位二进制数位二进制数,可以有可以有256256种组合种组合,也就是可以表示也就是可以表示256256个数据个数据,我们称它为机器数,每一个机器数实际表示的是什么,要看采用的是
21、那种表示方法。第28页,本讲稿共38页二、定点数和浮点数 l l定点表示法:表示小数点的位置是固定不变的。分为纯整数和纯小数两类。数符 尾数纯整数表示方法纯整数表示方法 纯小数表示方法纯小数表示方法数符 尾数其格式如下所示:其格式如下所示:第29页,本讲稿共38页l l浮点表示法浮点表示法中小数点的位置是不固定的。任意二进制数N一般可表示为:N=2PS一个浮点数分为阶码和尾数两部分,二者各有表示正负的阶符和数符,常用存储格式:阶符阶码数符尾数第30页,本讲稿共38页在微计算机中常用的浮点数表示有:(1)四字节浮点数格式(如图1-2所示),它由一个字节指数(EXP)、三个字节尾数构成,共用四个存
22、储单元。(2)三字节浮点数格式(如图1-3所示)。第31页,本讲稿共38页图1-2 四字节浮点数格式 D7D6D0第一字节第二字节第三字节第四字节阶符Pf阶码数符Sf尾数高字节尾数中字节尾数低字节第32页,本讲稿共38页图1-3 三字节浮点数格式 第一字节第二字节第三字节 数符Sf阶符Pf阶码尾数高字节尾数低字节D7D6D5D0返回本节第33页,本讲稿共38页计算机常用编码常见的编码有常见的编码有BCD码、码、ASCII码等。码等。1二二十进制编码十进制编码是是一一种种用用二二进进制制编编码码的的十十进进制制数数,称称BCD码码。BCD码码用用标标准准的的8421的的纯纯二二进进制制码的十六个
23、状态中的十个(如表码的十六个状态中的十个(如表1-2所示)。所示)。用用BCD码码表表示示十十进进制制数数,只只要要将将每每位位十十进制数用适当的四位二进制码代替即可。进制数用适当的四位二进制码代替即可。第34页,本讲稿共38页表1-2BCD编码第35页,本讲稿共38页2字母和符号的编码微机普遍采用的是ASCII码(如表1-3所示)。ASCII码是一种八位代码,最高位一般用于奇偶校验,其余七位二进制码对128个字符进行编码。第36页,本讲稿共38页表1-3ASCII(美国标准信息交换码)表返回本节第37页,本讲稿共38页THANKYOUVERYMUCH!本章到此结束,谢谢!结束放映返回本章首页第38页,本讲稿共38页