网站大量收购闲置独家精品文档,联系QQ:2885784924

第三章MCS-51指令系统.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第三章MCS-51指令系统 3.1 指令系统概述 3.2 寻址方式 3.3 指令系统 * MCS-51系列单片机指令基本情况 51系列单片机指令集含有111条指令 每条指令在程序存储器ROM中占据一定空间,以字节为单位 按指令所占字节数分类: 单字节(49条);双字节(46条);3字节(16条) 每条指令在执行时要花去一定的时间,以机器周期为单位 按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条) 第三章节MCS-51指令系统 * ASM-51指令格式 51系列单片机采用ASM-51指令格式,格式如下: [标号:]操作码 [目的操作数][,源操作数][;注释] 其中包含: 方括符[ ]表示可选项 标号代表指令所在地址,1-8个字母/数字,“:”结尾 操作码就是指令功能助记符,指令实体 目的操作数 源操作数 注释,以“;”开头 * 第一节 MCS-51系列单片机寻址方式 寻址方式:计算机指令中操作数(按地址)获取的方式 MCS-51系列单片机提供了7种寻址方式,如果一条指令中包含多个操作数,就可能用到一种以上的寻址方式 1、立即寻址 2、直接寻址 3、寄存器寻址 4、寄存器间接寻址 5、变址寻址 6、相对寻址 7、位寻址 * 1、立即寻址(一) 在指令中直接给出操作数的寻址方式称为立即寻址。这个操作数叫立即数,如指令: MOV A, #3AH 该指令是将立即数3AH送累加器,由于MCS-51单片机的片内存储器是8位存储器,因此立即数一般为8位二进制数。在MCS-51的指令系统中,用#来识别立即数。 74H A 操作码 立即数 程序存储器 PC PC+1 3AH 3AH * 1、立即寻址(二) 在有的指令中,也会用到16位立即数,如: MOV DPTR, #0123H 该指令是将16位立即数0123H送数据指针DPTR(用于对16位地址的存储器寻址),DPTR由两个特殊功能寄存器DPH和DPL组成,在后面的寻址方式中会使用到DPTR。 90H 01H 23H 01H 23H PC PC+1 PC+2 操作码 高位立即数 低位立即数 程序存储器 SFR DPH DPL * 2、直接寻址 在指令中直接给出操作数地址的寻址方式称为直接寻址,直接寻址何以寻址特殊功能寄存器、内部RAM(128字节)和位地址,如: MOV A, 70H; A←(70H) 该指令是将RAM单元70H(地址)的内容送累加器。 74H 70H PC PC+1 操作码 直接地址 程序存储器 内部RAM 70H A XX XX * 3、寄存器寻址 在指令的操作码中包含了某一工作寄存器的地址(Rn:R0—R7),而操作数则存放在该寄存器中,如: MOV A, R5; A←(R5) 该指令是将R5的内容送累加器。 101 PC 操作码 程序存储器 内部RAM R5 A XX XX R6 R7 1101 * 4、寄存器间接寻址 在指令的操作码中包含了某一工作寄存器的地址(可用作地址指针的工作寄存器是@Ri:R0、R1),而操作数地址则存放在该寄存器中,如: MOV A, @R1; A←((R1)) 该指令是将R1的内容送作为地址,将该地址所对应的RAM单元的内容送累加器。 1 PC 操作码 程序存储器 内部RAM R1 A XX 68H 111001 XX 68H * 5、变址寻址 将PC或DPTR的值作为基地址,将Acc的值作为变址地址,二者向加得到的值作为操作数的地址,如: MOV A, @A+DPTR; A←((A)+(DPTR)) 这种寻址方式一般用于常数表,DPTR的内容为表头地址,Acc的内容就是数据在表中的位置。 PC 操作码 程序存储器 SFR A1EH 02H ALU 030FH XX DPH DPL F1H 02F1H 02F1H +1EH=030FH XX * 6、相对寻址(一) 相对寻址以PC当前值(PC当前值是执行完指令后的值,也就是当前指令的PC值+指令所占的字节数)作为基地址,与指令中给定的偏移量rel相加,所得的结果作为程序的转移地址,指令中的偏移量rel是一个用补码表示的8位带符号数。相对寻址用于相对转移指令中,如: JZ 30H; 当A=0时,PC←PC+2+rel 当A≠0时,PC←PC+2 //程序顺序执行 该指令以累加器Acc的值是否为0为转移条件,如果为Acc的值0则转移,如果Acc的值不为0则程序顺

文档评论(0)

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

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

1亿VIP精品文档

相关文档