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

[小学教育]第2章 单片机软件指令系统.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[小学教育]第2章 单片机软件指令系统

第2章 单片机软件指令系统 第2章 单片机软件指令系统 2.1 简介 2.2 寻址方式  2.3 指令系统  2.4 基本技能训练——流水灯的单片机控制   2.1 简介 2.1.1 指令概述 指令:所谓指令,就是规定计算机进行某种操作的命令。 单片机的所有指令的集合称为指令系统。 MCS-51系列单片机的基本指令共111条。 按字节数分 : 单字节指令 (49条) 双字节指令 (45条) 三字节指令 (17条) 按指令执行的时间可分为: 一个机器周期指令有64条 两个机器周期指令45条 四个机器周期指令2条(只有乘法和除法) 2.1.2 指令格式 [标号:] 操作码 [目的操作数] [源操作数] [;注释] 标号:通常在子程序或转移指令的目标地址处才赋予标号。 操作码: 由助字符表示的字符串,它规定了指令的操 作功能。 操作数:是指参与运算的数据或数据地址。 注释:是为该条指令作说明,以便于阅读。 2.2 寻址方式 一般说来,寻址方式越多,单片机的功能就越强,灵活性越大,指令系统也就越复杂。 MCS-51单片机有以下7种寻址方式。 立即寻址(#data) 直接寻址(direct) 寄存器寻址(Rn) 寄存器间接寻址(@Ri、@DPTR) 变址寻址(基址寄存器+变址寄存器间接寻址) 位寻址(bit) 相对寻址(rel) 2. 直接寻址(direct) 在指令中直接给出操作数所在存储单元的地址(一个8位二进制数),称为直接寻址。直接地址用direct表示。 直接寻址方式中寻址范围只限于: (1)内部RAM的128个字节单元(00H~7FH)。 (2)特殊功能寄存器(80H~FFH),只能用直接寻址方式进行访问。 例如: MOV A,20H 3. 寄存器寻址 所谓寄存器寻址方式就是以寄存器的内容为操作数,因此,指定了寄存器就能得到操作数。在寄存器寻址方式的指令中以符号名称来表示寄存器。例如指令: MOV A, R0 表示把寄存器R0的内容传送给累加器A。 寄存器寻址方式的寻址范围包括: (1)4组通用工作寄存区共32个工作寄存器。但只能寻址当前的工作寄存器区的8个工作寄存器,因此指令中的寄存器的名称只能是R0~R7。 (2)部分特殊功能寄存器,例如累加器A、寄存器B以及数据指针DPTR等。 4. 寄存器间接寻址(@Ri/@DPTR) 寄存器间接寻址是把指定寄存器的内容作为操作数地址,该地址所指定的单元内容作为操作数。 寄存器间接寻址用符号“@”表示。 规定工作寄存器只有R0、R1或DPTR才用于间接寻址。 规定用MOV指令访问片内RAM,用MOVX访问外部RAM。 例如: MOV A,@R0 (机器码E6H) 5. 变址寻址(基址寄存器+变址寄存器间接寻址) 变址寻址是以DPTR或者PC作为基址寄存器,其内容为基地址,以累加器A作为变址寄存器,其内容为变址,并将两个寄存器内容相加,形成16位操作数地址,这种寻址方式 称为变址寻址方式。 可寻址位在指令中的表示方式包括如下几种: (1)直接使用位地址 如:PSW寄存器的第5位可表示为D5H。20H单元的第7位可表示为07H。   (2)用位名称表示 如:PSW寄存器的第5位可表示为F0。   (3)单元地址加位号表示 如:PSW寄存器的第5位可表示为D0H.5。20H单元的第7位可表示为20H.7。   (4)可以用寄存器名称加位号表示 如:PSW寄存器的第5位可表示为PSW.5。 7. 相对寻址(Rel) 以程序计数器PC的当前值为基址,再加上指令中给定的偏移量rel的值(rel是一个8位带符号数,用二进制补码表示),形成相对寻址的地址。但这里的PC的当前值是指执行完该指令后的PC值,即转移指令的PC值加上它的字节数。 2.3.1 指令符号约定 Rn:当前选中的寄存器区的8个工作寄存器R0~R7(n=0~7)。 Ri:当前选中的寄存器区中可作地址寄存器的2个寄存器R0、R1(i=0或1)。 Direct:直接地址,即8位的内部数据存储器单元或特殊功能寄存器的地址。 #data:包含在指令中的8位立即数。 #datal6:包含在指令中的]16位立即数。 Rel:相对转移指令中的偏移量,为8位的带符号补码数。 DTPR:数据指针,可

文档评论(0)

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

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

1亿VIP精品文档

相关文档