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

80C51单片机寻址方式.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 80C51单片机指令系统 3.1 80C51指令系统概述 指令: 命令 指令格式:操作码 和 操作数 操作码 操作码 操作码是用来规定指令所完成的操作的; 操作数则表示操作的对象。 日日行,不怕千万里; 机器语言:用二进制代码表示的指令系统称为机器语言. 如: 汇编语言:用助记符表示指令系统的语言称为汇编语言. 如: MOV A,R1 指令系统:软件资源 基础和工具 80C51共有42种助记符,33种操作功能, 255种操作码 (00H至FFH,除A5H外) 。而指令功能助记符与操作数各种寻址方式的结合,共构造出111种指令。 日日行,不怕千万里; ? 寻址方式就是在指令中给出的寻找操作数或操作数所在地址的方法。执行任何一条指令都需要使用操作数。 80C5l指令系统中共有以下7种寻址方式。 ⒈ 立即寻址 在指令中直接给出操作数,出现在指令中的操作数称为立即数。在立即数前面必需加上前缀“#”。 例如:指令 MOV DPTR,#1234H 1234H是立即数,指令功能是把16位立即数1234H送入数据指针DPTR中,如图3–1所示。 寻址方式 日日行,不怕千万里; 2.直接寻址 在指令中直接给出操作数单元的地址,也就是指令中操作数直接以存储单元地址的形式给出。 例如:指令 MOV A,3AH 其功能是把片内RAM中3AH单元内的数据传送给累加器A,如图3–2所示。 这种寻址方式的寻址范围只限于片内RAM。 ⑴ 低128单元,在指令中直接以单元地址形式给出。 ⑵ 特殊功能寄存器,直接寻址是访问大部分特殊功能寄存器的唯一方法。? 寻址方式 日日行,不怕千万里; 3.寄存器寻址 在指令中将指定寄存器的内容作为操作数。因此指定了寄存器就能得到操作数。 寄存器寻址方式中,用符号名称来表示寄存器。 例如:指令INC R0 其功能如图3–3所示。 寄存器寻址方式的寻址范围包括: (1)四个寄存器组共32个通用寄存器。 (2)部分特殊功能寄存器。 寻址方式 日日行,不怕千万里; 4.寄存器间接寻址 在指令中给出的寄存器内容是操作数的地址,从该地址中取出的才是操作数。 寄存器间接寻址应在寄存器的名称前面加前缀“@”。 假定R1寄存器的内容是 60H,则指令 ANL A,@R1 的功能是以 R1寄存器的内容 60H为地址,将60H地址单元的内容与累加器A中的数相“与” ,其结果仍存放在A中、其功能示意请参见图3–4。 寻址方式 日日行,不怕千万里; 寄存器间接寻址的寻址范围: ⑴ 片内RAM的低128单元,只能采用R0或R1为间址寄存器,其形式为@Ri(i=0,1)。 ⑵ 片外RAM 的64 KB单元,使用DPTR作为间址寄存器,其形式为@DPTR, 例如MOVX A,@DPTR ⑶ 片外RAM低256单元,除了可使用DPTR作为间址寄存器外,也可使用R0或R1作间址寄存器。 例如:MOVX A,@R0 ⑷ 堆栈区:堆栈操作指令(PUSH和POP)也应算作是寄存器间接寻址,即以堆栈指针(SP)作间址寄存器的间接寻址方式。 日日行,不怕千万里; ⒌ 相对寻址 在指令中给出的操作数为程序转移的偏移量。 把PC的当前值加上偏移量就构成了程序转移的目的地址。 转移的目的地址可用如下公式表示: 目的地址=转移指令所在地址+转移指令字节数+rel 偏移量rel是一个带符号的8位二进制补码数,所能表示 的数的范围是一128~+127。 寻址方式 日日行,不怕千万里; 例如:指令JC 80H 其执行示意图如图3–5所示。 指令的操作码存在 1000H单元,偏移量存在 1001H单元。执行该指令后,程序计数器PC 指向1002 H(即当前值)。这里80H即–128,故1002H与–128(80H)相加(补码运算)后得到转移地址 0F82H。 日日行,不怕千万里; 6.变址寻址 以DPTR或PC为基址寄存器,累加器A做变址寄存器,以两者内容相加,形成的16位程序存储器地址作为操作数地址。又称基址寄存器+变址寄存器间接寻址。 例如:指令 MOVC A,@A+DPTR 其功能是把DPTR和A的内容相加所得到的程序存储器地址单元的内容送A。 假定指令执行前 (A)=54H,

文档评论(0)

xiaohuer + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档