网站大量收购独家精品文档,联系QQ:2885784924

单片机原理与实践指导 教学课件 作者 邓兴成 第2章 单片机的指令系统.ppt

单片机原理与实践指导 教学课件 作者 邓兴成 第2章 单片机的指令系统.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 单片机的指令系统 §2.1 指令系统概述 单片机所能执行的指令的集合称为指令系统。 以助记符、符号地址、标号等书写程序的语言称为汇编语言。 2.1.1 指令分类 (1) 按功能分 (2) 按字长分 (3) 按执行时间分 2.1.2 指令格式 [标号]:操作码 [目的操作数],[源操作数];[注释] 2.1.3 指令字长和指令周期 指令周期是指执行一条指令所需要的时间。 2.1.4 符号约定 ⑴ #data:8位立即数,取值在00H~0FFH之间。 ⑵ #data16:16位立即数,取值在0000H~0FFFFH之间。 ⑶ Rn:工作寄存器,n=0~7,即工作寄存器组中的一个工作寄存器。 ⑷ Ri:用于寄存器间接寻址的工作寄存器,i=0或1,即工作寄存器R0和R1。 ⑸ direct:8位直接地址,片内RAM地址00H~0FFH。 ⑹ addr11:11位目的地址。 ⑺ addr16:16位目的地址。 ⑻ bit:位地址。 ⑼ DPTR:双数据指针寄存器 ⑽ Pi:MCS-51单片机的I/O口,i=0~3。 ⑾ @:寄存器间接寻址前缀。 ⑿ rel:8位带符号地址偏移量。 ⒀ $:当前指令的地址。 ⒁ (X):片内RAM单元X中的内容。 ⒂ ((X)):X中的内容所指向单元的内容。 ⒃ ←:左边的内容被右边的内容所取代。 §2.2 寻址方式 2.2.1 直接寻址 直接寻址:指令中直接给出操作数存储地址的寻址方式。 1. 寻址范围。 (1)片内RAM的低128单元。 (2)特殊功能寄存器 SFR。 2. 使用注意事项 寻址特殊功能寄存器 SFR 时,可以用直接地址,也可以用寄存器名。 INC A ;A内容加1,寄存器寻址方式 INC ACC ;直接寻址方式 INC 0E0H ;直接寻址方式 2.2.2 立即寻址 立即寻址:在指令中直接给出操作数的寻址方式。 例如:将十进制数200传送到累加器A中。 MOV A,#0C8H MOV A,#200 MOV A, 2.2.3 寄存器寻址 寄存器寻址:操作数存放于寄存器中的寻址方式。 可用于寄存器寻址的寄存器有: (1)四个工作寄存器组中的工作寄存器 R0~R7,共32个工作寄存器。 (2)特殊功能寄存器,如 A、B、DPTR 、Pi等。 2.2.4 寄存器间接寻址 寄存器间接寻址:操作数的地址存放在寄存器中的寻址方式。 1. 寻址范围 (1)片内RAM 256B地址单元 。 (2)对片外RAM 64KB地址单元。 例如:将片内RAM 55H单元的数据50H传送到累加器A中。指令如下: MOV R0,#55H MOV A,@ R0 ;执行结果(A)=50H 例如:将片外RAM 0500H单元的数据50H传送到累加器A中。指令如下: MOV DPTR,#0500H MOVX A,@DPTR 2. 使用注意事项 (1)为区别寄存器寻址方式,作为寄存器间接寻址的寄存器前面加@ 。 (2)寄存器间接寻址方式不能用于对特殊功能寄存器SFR的寻址。 例如:MOV R0,#0F0H; MOV A, @R0 (3)堆栈操作指令也是间接寻址方式,它以堆栈指针SP 作为间接寻址寄存器。 2.2.5 变址寻址 变址寻址:以DPTR或PC中的数据为基本地址,以A中的数据为地址偏移量,基地址与地址偏移量之和作为被寻址数据地址的寻址方式。 查表操作指令为: MOVC A,@A+PC MOVC A,@A+DPTR 例如:将程序存储器050AH单元中的常数50H送到累加器A中。指令如下: MOV A,#0AH MOV DPTR,#0500H MOVC A,@ A +DPTR 几点说明: (1)变址寻址方式只能对程序存储器进行寻址,因此只能用于读取数据,而不能用于存放数据,它主要用于查表操作。 (2)变址寻址指令只有3条: MOVC A, @ A +PC MOVC A, @ A +DPTR JMP @ A +DPTR 2.2.6 相对寻址 相对寻址:在执行程序的过程中,CPU寻找相对于当前程序计数器PC值的下一条指令地址的寻址方式。 例如:当程序状态字寄存器PSW的最高位时,程序转移到标号为LOOP的语句执行。 ORG 0000H SJMP MAIN ORG 0030H MAIN:SETB C JC LOOP ………… LOOP:MOV A,#30H …………… 2.2.7 位寻址 位寻址:针对可位地址的片内RAM

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档