单片微机原理与应用part-03-1课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片微机原理与应用part-03-1课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 微机 原理 应用 part_03 课件
- 资源描述:
-
1、 2022-7-2612022-7-262【基本知识点与要求【基本知识点与要求】(1)理解指令的寻址方式及相应的寻址空间。理解指令的寻址方式及相应的寻址空间。(2)正确理解正确理解51系列单片机的系列单片机的111条基本指令的含义,熟练掌条基本指令的含义,熟练掌 握其应用方法。握其应用方法。(3)了解机器语言、汇编语言和高级语言的特点,汇编语言程了解机器语言、汇编语言和高级语言的特点,汇编语言程序设计步骤。序设计步骤。(4)掌握汇编语言的基本格式,熟练掌握汇编语言程序设计思掌握汇编语言的基本格式,熟练掌握汇编语言程序设计思想和设计方法。想和设计方法。(5)理解子程序的特点,掌握子程序的设计方法
2、和设计中应注理解子程序的特点,掌握子程序的设计方法和设计中应注意的问题。意的问题。【重点与难点【重点与难点】重点是指令的寻址方式及相应的寻址空间、指令系统、子程序重点是指令的寻址方式及相应的寻址空间、指令系统、子程序设计、汇编语言程序设计思想和设计方法。难点是寄存器间接寻址、设计、汇编语言程序设计思想和设计方法。难点是寄存器间接寻址、相对寻址、变址寻址和位寻址,汇编语言程序设计思想和设计方法。相对寻址、变址寻址和位寻址,汇编语言程序设计思想和设计方法。2022-7-2633.1.1 513.1.1 51系列单片机指令分类系列单片机指令分类 指令指令:计算机能够识别和执行、用于控制各种功能部件完
3、成计算机能够识别和执行、用于控制各种功能部件完成某一特定动作的命令。某一特定动作的命令。指令系统指令系统:所有指令的集合构成了该类计算机的指令系统。所有指令的集合构成了该类计算机的指令系统。这里讲的是汇编语言指令这里讲的是汇编语言指令,即以英文名称或者缩写形式作为即以英文名称或者缩写形式作为助记符(帮助记忆的符号)。助记符(帮助记忆的符号)。5l5l系列单片机共有系列单片机共有111111条指令,可有下列三种分类。条指令,可有下列三种分类。1.1.按按指令功能指令功能可分成如下五类可分成如下五类(1 1)数据传送类指令数据传送类指令(2929条):内部条):内部8 8位数据传送指令位数据传送指
4、令1515条,内条,内部部1616位数据传送指令位数据传送指令1 1条,外部数据传送指令条,外部数据传送指令4 4条,交换和查表指条,交换和查表指令令9 9条。条。2022-7-264 (2 2)算术传送类指令(算术传送类指令(2424条):条):加法指令(包括加法指令(包括BCDBCD码调整指令码调整指令1 1条)条)1414条,减法指令条,减法指令8 8条,乘条,乘/除法指令各除法指令各1 1条。条。(3 3)逻辑运算类指令(逻辑运算类指令(2424条)条):逻辑运算指令:逻辑运算指令2020条,循环移位条,循环移位指令指令4 4条。条。(4 4)位操作类指令(位操作类指令(1717条):
5、条):位传送指令位传送指令2 2条,位置位、位清零条,位置位、位清零和位取反和位取反6 6条,位运算指令条,位运算指令4 4条,位转移指令条,位转移指令3 3条,判条,判CYCY标志指令标志指令2 2条。条。(5 5)控制转移类指令(控制转移类指令(1717条):条):无条件转移指令无条件转移指令4 4条,条件转移条,条件转移指令指令8 8条,调用和返回指令条,调用和返回指令5 5条。条。2.2.按按指令执行所需要的时间指令执行所需要的时间可分为以下三类可分为以下三类 (1 1)单周期指令()单周期指令(6464条)条)(2 2)双周期指令()双周期指令(4545条)条)(3 3)四周期指令(
6、)四周期指令(2 2条)条)2022-7-2653.3.按按指令所占的字节数指令所占的字节数可分为以下三类可分为以下三类 (1 1)单字节指令)单字节指令(49(49条条)(2 2)双字节指令)双字节指令(46(46条条)(3 3)三字节指令)三字节指令(16(16条条)3.1.2 3.1.2 指令格式指令格式 1.1.指令格式指令格式 标号:标号:操作码操作码 目的操作数目的操作数 ,源操作数,源操作数 ;注释;注释 (1 1)汇编语言语句由标号、操作码、操作数和注释汇编语言语句由标号、操作码、操作数和注释4 4部分组成。部分组成。其中,标号和注释部分可以没有,某些指令也可以没有操作数。其中
7、,标号和注释部分可以没有,某些指令也可以没有操作数。(2 2)标号标号位于语句的开始,由位于语句的开始,由1 18 8个个ASCIIASCII字符组成,第一个字符必字符组成,第一个字符必须是字母。标号不能使用系统中已经定义的助记符、伪指令及其它标号。须是字母。标号不能使用系统中已经定义的助记符、伪指令及其它标号。标号的后面必须加冒号,标号与冒号之间不能有空格,冒号与操作码之标号的后面必须加冒号,标号与冒号之间不能有空格,冒号与操作码之间可以有空格。间可以有空格。2022-7-266(3 3)操作码操作码是用英文缩写的指令功能助记符。它确定了本条指是用英文缩写的指令功能助记符。它确定了本条指令完
8、成什么样的操作功能,不能缺少。令完成什么样的操作功能,不能缺少。(4 4)操作数操作数在操作码之后,用空格分开。操作数是指参加操作在操作码之后,用空格分开。操作数是指参加操作的对象或者对象存放的地址,可以是数据,可以是地址,也可以的对象或者对象存放的地址,可以是数据,可以是地址,也可以没有。指令中有多个操作数时,操作数之间用逗号分开。没有。指令中有多个操作数时,操作数之间用逗号分开。源操作源操作数,目的操作数。数,目的操作数。(5 5)注释注释在语句的最后,以在语句的最后,以“;”开始,是说明性的文字,与开始,是说明性的文字,与语句的具体功能无关,但是能增加程序的可阅读性,便于程序的语句的具体
9、功能无关,但是能增加程序的可阅读性,便于程序的调试与交流。注释内容不参与程序的汇编。调试与交流。注释内容不参与程序的汇编。2 2.指令指令中数的表示中数的表示 十进制数以十进制数以D D结尾或者省略;十六进制以结尾或者省略;十六进制以H H结尾,如果数据以结尾,如果数据以A AF F开头,其前必须加数字开头,其前必须加数字0 0,如,如0FFH0FFH;字符串用;字符串用“”“”括起来。括起来。2022-7-2673.1.3 3.1.3 指令中常用缩写符号的意义指令中常用缩写符号的意义(1)#data:8位立即数。位立即数。(2)#data16:16位立即数。位立即数。(3)Rn:工作寄存器:
10、工作寄存器R0R7,其中其中n=07。(4)Ri:工作寄存器,:工作寄存器,i=0或或1。(5):间接地址符号。:间接地址符号。Ri,寄存器,寄存器Ri间接寻址。间接寻址。(6)direct:8位直接地址,可以是特殊功能寄存器位直接地址,可以是特殊功能寄存器SFR的地址的地址或内部数据存储器单元地址。或内部数据存储器单元地址。(7)addr11:11位目的地址。用于位目的地址。用于AJMP和和ACALL指令,均在指令,均在2KB地址范围内转移或调用。地址范围内转移或调用。(8)addr16:16位目的地址。用于位目的地址。用于LJMP和和LCALL指令,可在指令,可在64KB地址范围内转移或调
11、用。地址范围内转移或调用。2022-7-268(9)rel:有符号的:有符号的8位偏移地址,主要用于所有的条件转移指令位偏移地址,主要用于所有的条件转移指令和和SJMP指令。其范围是相对于下一条指令的第一字节地址,再指令。其范围是相对于下一条指令的第一字节地址,再偏移偏移-128+127字节。字节。(10)bit:位地址。片内:位地址。片内RAM的可寻址位和专用寄存器的的可寻址位和专用寄存器的可寻址可寻址位。位。(11)/:位操作数的前缀,表示对该位操作数取反,如位操作数的前缀,表示对该位操作数取反,如/bit。(12):当前指令存放的地址。):当前指令存放的地址。(13)()(X):表示由)
12、:表示由X所指定的某寄存器或某单元中的内容。所指定的某寄存器或某单元中的内容。(14)(X):表示由:表示由X间接寻址单元中的内容。间接寻址单元中的内容。(15)B:通用寄存器,常用于乘法:通用寄存器,常用于乘法MUL和除法和除法DIV指令。指令。(16)C:进位标志位或者布尔处理器中的累加器。:进位标志位或者布尔处理器中的累加器。(17):表示指令的操作结果是将箭头右边的内容传送到左边。:表示指令的操作结果是将箭头右边的内容传送到左边。2022-7-2693.2.1 立即寻址立即寻址 寻址方式寻址方式:一条指令的运行一条指令的运行需要寻找相应操作数或者从操作需要寻找相应操作数或者从操作数所在
13、地址寻找到本指令有关的操作数。数所在地址寻找到本指令有关的操作数。计算机指令系统中的操作数以不同的方式给出,其相应的寻计算机指令系统中的操作数以不同的方式给出,其相应的寻址方式也就有多种。址方式也就有多种。注意通常均以源操作数来介绍寻址方式的。注意通常均以源操作数来介绍寻址方式的。5151系列单片机的指令系统有系列单片机的指令系统有立即寻址,直接寻址,寄存器寻立即寻址,直接寻址,寄存器寻址,间接寻址,变址寻址,相对寻址,位寻址等七种寻址方式址,间接寻址,变址寻址,相对寻址,位寻址等七种寻址方式。立即寻址是指令中立即寻址是指令中直接给出操作数直接给出操作数的寻址方式。的寻址方式。立即操作数用立即
14、操作数用前面加有前面加有#号的号的8 8位或位或1616位数来表示位数来表示。立即数是指令代码的一部分,。立即数是指令代码的一部分,只能作源操作数只能作源操作数。该寻址方式用于对特殊功能寄存器和指定的存储单元赋初值。该寻址方式用于对特殊功能寄存器和指定的存储单元赋初值。2022-7-2610 例如:例如:MOV A,#60H ;(A)60H MOV DPTR,#3400H ;(;(DPTR)3400H MOV 30H,#40H ;(30H)单元)单元 40H 上述三条指令执行后,累加器上述三条指令执行后,累加器A中数据为立即数据中数据为立即数据60H,DPTR寄存器中数据为寄存器中数据为340
15、0H,30H单元中数据为立即数单元中数据为立即数40H。3.2.2 直接寻址直接寻址 直接寻址直接寻址:指令中直接给出操作数所在的:指令中直接给出操作数所在的存储单元的地址号存储单元的地址号的的寻址方式寻址方式。可以是操作数所在的字节地址或位地址,也可以直接使可以是操作数所在的字节地址或位地址,也可以直接使用由符号名称所表示的地址,即符号地址。用由符号名称所表示的地址,即符号地址。例如:例如:MOV A,40H;(A)(40H)该指令的功能是把内部数据存储器该指令的功能是把内部数据存储器RAM 40H单元的内容送到单元的内容送到累加器累加器A。指令直接给出了源操作数的地址。指令直接给出了源操作
16、数的地址40H。2022-7-26115151系列单片机中,直接寻址可访问三种地址空间为:系列单片机中,直接寻址可访问三种地址空间为:(1)(1)特殊功能寄存器特殊功能寄存器SFRSFR:直接寻址是唯一的访问形式;:直接寻址是唯一的访问形式;(2)(2)内部数据内部数据RAMRAM低低128128个字节单元(地址范围个字节单元(地址范围00H00H7FH7FH););(3)221(3)221个位地址空间个位地址空间。3.2.3 寄存器寻址寄存器寻址 寄存器寄存器寻址:寻址:就是操作数存放于寄存器中(就是操作数存放于寄存器中(Rn、ACC、B、DPTR、CY)的寻址方式。)的寻址方式。例如:例如
17、:MOV A,R7 ;(;(A)(R7)其功能是把寄存器其功能是把寄存器R7内的操作数传送到累加器内的操作数传送到累加器A中。由于操中。由于操作数在作数在R7中,因此在指令中指定了中,因此在指令中指定了R7,就能从中取得操作数,就能从中取得操作数。2022-7-26123.2.4 寄存器间接寻址寄存器间接寻址 寄存器间接寄存器间接寻址:寻址:由指令指出某个寄存器的内容作为操作数由指令指出某个寄存器的内容作为操作数地址的寻址方法地址的寻址方法,简称寄存器间址。简称寄存器间址。寄存器间接寻址使用所选定寄存器区中的寄存器间接寻址使用所选定寄存器区中的R0和和R1作为地址指作为地址指针针,来寻址片内数
18、据存储器来寻址片内数据存储器RAM(00FFH)的)的256个单元,个单元,但但它不能访问特殊功能寄存器它不能访问特殊功能寄存器SFR。寄存器间接寻址也适用于访问外部数据存储器,此时,用寄存器间接寻址也适用于访问外部数据存储器,此时,用R0、R1或或DPTR作为地址指针。作为地址指针。为了区别于寄存器寻址,为了区别于寄存器寻址,在寄存器间接寻址中的寄存器名前在寄存器间接寻址中的寄存器名前用间址符号用间址符号“”。例如:例如:MOV A,R0 ;(A)(R0)MOV A,R0 ;(A)(R0)2022-7-2613 第一条指令是寄存器寻第一条指令是寄存器寻址,址,R0R0中为操作数,指令码中为操
19、作数,指令码为为E8HE8H;指令执行后累加器指令执行后累加器A A中为中为30H30H,第二条指令是寄存器间第二条指令是寄存器间址,址,R0中为操作数地址,中为操作数地址,不是操作数,指令码为不是操作数,指令码为E6H。指令执行后累加器指令执行后累加器A中为操中为操作数作数20H。2022-7-2614 3.2.5 变址寻址变址寻址 变址寻址变址寻址:就是基址寄存器(就是基址寄存器(DPTRDPTR和和PCPC)与变址寄存器)与变址寄存器(A)(A)的的内容相加,作为操作数的地址。内容相加,作为操作数的地址。实现对程序存储器的访问。由于程序存储器通常是只读的,因实现对程序存储器的访问。由于程
20、序存储器通常是只读的,因此变址寻址只有读操作而无写操作,指令助记符采用此变址寻址只有读操作而无写操作,指令助记符采用MOVCMOVC。5l5l系列单片机的变址寻址指令有系列单片机的变址寻址指令有3 3条:条:MOVC A,A+DPTR ;(A)(A)+(DPTR)MOVC A,A+PC ;(A)(A)+(PC)JMP A+DPTR ;(PC)(A)+(DPTR)2022-7-2615 3.2.6 相对寻址相对寻址 相对寻址相对寻址:以以当前当前程序计数器程序计数器PCPC的内容为基础,加上指令的内容为基础,加上指令给出的给出的1 1个字节补码(偏移量)形成新的个字节补码(偏移量)形成新的PCP
21、C值的寻址方式。值的寻址方式。(1 1)当前当前PCPC值值是指相对转移指令所在地址(一般称为源地是指相对转移指令所在地址(一般称为源地址)加上转移指令字节数。即当前址)加上转移指令字节数。即当前PCPC值值=源地址源地址+转移指令字转移指令字节数节数,也就是相对转移指令的下一条指令所在的地址。也就是相对转移指令的下一条指令所在的地址。例如:例如:JZ rel JZ rel 是一条累加器是一条累加器A A为零就转移的双字节为零就转移的双字节指令。若该指令地址(源地址)为指令。若该指令地址(源地址)为2050H2050H,则执行该指令时的当,则执行该指令时的当前前PCPC值即为值即为2052H2
22、052H。2022-7-2616 (2 2)偏移量偏移量relrel是有符号的单字节数,是有符号的单字节数,以补码表示,其相对以补码表示,其相对值的范围是值的范围是-128-128+127+127,负数表示从当前地址向地址减小的方向,负数表示从当前地址向地址减小的方向转移,正数表示从当前地址向地址增大的方向转移。转移,正数表示从当前地址向地址增大的方向转移。所以,相对所以,相对转移指令满足条件后,转移的地址(一般称为目的地址)应为:转移指令满足条件后,转移的地址(一般称为目的地址)应为:目的地址目的地址=当前当前PCPC值值+rel=+rel=源地址源地址+转移指令字节数转移指令字节数+rel
23、+rel 例如:例如:若指令若指令JZ 08H JZ 08H 和和JZ 0F4H JZ 0F4H 存放在存放在2050H2050H开始的程开始的程序存储器单元。则累加器序存储器单元。则累加器A A为零的条件满足后,从源地址(为零的条件满足后,从源地址(2050H2050H)分别转移分别转移1010个单元。其相对寻址示意如图个单元。其相对寻址示意如图3-3(a)3-3(a)、(b)(b)所示。这两所示。这两条指令均为双字节指令,机器代码分别为:条指令均为双字节指令,机器代码分别为:60H60H、08H08H和和60H60H、F4HF4H。2022-7-2617(a)(a)指令指令JZ 08HJZ
24、 08H寻址示意图;寻址示意图;(b)(b)指令指令JZ 0F4HJZ 0F4H寻址示意图寻址示意图 图图3-3 3-3 相对寻址示意图相对寻址示意图2022-7-2618 3.2.7 位寻址位寻址 位寻址位寻址:即指令中直接给出位地址。即指令中直接给出位地址。5151系列单片机具有位寻址功能,可以对内部数据存储器系列单片机具有位寻址功能,可以对内部数据存储器RAMRAM中的位寻址区的中的位寻址区的128128位和部分特殊寄存器位和部分特殊寄存器SFRSFR中的相关位进行寻址,中的相关位进行寻址,并且位操作指令可对可寻址的每一位进行传送及逻辑操作。并且位操作指令可对可寻址的每一位进行传送及逻辑
25、操作。【注意【注意】位寻址只能对有位地址的单元作位寻址操作。位寻址其位寻址只能对有位地址的单元作位寻址操作。位寻址其实是一种直接寻址方式,不过其地址是位地址,只能用在位操作实是一种直接寻址方式,不过其地址是位地址,只能用在位操作指令之中。指令之中。例如:例如:SETB PSW.3 SETB PSW.3 ;(PSW.3)1(PSW.3)1 该指令的功能是将程序状态字该指令的功能是将程序状态字PSWPSW中的第中的第3 3位(位(RS0RS0)置)置1 1。2022-7-2619 5151系列单片机的位地址有如下系列单片机的位地址有如下4 4种表示方法:种表示方法:(1 1)直接使用位地址。)直接
展开阅读全文