2022年单片机学习资料-第讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

五、累加器移位指令;D0;3、带进位循环左移

RLCA

例:假设(A)=0A6H,(CY)=0;则在执行指令“RLCA”

后(A)=_____,(CY)=______

执行前:

;4、带进位位循环右移

RRCA

例:假设(A)=0A6H,(CY)=0;则在执行指令“RRCA”

后(A)=_____,(CY)=______

执行前:

;综合例把R2R3中的16位补码数(高位在R2中)右移一位,并不改变符号。

MOVA,R2

MOVC,ACC.7;把符号位存入进位位C

RRCA

MOVR2,A

MOVA,R3

RRCA

MOVR3,A

SJMP$;2、绝对转移指令

AJMPaddrll;addrll一PC0-10

说明:①转移范围本指令为2K地址范围内的转移指令。对转移目的地址的要求与ACALL指令中对于程序入口地址的要求相同。

②机器码形式本指令为2字节指令。设addrll的各位是a10a9a8a7a6a5a4a3a2a1a0,则指令AJMPaddrll的二进制机器码为al0a9a800001a7a6a5a4a3a2ala0。;例:4002HAJMPMM

……

4600HMM:MOVA,#00H

注意:目标语句必须和当前语句同页。在51单片机中,64KB程序存储器分成32页,每页2KB(7FFH)。

比如:0000H~07FFH

0800H~0FFFH

1000H~17FFH

1800H~1FFFH;例:绝对转移指令AJMP在程序存储器中的首地址为2500H,要求转移到2250H地址处执行程序,试确定能否使用AJMP指令实现转移?如能实现,其指令的机器码形式是什么?

解:因为AJMP指令的首址为2500H,其下一条指令的首址为2502H,由表2.1可见,2502H与转移目的地址2250H在同一2K地址范围内,故可用AJMP指令实现程序的转移。指令的机器码:0100000=4150H;3、短跳转指令

SJMPrel;PC十2十rel-PC

说明:本指令为一页地址范围内的相对转移指令。因为肥l为l字节补码(偏移量),且SJMPrel指令为2字节指令,所以转移范围为一126D一十129D。例:

4060HSJMPLOOP

……

4090HLOOP:MOVA,#0FFH

……

注意:短跳转的目标语句地址必须在当前语句向前128(80H)字节,向后127(7FH)字节,否则在进行程序编译时肯定出错。;4、变址寻址转移指令

JMP@A十DPTR;A十DPTR-PC

例1A=02H,DPTR=2000H,指令JMP@A十DPTR??行后,PC=2002H。也就是说,程序转移到2002H地址单元去执行。

该指令主要用于多分支的跳转程序设计。跳转的目标地址是累加器A和数据指针DPTR之和,它可以是64KB存储空间的任何地方。

程序设计举例:如果(A)=00H,执行SS子程序;如果(A)=01H,执行MM子程序;如果(A)=02H,执行XX子程序。;4090HLOOP:MOVA,#0FFH

注意:短跳转的目标语句地址必须在当前语句向前128(80H)字节,向后127(7FH)字节,否则在进行程序编译时肯定出错。

转移类指令包含有条件转移和无条件转移两种

5006HLCALLXX

该指令主要用于多分支的跳转程序设计。

注意:目标语句的地址是相对地址,应该在当前语句向前不超过128字节,向后不超过127字节.

(dir)=o,程序顺序执行

程序设计举例:

说明:①CJNE指令都是3字节指令。

因为肥l为l字节补码(偏移量),且SJMPrel指令为2字节指令,所以转移范围为一126D一十129D。

四、累加器清0和取反指令

5000HLCALLSS

取反:76H

把符号位存入进位位C

RRCA

MOVR2,A

MOVA

文档评论(0)

192****9425 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档