第三章MCS-51单片机指令系统2.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文档。上传文档
查看更多
第三章MCS-51单片机指令系统2

单片机指令系统 MCS-51指令系统共有111条指令。如果按字节数分类,则有49条单字节指令、45条双字节指令和17条3字节指令。若按指令执行时间分类,就有64条单周期指令、45条双周期指令、2条(乘、除)4周期指令。 3.3 数据传送指令(28条) 绝大多数指令都有操作数,所以数据传送操作是一种最基本最重要的操作之一。数据传送是否灵活快速对程序的编写和执行速度产生很大影响。 MCS-51的数据传送操作可以在累加器A、工作寄存器R0~R7、内部数据存贮器、外部数据存贮器和程序存贮器之间进行,其中对A和R0~R7的操作最多。 3.3.1 内部数据传送指令 一、以累加器A为目的操作数的指令(4条) 二、以Rn为目的操作数的指令(3条) MOV Rn ,A ;(A)? Rn MOV Rn ,direct ;( direct )? Rn MOV Rn ,#data ; data ? Rn 三、以直接寻址的单元为目的操作数的指令(5条) MOV direct,A ;(A)?direct MOV direct,Rn ;(Rn)?direct MOV direct,direct ;(源direct)?目的direct MOV direct,@Ri ;((Ri))?direct MOV direct,#data ; data?direct 四、以寄存器间接寻址的单元为目的操作数的指令(3条) MOV @Ri,A ;(A)?(Ri) MOV @Ri,direct ;(direct)?(Ri) MOV @Ri,#data ; data? (Ri) MOV指令在片内RAM的允许操作图 不允许的操作有: @Ri??@Ri Rn??Rn @Ri??Rn 五、十六位数据传送指令(1条) MOV DPTR,#data16 ;dataH?DPH,dataL ?DPL 这条指令的功能是把16位常数送入DPTR。16位的数据指针DPTR由DPH和DPL组成,这条指令执行结果把高位立即数送入DPH,低位立即数送入DPL。 六、堆栈操作指令 如前所述,在MCS-51内部RAM中可以设定一个后进先出(LIFO)的堆栈,在特殊功能寄存器中有一个堆栈指针SP,它指出栈顶的位置,在指令系统中有两条用于数据传送的堆栈操作指令。 2. 退栈指令 POP direct 这条指令的功能是把堆栈指针SP寻址的内部RAM单元内容送入直接地址指出的字节单元中,堆栈指针SP减1。 七、字节交换指令(3条) XCH A,Rn ;(A)??(Rn) XCH A,direct ;(A)??(direct) XCH A,@Ri ;(A)??((Ri)) 八、半字节交换指令 XCHD A,@Ri ;(A)0~3??((Ri) ) 0~3 九、累加器A半字节交换指令 SWAP A 功能:累加器A的高、低半字节交换 3.3.2 累加器A与外部数据存贮器传送指令(4条) MOVX A,@DPTR ; ((DPTR))?A MOVX A,@ Ri ; ((Ri))?A i=0,1 MOVX @ DPTR ,A ; (A)?( DPTR) MOVX @ Ri , A ; (A)?(Ri) i=0,1 3.3.3 查表指令(基址加变址) (i)MOVC A ,@ A+PC ;((A)+(PC))?A 例11 ORG 8000H MOV A,#30H MOVC A , @ A+PC … ORG 8030H DB 41H,42H,43H,44H,45H DB 46H,47H,48H,49H,4AH … (ii)MOVC A , @A+ DPTR ;((A)+(DPTR)) 这条指令以DPTR作为基寄存器,A的内容作为无符号数和DPTR的内容相加得到一个16位的地址,由该地址指出的程序存贮器单元的内容送到累加器A。 例:利用查表指令求0~6中某个数的立方

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档