第3章_MCS-51指令系统.ppt

  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单片机指令系统 周剑峰 1、立即寻址 MOV A,#40H;将40H这个立即数传送给累加器ACC,“#”符号称为立即数符号,40H在这里称为立即数。 立即数寻址是指将操作数直接写在指令中。 比如: MOV DPTR,#6789H MOV R0,#23H 直接寻址是指把存放操作数的内存单元的地址直接写在指令中。在MCS-51单片机中,可以直接寻址的存储器主要有内部RAM区和特殊功能寄存器SFR区。 MOV A, 30H; 片内RAM30H单元的数据送到累加器ACC ADD A,30H ;片内RAM30H单元的数据加到累加器ACC INC 70H ;片内RAM70H单元的数据加1 MOV 30H,70H ;片内RAM70H单元的数据传送到30H单元。 DEC 50H ;片内RAM50H单元的数据减1 例如:MOV A,30H ;假如(30H)=55H 3、寄存器寻址 寄存器寻址是指将操作数存放于寄存器中,寄存器包括工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器DPTR等。 数据存放在R0~R7中的某个通用寄存器内,或者放在某个专用寄存器中。 e.g.: MOV A,R7 ADD A,R0 4、寄存器间接寻址 在51单片机中有两个寄存器可以用于间接寻址,它们是R0和R1。当指向片外的64KB的RAM地址空间时,可用DPTR作间接寄存器。 MOV A, @R0 假如R0寄存器中的数据是50H,则以上指令的意思是:将内部RAM中50H单元内的数传送给累加器ACC。 e.g.假如R1内的数是70H,在内部RAM的70H单元中存放的数据是00H,在执行以下指令后,外部RAM中3FFFH单元的内容是00H。 MOV A,@R1 MOV DPTR,#3FFFH MOVX @DPTR,A 5、位寻址 当单片机要进行某一位二进制数操作时,可采用位寻址。 E.g. :SETB C 指令含义:将专用寄存器PSW中的CY位置为1。 CLR P1.0;将单片机的P1.0清“0”。 SETB P1.0;将单片机的P1.0置“1”。 6、变址寻址 E.G. :MOVC A,@A+DPTR 指令含义:假设在执行指令前,数据指针DPTR中的数据是1000H,累加器ACC中的数据是50H,则上述指令执行的操作是将:程序存储器1050H单元中的数据传送给累加器ACC。 同样寻址方式的指令还有两条: MOVC A,@A+PC JMP @A+DPTR 该类指令常用于编写查表程序。 7、相对寻址 在跳转程序中有一种相对寻址方式,程序的书写方式是: SJMP rel 程序含义:当程序执行到上述语句时,在当前语句位置的基础上向前或向后跳转rel中指明的位置。 范例 JZ rel CJNE A, #DATA , rel DJNZ R0,rel 数据传送和交换类指令主要有以下几种: 内部数据传递指令 数据指针赋值指令 片外数据传送指令 ROM数据访问指令 栈操作指令 数据交换指令 一、内部RAM单元间的数据传递 以累加器为目的的传送指令 ( 4条) MOV A,#data ; A ← data MOV A, direct ; A ←(direct) MOV A, Rn ; A←(Rn) MOV A, @Ri ; A←((Ri)) E.g.: MOV A,R2 Eg:MOV R2,A 以直接地址为目的的传送指令:( 5条) MOV direct ,#data ; direct ← data MOV direct1, direct2 ; direct1 ←(direct2) MOV direct, A ; direct ←(A) MOV direct ,@Ri ; direct ←((Ri)) MOV direct, Rn ; direct ←(Rn) Eg:MOV 30H, A Eg. : MOV @R1,A 以直接地址为目的的传送指令:( 5条) MOV direct ,#data ; direct ← data MOV direct1,direct2 ; direct1 ←(direct2) MOV direct,A ; direct ←(A) MOV direct ,@Ri ; direct ←((Ri)) MOV direct,Rn ;

文档评论(0)

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

1亿VIP精品文档

相关文档