《单片机3.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 MCS-51单片机指令系统 第一节 概述 指令概述 指令格式 指令符号说明 一、指令概述 向CPU输入的操作命令——指令 针对某一CPU的指令集合——该CPU的指令系统 MCS-51指令系统由111条指令组成 49条单字节指令+45条双字节指令+17条三字节指令 64条指令为单周期指令,45条为双周期指令,2条为4周期指令 共有33个功能 [标号]:操作码 [操作数] ;[注释] 例 ABC: Mov A,#44H ;将44H送入累加器中 标号——指令的地址符号 1-6个字符组成,以字母开头,以冒号结尾 操作码——指令的操作功能 用助记符(1-4个字符)表示,见P25 表3.1 操作数——指令的操作对象,目的操作数、源操作数 注释——指令的说明 以分号开头的任意字符串 除操作码以外,其它部分均可以缺少 操作数的一般规律 操作数可以为0,1,2,3 例如 RET (操作数=0) 例如 INC A (操作数=1) 例如 ADD A,P1 (操作数=2) 例如 CJNE A,31H,ABC (操作数=3) 三、符号说明 第二节 寻址方式 一、立即寻址 二、直接寻址 三、寄存器寻址 四、寄存器间接寻址 五、变址寻址 六、位寻址 七、相对寻址 一、立即寻址 由立即数(即#data)作为操作数的寻址方式 所要找的操作数出现在指令中,用“#”作前缀 例如 MOV A,#44H 例如 MOV DPTR,#1234H 二、直接寻址 把存放操作数的内存单元地址写在指令中 可直接寻址的地址空间 片内RAM 例 MOV A,44H SFR 例 MOV A,83H 三、寄存器寻址 指令中给出操作数所在的寄存器 可用于寻址的寄存器:Rn,A,B,DPTR等 例如 MOV A,R1 四、寄存器间接寻址 操作数的地址由寄存器的内容间接给出的寻址方式 可用于寄存器间接寻址的寄存器:R0、R1、DPTR 需要在寄存器名称前加符号@表示间接寻址 例如 MOV A,@R0 表示((R0))→A 又如 MOVC A,@DPTR 表示((DPTR)) →A 五、变址寻址 以DPTR或PC为基地址寄存器,以A为变址寄存器的寻址方式 操作数所在单元的地址=(A) + (DPTR) 或(A) + (PC) A中必须是无符号的8位数 例如MOVC A,@A+DPTR 表示((A)+(DPTR))→A 特别适用于查表操作 六、位寻址 由位地址作为操作数的寻址方式 可位寻址的空间 片内RAM中的位寻址区(位地址00H ~7FH) 可位寻址的11个SFR 例如 CLR C 表示“0”→PSW.7 CLR PSW.7 CLR 0D7H 又如 MOV C,05H MOV C,20H.5 位地址的几种表示形式 直接使用位地址表示,例如PSW第5位的位地址为0D5H 可位寻址的寄存器名称加位的表示方法,如PSW.5 使用位名称,如PSW中位5是F0标志,可用F0表示该位 采用字节单元地址加位的表示方法,如20H.5 采用位单元地址的表示方法,如05H 七、相对寻址 以该条指令执行完以后的PC值和本条指令给出的偏移量所形成的转移地址为操作数的寻址方式 转移地址=(PC) +rel 例如 SJMP 54H (本条指令的地址为2000H,机器码8054) 转移地址=2000H+02H+54H=2056H 偏移量rel是带符号的8位补码(转移范围是-128~+127) 第三节 指令系统及应用举例 数据传送与交换指令 涉及前6种寻址方式 算术运算指令 逻辑运算及移位指令 控制转移指令 位操作指令 伪指令 一、数据传送类指令(Data Transfer Instrucions) 数据传送类指令共有29条 指令执行后,源操作数不变,目标操作数将被取代 例 MOV A,#30H 不会影响CY,AC,OV等标志位,但对目的操作数A的传送指令会影响P标志位 共有8种助记符 MOV、MOVC、MOVX、XCH、XCHD、SWAP、PUSH、POP 可细分为5类指令 片内RAM数据传送(16条) 片外RAM数据传送(4条) ROM传送(2条) 数据交换(2条) 堆栈操作(5条) 以累加器A为目的操作数 (4条) MOV A,Rn ;(A)←(Rn) n=0~7 MOV A,direct ;(A) ←(direct) MOV A,@Ri ;(A) ←((Ri)) i=0,1 MOV A,#data

文档评论(0)

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

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

1亿VIP精品文档

相关文档