单片机原理及应用 第4讲 数据传送指令.ppt

单片机原理及应用 第4讲 数据传送指令.ppt

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

复习:引脚功能 指令分类 寻址方式 指令格式 传送指令 第3章指令系统 指令的分类 MCS-51的基本指令共111条,按指令所占字节来分: (1) 单字节指令49条; (2) 双字节指令45条; (3) 三字节指令17条。 按指令的执行时间来分: (1) 单周期(12个时钟振荡周期)指令64条 (2) 双周期(24个时钟振荡周期)指令45条 (3) 4周期指令(只有乘、除两条) 寻址方式:共7种寻址方式 1.立即寻址方式 在指令中直接给出操作数,需在操作数前面加前缀 “#”。例如: MOV A,#40H 2.直接寻址方式 指令直接给出操作数地址: MOV A,40H 3.寄存器寻址方式:操作数在寄存器中 MOV A,Rn ;(Rn)→A,n=0~7 表示把寄存器Rn的内容传送给累加器A 4. 寄存器间接寻址方式 寄存器中存放的是操作数的地址 (1)访问内部RAM低128个单元,其通用形式为@Ri 只能采用R0或R1作为间址寄存器。例如: MOV A,@Ri ;i=0或1 (2)片外数据存储器的低256字节 例如:MOVX A,@Ri 或 MOVX A,@DPTR (3)对片外数据存储器的256-64K字节的间接寻址,例如: MOVX A,@DPTR (4)堆栈区 堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指针(SP)作间址寄存器 5.相对寻址方式 在相对转移指令中使用相对寻址方式,在指 令中给出了地址偏移量,以“rel”表示 目的地址=转移指令所在的地址 + 转移指令 的字节数+ rel 6.变址寻址方式:是以DPTR或PC作基址寄存器,以累加器A作为变址寄存器 本寻址方式的指令只有3条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR 7.位寻址方式 MCS-51有位处理功能,可以对数据位进行操作,例如: MOV C,40H 是把位40H的值送到进位位C。 位寻址范围包括: (1)内部RAM中的位寻址区。位有两种表示方法,一种是位地址,例如,30H;另一种是单元地址加上位,例如,(28H).0,指的是28H单元中的最低位。 内部数据存储器 (2)可位寻址的特殊功能寄存器 可寻址位在指令中有如下4种的表示方法: a. 直接使用物理位地址。例如PSW.5的位地址为0D5H。 b.位名称的表示方法。例如:PSW.5是F0标志位,可使用F0表示该位。 c.单元地址加位数的表示方法。例如 :(D0H).5。 d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。 特殊功能寄存器(SFR) CPU对各种功能部件的控制采用特殊功能寄存器集中控制方式,共21个。 有的SFR可进行位寻址,其字节地址的末位是0H或8H。 指令格式 [标号:] 操作码 [目的操作数] [,源操作数] [;注释] 。 操作码:用来规定指令进行什么操作 操作数:则是指令操作的对象:目的操作数,源操作数 数据传送类指令 使用最频繁的传送指令格式: MOV 目的操作数,源操作数 属“复制”性质,而不是“搬家” 数据传送类指令不影响标志位Cy、Ac和OV,但会影响奇偶标志位P。 1.以累加器为目的操作数的指令 MOV A,#data ; #data→A MOV A,Rn ; (Rn)→A,n=0~7 MOV A,direct ;(direct)→A MOV A,@Ri ; ((Ri))→A,i=0,1 例如:MOV A,#78H ;78H→A MOV A,R6 ;(R6)→A MOV A,70H ;(70H)→A MOV A,@R0 ;((R0))→A 2. 以Rn为目的操作数的指令 MOV Rn,A ; (A)→Rn,n=0~7 MOV Rn,direct ;(direct)→Rn,n=0~7 MOV Rn,#data ; #data→Rn,n=0~7 功能:是把源操作数的内容送入当前一组工作寄存器区的R0~R7中的某一个寄存器。 3.以直接地址direct为目的操作

文档评论(0)

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

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

1亿VIP精品文档

相关文档