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

ATmega单片机的指令系统分解.ppt

  1. 1、本文档共131页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章小结 本章就ATmega单片机的内部指令做了系统的、详细的介绍,对大部分指令和寻址方式都举例说明。最后给出了整个单片机的指令汇总,方便读者查询。 1、ATmega指令系统按功能可分为五大类:算术和逻辑运算指令、比较和转移指令、数据传送指令、位操作和位测试指令、MCU控制指令。 2、ATmega指令操作数的寻址方式有以下几种:单寄存器直接寻址、双寄存器直接寻址、I/O寄存器直接寻址、数据寄存器直接寻址、数据存储器间接寻址、带后增量的数据存储器间接寻址、带预减量的数据存储器间接寻址、带位移的数据存储器间接寻址、程序存储器取常量寻址、程序存储器空间直接寻址、程序存储器空间间接寻址、程序相对寻址等。 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 3、使用Z指针寄存器间接寻址传送数据 (1)使用地址指针寄存器Z 间接寻址将SRAM中的内容装入到指定寄存器 ①LD Rd, Z 0≤d≤31;将指针为Z的SRA M中的数送寄存器,Z指针不变。 操作:Rd←(Z) PC←PC+1 ②LD Rd, Z+ 0≤d≤31;先将指针为Z的SRAM中的数送寄存器,然后Z指针加1。 操作:Rd←(Z)PC←PC+1 ③LD Rd,-Z 0≤d≤31;先将Z指针减1,然后将指针为Z的SRAM中的数送寄存器。 操作:Z←Z-1,Rd←(Z) PC←PC+1 ④LDD Rd, Z +q 0≤d≤31,0≤q≤63;将指针为Z+q的SRAM中的数送寄存器,而Z指针不改变。 操作:Rd←(Z+q) PC←PC+1 (2)使用地址指针寄存器Z间接寻址将寄存器内容存储到SRAM ①ST Z,Rr 0≤r≤31;将寄存器内容送Z为指针的SRAM中,Z指针不改变。 操作:(Z)←Rr PC←PC+1 ②ST Z+,Rr 0≤r≤31;先将寄存器内容送Z为指针的SRAM中,然后Z指针加1。 操作:(Z)←Rr,Z←Z+1, PC←PC+1 ③ST –Z,Rr 0≤r≤31;先将z指针减1,然后将寄存器内容送Z为指针的SRAM中。 操作:Z←Z-1,(Z)←Rr, PC←PC+1 ④STD Z+q,Rr 0≤r≤31,0≤q≤63;将寄存器内容送Z+q为指针的SRAM中。 操作:(Z+q)←Rr,PC←PC+1 以上22条指令操作之后,X、Y、Z指针寄存器要么不改变,要么是加1或减1。使用X、Y、Z指针寄存器的这些特性特别适合用于访问矩阵和堆栈指针等。 3.2.4.3 从程序存储器中取数装入寄存器指令 1、从程序存储器中取数装入寄存器R0 LPM 说明:将Z指向的程序存储器空间的一个字节装入寄存器R0。 操作:R0←(Z) PC←PC+1 注释:程序存储器的地址是以字(双字节)为单位的 2、从程序存储器中取数装入寄存器 LPM Rd,Z 0≤d≤31; 说明:将Z指向的程序存储器空间的一个字节装入寄存器Rd。 操作:Rd←(Z) PC←PC+1 3、带后增量的从程序存储器中取数装入寄存器Rd LPM Rd,Z+ 说明:将Z指向的程序存储器空间的一个字节装入Rd,然后Z指针加1。 操作:Rd←(Z) Z←Z+1 PC←PC+1 3.2.4.4 写程序存储器指令 SPM 说明:将寄存器对R1:R0的内容(16位字)写入Z指向的程序存储器空间。 操作:(Z)←R1:R0 PC←PC+1 3.2.4.5 I/O口数据传送 1、I/O口数据装入寄存器 IN Rd,P 0≤d≤31,0≤P≤63 说明:将I/O空间(口、定时器、配置寄存器等)的数据传送到寄存器区中的寄存器Rd中。 操作:Rd←P PC←PC+1 2、寄存器数据送I/O口 OUT P,Rr 0≤r≤31,0≤P≤63 说明:将寄存器区中Rr的数据传送到I/O空间(口、定时器、配置寄存器等)。 操作:P←Rr PC←PC+1 3.2.4.6 堆栈操作指令 AVR单片机的特殊功能寄存器中有一个16位的堆栈指针寄存器SP,它能指出栈顶的位置,在指令系统中有两条用于数据传送的栈操作指令。 1、进栈指令 PUSH Rr 0≤

文档评论(0)

502992 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档