AT89S52单片机寻址方式及指令系统.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目一 片内存储器及特殊功能寄存器 第一部分 项目要求 在Keil C51 μVision2集成开发环境下,在编辑窗口编辑给定程序,观察片内RAM工作寄存器区、内部RAM位寻址区、RAM间接与直接寄存器区、内部RAM间接寻址区、内部RAM特殊功能寄存器区、外部RAM区(XRAM)的数据,并根据要求进行修改,说明每条指令的寻址方式。 二、AT89S52单片机指令寻址 存放指令代码的地址称指令地址。指令存放是在程序存储器中,是按顺序存放的,执行时也是按指令地址顺序执行,除非是转移。 存放数据的地址称操作数地址。数据的存放是任意的,无规律。 操作数的来源为: A.操作数在指令中 B.操作数在存储器中 C.操作数在寄存器中 D.操作数在I/O端口中 1. 数据传送类指令(7种助记符,28条指令) MOV:对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送。 MOVC:读程序存储器数据表格的数据传送。 MOVX:对外部RAM的数据传送。 XCH:字节交换。 XCHD:低半字节交换。 PUSH:入栈。 POP:出栈。 3. 逻辑运算及位移类指令(10种助记符,17条指令) ANL:逻辑与。 ORL:逻辑或。 XRL:逻辑异或。 CRL:清0。 CPL:取反。 RL:循环左移。 RLC:带进位循环左移。 RR:循环右移。 RRC:带进位循环右移。 SWAP:低4位与高4位交换。 DJNZ:减1后不为0则转移。 JZ:结果为0则转移。 JNZ:结果不为0(结果为1)则转移。 JC:有进位位则转移。 JNC:无进位位则转移。 JB:位为1则转移。 JNB:位为0则转移。 JBC:位为1则转移,并清除该位。 NOP:空操作。 (四)AT89S52指令系统助记符 指令系统有42种助记符,代表了33种功能,指令助记符与各种可能的寻址方式相结合,共构成111条指令。按指令的功能可分为五大类。为了便于理解,加强记忆,给出每个助记符的解释。 【例1】 MOV A,40H ;A←(40H) MOV A,#40H ;A←40H 注意 40H和#40H的区别 【例2】 MOV A, R1 ;A ←(R1) MOV A,@R1 ;A ←((R1)) 注意 @R1和R1的区别 【例3】 MOV 90H, #40H ;P1←40H MOV P1, #40H ;PI←40H MOV R0, #90H ;R0←90H MOV @R0, #40H ;(90H)←40H 注意: (1) 目的操作数不能采用立即寻址。 (2) @Ri中的i范围为0和1。 (3) Rn中的n的范围为0~7。 (4) 每条指令中最多只能有1个Rn或@Ri。 【例4】 以下指令都是错误的。 MOV #30H, 40H MOV A, @R2 MOV R1, R3 MOV R1, @R0 MOV @R1, R2 MOV @R0, @R1 【例5】 MOV A, 60H ; A←(60H),目的操作数为寄存器寻址 MOV 0E0H, 60H ; A←(60H),目的操作数为直接寻址 MOV 09H, #40H ;09H←40H,目的操作数为直接寻址 MOV R1, #40H ;R1←40H, 目的操作数为寄存器寻址 【例6】 分析程序的执行结果。 设内部RAM中30H单元的内容为80H,试分析执行下面程序后各有关单元的内容。

文档评论(0)

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

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

1亿VIP精品文档

相关文档