单片机课程-PPT版13535.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程-PPT版13535.ppt

第3 章 MCS-51 单片机的指令系统 教学重点:MCS-51单片机的指令系统的五大类(共111条)指令 教学难点:寻址方式及寻址空间 教学要求: 熟悉MCS-51单片机的指令系统及寻址方式。 掌握五类指令的使用方法。 熟悉几种常用的伪指令。 3.1 MCS-51 指令系统概述 所谓指令就是CPU 所能进行的操作。我们把所有指令的集合称为CPU 的指令系统,MCS-51 单片机的指令系统共包括111 条指令。 3.1.1 计算机常用的编程语言 程序是完成某项任务的计算机指令的有序集合。设计程序就要用到程序设计语言,从使用的角度看,程序设计语言可分为如下三种: 1. 机器语言 机器语言是计算机唯一能“懂”的语言,直接用二进制代码表示,这种编码称为机器码,或者称为机器指令。只有内存中的机器码能被计算机直接执行。然而,不同类型的CPU 其机器语言必然不同,且直接用机器语言来编程,晦涩难懂,极易出错,很难用它来进行程序设计。 2. 汇编语言 为克服使用机器语言编程的缺点,人们采用一些符号来代表地址或数据,用简单明了的助记符(英文缩写)表示指令的操作码,这就形成了汇编语言。 3. 高级语言 高级语言是更接近人的自然语言,从而使编制的程序直观、简练、易读,且具有较强的通用性。 3.1.2 MCS-51 指令格式 MCS-51 指令系统中的每条指令都有两级指令格式:汇编语言级指令和机器语言 级指令,下面分别进行介绍。 1. 汇编语言级指令格式 汇编语言级指令由4 部分组成,指令格式如下: [标号:] 操作码 [操作数1,] [操作数2,] [操作数3] [;注释] 2. 机器语言级指令 机器语言级指令是一种二进制代码,它包含两个基本部分:操作码和操作数。机器语言级指令分单字节、双字节和三字节指令,具体格式分别为: ① 单字节指令: 操作码 ② 双字节指令: 操作码 操作数 ③三字节指令: 操作码 第一操作数 第二操作数 3.1.3 寻址方式及寻址空间 寻址方式的“寻址”是指寻找参与操作的数据所在存储器单元的地址。MCS-51指令系统有以下7 种寻址方式: 1. 立即寻址方式 所谓立即寻址,就是在指令中直接给出参与操作的数据本,即操作数直接出现在指令中。这种形式的操作数被称作立即数,以在数据前加“#”号表示。 在指令系统中凡是用“#data”或“#data16”表示操作数都属于立即寻址。 含有立即寻址的指令,立即数同操作码一起存放在程序存储器中,可以立即参与指令所规定的操作。显然,这种寻址方式只适用于程序存储器。 2. 直接寻址方式 所谓直接寻址,就是在指令中直接给出参与操作的数据所在内RAM单元的地址,即操作数直接以单元地址的形式出现在指令中。直接寻址方式适用于内部RAM 的低128 字节和特殊功能寄存器。 ?? MCS-51 指令系统规定,按字节访问特殊功能寄存器只能用直接寻址方式。在指令中,特殊功能寄存器既可以单元地址的形式出现,也可以特殊功能寄存器名的形式出现。 3. 寄存器寻址方式 所谓寄存器寻址,就是在指令中直接以寄存器的形式给出参与操作的数据,即操作数放在指定的寄存器中。寄存器寻址中的寄存器包含R0~R7、A、B、AB、DPTR等寄存器 4. 寄存器间接寻址方式 所谓寄存器间接寻址,就是在指令中所给定的寄存器存放的不是操作数本身,而是操作数所在内RAM 或外RAM 单元的地址,即操作数通过寄存器间接获得。为了与寄存器寻址相区别,在寄存器名称前加上符号“@”表示间接寻址。可用于间接寻址的寄存器有R0、R1、SP 及DPTR,其中的SP 在间接寻址方式中以隐含方式出现。 寄存器间接寻址方式适合于内部RAM 低128 个字节(指示地址的寄存器为R0、R1 或SP)和外部RAM(指示地址的寄存器为R0、R1 或DPTR)。 5. 基址+变址寄存器间接寻址方式 基址+变址寄存器间接寻址方式又称变址寻址方式,在指令中以“@A+DPTR”或“@A+PC”的形式出现。表示以数据指针DPTR 或程序计数器PC 的内容为基地址(16 位),以累加器A 中的内容为地址偏移量(8 位),二者之和即为操作数所在程序存储器单元的物理地址。 这种寻址方式只适用于程序存储器。 6. 相对寻址方式 所谓相对寻址,就是以PC 的当前值为基准,加上指令中给出的相对偏移量“rel”,而形成有效的物理地址。需要注意的是,这里PC 的当前值是指执行完本条指令后的PC 值。 PC 的当前值 = 源地址+转移指令字节数 目标地址= PC 的当前值+rel=源地址+转移指令字节数+rel, rel=目标地址-(源地址+转移指令字节数) 相对偏移量“rel”是一个8 位带符号数,常以补码形式出现。如果计算所得rel是正数,则程序向下(地址增加方向,最大转移空间

文档评论(0)

caijie1982 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档