- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 7种寻址方式 (1) 立即寻址: (1) 立即寻址: (2) 直接寻址: (2)直接寻址: (3) 寄存器寻址: (4) 寄存器间接寻址: (4) 寄存器间接寻址: (5)基址寄存器加变址寄存器间接寻址 (6) 相对寻址: (4) 相对寻址: (7) 位寻址: 1、内部数据传送指令 (1) 将数据传送到累加器A的指令(4条) (2)将数据传送到工作寄存器Rn的指令(3条) (2)将数据传送到工作寄存器Rn的指令(3条) (3)将8位数据直接传送到直接地址(内部RAM单元或SFR寄存器)指令(5条) (4)将8位数据传送到以间接寄存器寻址的RAM单元的指令(3条)。 (4)将8位数据传送到以间接寄存器寻址的RAM单元的指令(3条)。 (5)16位数据传送指令(1条) 2、外部传送指令 2、外部传送指令 2、外部传送指令 3、查表指令 3、查表指令 4、交换指令 5、堆栈操作指令 5、堆栈操作指令 第3章 MCS-51单片机指令系统 十进制调整指令 (4)减1条件转移指令 DJNZ Rn, Rel DJNZ Direct, Rel 4、位控制转移指令 a、判断Cy的条件转移指令JCrelJNCrelb、判断任意位地址中内容的转移指令JBbit, relJNB bit, relJBC bit, rel第五节控制转移指令 1、无条件转移指令(4条) 1、无条件转移指令(4条) LJMPaddr16 AJMPaddr11 SJMPrel JMP@A+DPTR 当单片机执行这些指令的时候,会无条件的转移到对应的地址中去继续执行程序。 第3章 MCS-51单片机指令系统 第五节控制转移指令 (1)LJMP (2)AJMP … (1)LJMP addr16 (长转移指令)此类指令是以16位地址为转移的目标地址。它将16位目标地址装入程序计数器PC使程序执行此指令后,无条件转移到addr16处执行。长转移指令也可在64K范围内转移。 (2)AJMP addr11(绝对转移指令或短跳)a、这条指令为2字节指令,其中AJMP的机器码为00001,是个5位数据,和后面的11位地址共同组成了16位的机器语言指令。b、指令的操作:是将11位的目标地址addr11装入PC的低11位。c、要求转移的目标地址必须和AJMP后面一条指令的第一字节地址位于程序存储器的同一段2K字节范围内。看的方法:目标地址的高5位与PC+2后PC中的高5位相同 第3章 MCS-51单片机指令系统 第五节控制转移指令 (1)LJMP (2)AJMP 例:分析以下指令执行后PC的值 KWR:AJMP KWR1 假设KWR标号的地址为1030H,KWR1标号的地址在1100H,其意思是要跳到KWR1(1100)处去执行程序,那么到底这个地址能不能跳得到 验证: (1)这条指令被CPU取走以后,PC的值是1030H+2=1032H,(因为它是个2字节指令)也就是PC指在AJMP后面的那条指令的首地址上 (2)这条指令执行完了以后,CPU知道是要跳了,然后就开始寻找跳的位置,目的地址由1032的高5位和KWR1所在地址1100的低11位组成,也就是00000=1100H,说明符合要求 第3章 MCS-51单片机指令系统 第五节控制转移指令 (1)LJMP (2)AJMP 例:分析以下指令执行后PC的值 KWR:AJMP KWR1 假设KWR标号的地址为1030H,KWR1标号的地址在1100H,其意思是要跳到KWR1(1100)处去执行程序,那么到底这个地址能不能跳得到 我们人为验证的时候只要看一下,1032的高5位和1100的高5位一致不一致,如果一致说明程序肯定能执行的。 不一致就不行,比如1032和1800就不在同一段2K之内了。 所以要使用AJMP这条指令的话,要跳的目的程序不能离得太远。 第3章 MCS-51单片机指令系统 第五节控制转移指令 (3)SJMP rel(相对转移指令,为2字节指令) … 8位地址rel是相对当前PC的跳转偏移量,在编程序的时候往往用符号代替相对地址。比如:为单片机写停机指令的时候,若要动态停机(原地循环等待)可以用SJMP指令来实现;动态停机指令:LP1:SJMP LP1或者写成SJMP $ 第3章 MCS-51单片机指令系统 第五节控制转移指令 (4)JMP @A+DPTR(间接转移指令) … 转移目标地址由数据指针DPTR和A相加而得。指令的执行不影响累加器A和数据指令DPTR。该指令的特点是转移地址可以在程序运行中加以改变。根据A的不同值可以实现多分支转移,因此一条指令可以完成多分支转移的功能。该功能称为散转功能,因此这条指令有称散转指令。 例: MOV DPTR
文档评论(0)