第16章51系列单片机.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第16章 51系列单片机的指令系统 单片机的指令系统是指单片机CPU所能执行的所有指令的集合。其中单片机的指令是执行特定功能的操作命令。单片机使用这些指令,可以实现外部数据信息的读取,内部CPU的算法和流程处理,以及对外部接口设备进行控制等。 本章将要介绍51系列单片机指令系统,首先介绍指令的7种寻址方式,即寄存器寻址、寄存器间接寻址、直接寻址、立即寻址、变址寻址、相对寻址和位寻址。对应于每个寻址方式,均给出了在实际单片机程序中的应用示例。接下来着重介绍指令系统中的各类指令,包括数据传送类指令、算术运算类指令、逻辑运算与移位类指令、控制转移类指令、位操作指令和空操作指令,并详细分析各类指令的格式、功能、使用方法及注意事项,并给出了实际的编程示例。 16.1 指令系统简介 单片机的性能主要体现在两个方面:单片机的硬件资源和单片机的指令系统。硬件资源指的是并行端口的数量、中断的类型和数量、是否自带A/D或D/A、是否带有I2C总线等等。而单片机的指令系统则主要是单片机CPU所能完成的操作,以及指令的执行周期等。 不同类型的单片机,其指令系统一般是不一样的,各个厂商有各自的定义。但为了兼容性的考虑,对于51系列的单片机,其指令集基本一致。因此,熟悉了其的指令系统,对51系列的任何单片机都可以很容易操作。 16.1.1 指令格式 单片机的指令格式是指令的表示方法。一条指令通常由两部分组成:操作码和操作数。其中操作码规定指令执行什么操作,即指令的助记符;而操作数是操作的对象。操作数可以是一个具体的数据,也可以是存储数据的地址或者寄存器。指令的基本格式如下: 16.1.2 指令符号 指令符合是为了介绍51系列单片机指令系统的方便,而采用的一些符号。这些符号主要用于说明寄存器、地址、或数据等。本书所采用的指令符号如下。 Rn:其中n=0~7,为当前选中的工作寄存器组中的寄存器R0~R7之一; Ri:其中i= 0、1,为当前选中的工作寄存器组中可作为地址指针的寄存器R0或R1; #data:8位立即数,其中#为立即数的标识符,例如#45H; #data16:16位立即数,例如#1234H; direct:直接寻址符号。指单片机内部RAM的8位地址,既可以是内部RAM的低128个单元地址,也可以是特殊功能寄存器的单元地址或符号; addr11:11位二进制地址码。提供0~10共11位地址,而高5位地址码不变,可寻址2KB地址空间的任何单元,只限于在ACALL和AJMP指令中使用; addr16:16位二进制地址。提供16位二进制地址,可寻址64KB地址空间的任何单元,只限于在LCALL和LJMP指令中使用; rel:带符号的8位二进制码偏移量符号,一般以二进制补码形式表示。在相对转移指令中使用; bit:表示直接为寻址的内部RAM或可位寻址区的特殊功能寄存器的位地址; @:在间接寻址方式中,表示间址寄存器的前缀标志; C:进位标志位,或布尔位处理的累加器,称之为位累加器; /:一般在位地址的前面,用于表示对该位先求反再参与操作,操作完成后不影响该位的值; (X):表示由X指定的地址单元或寄存器中的内容; ((x)):由X寄存器的内容作为地址的存储单元的内容; ? $:本条指令的起始地址; ←:指令操作流程符,表示将箭头右边的内容送到箭头左边的单元中。 16.2 寻址方式 寻址方式是单片机CPU在规定的寻址空间能快速获得操作数的方式。通过它,单片机可以快速、灵活地寻址操作数。操作数是指令系统的一个重要的组成部分,它指出了指令运算或操作中的数据或者数据所在单元的地址。 寻址方式越丰富,可以为单片机程序设计提供更多方便,在某些时候可以提高程序的执行速度。但随着指令的增多,指令系统也就越复杂,也会给程序的学习和编写带来不便。 本书将讲解7种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。 16.2.1 立即寻址 立即寻址是通过立即数来访问操作数的。其中,立即数是寻址指令中直接出现的数据。一般来说立即数前面都有标识符“#”,以便于和直接寻址指令中的直接地址相区别。 立即寻址的立即数可以表示为十六进制、十进制、八进制以及二进制,分别在立即数结尾用字符H、D、O和B来区别。一般情况下,十进制表示的立即数末尾的字符D可以省略。立即寻址示例如下: MOV A, #21H 16.2.2 直接寻址 直接寻址方式是在指令中直接给出操作数的单元地址的寻址方式。此时,指令的操作数部分是操作数所存放的物理地址,而不是实际的数值。 利用直接寻址方式,可寻址如下两类存储空间: 单片机片内RAM低128个字节单元,在指令中直接地址以单元地址形式给出。单片机片内低128字节的地址为00H~7FH。这样,在这128位地址的直

文档评论(0)

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

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

1亿VIP精品文档

相关文档