单片机课件第03章.ppt

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

第3章 51单片机 的指令系统 3.1 指令系统概述 本章介绍51汇编语言的指令系统。 按指令的执行时间(指令周期)来分,其中: (1)1个机器周期(12个时钟振荡周期)的指令64条; (2)2个机器周期(24个时钟振荡周期)的指令45条; (3)只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期); 在12MHz晶振的条件下,每个机器周期为1?s。 有一个位变量的指令子集,在进行位变量处理的程序设计时十分有效、方便。 3.2 指令格式 指令格式就是指令的表示方法,一条指令由两部分组成,即操作码和操作数。 操作码用来规定指令进行什么操作, 操作数则是指令操作的对象 51系列指令系统中,有单字节指令、双字节指令、三字节不同长度的指令,指令长度不同,格式也就不同。 (1)单字节指令:指令只有一个字节,操作码和操作数同在一个字节中; (2)双字节指令:一个字节为操作码,另一个字节是操作数; (3)三字节指令:操作码占一个字节,操作数占二个字节。其中操作数既可能是数据,也可能是地址 3.3 指令系统的寻址方式 寻址方式就是在指令中说明操作数所在地址的方法。 51单片机共有7种寻址方式。 1.寄存器寻址方式: 寄存器寻址方式的操作数在寄存器中,因此指定了寄存器就可以得到操作数。 MOV A,Rn ;(Rn)→A,n=0~7 表示把寄存器Rn的内容传送给累加器A。 寄存器寻址的范围 (1)4组通用工作寄存区共32个工作寄存器。寻址不同工作区的Rn,要通过RS1、RS0转换; (2)部分特殊功能寄存器,例如A、B 以及数据指针寄存器DPTR。 2.直接寻址方式: 在指令寻址方式中,操作数直接以单元地址的形式给出,单元地址中的内容就是操作数。 MOV A,diret 表示把内部RAM 40H单元的内容传送给累加器A。 直接寻址方式的寻址范围 (1)内部RAM的128个单元; (2)特殊功能寄存器。特殊功能寄存器除了以单元地址的形式给出外,还可以用寄存器符号的形式给出。 例如: MOV A,80H 与 MOV A,P0是等价的。 ** 直接寻址方式是访问所有的SFR的唯一寻址方式。 3. 寄存器间接寻址方式: 寄存器间接寻址方式就是寄存器中存放的是操作数的地址,使用的寄存器是R0与R1,为了区别于寄存器寻址方式,在寄存器的名称前面加前缀标志“@” 。 访问内部RAM或外部RAM的低256个字节时,可以(片内只能)采用R0或R1作为间址寄存器。例如: 片内: MOV A,@Ri ;i=0或1 片外: MOVX A,@Ri ;i=0或1 假如,其中Ri中的内容为40H,操作的结果是把内部RAM中40H单元的内容送到A。 访问外部RAM时,可以(外部RAM的低256B以外的字节,只能)采用DPTR作为间址寄存器。例如: MOVX A,@DPTR 假如,其中DPTR中的内容为0140H,操作的结果是把外部RAM中0140H单元的内容送到A。 寻址范围: (1)访问内部RAM低128个单元,其通用形式为: MOV A,@Ri ;i=0或1 (2)对片外RAM的64K字节的间接寻址,可以使用下面的形式: MOVX A,@DPTR (3)片外RAM的低256字节,除可以使用DPTR外,还可以使用R0、R1。 例如:MOVX A,@Ri ;i=0或1 (4)堆栈区:堆栈操作指令有:PUSH(压栈)和POP(出栈),使用堆栈指针(SP)作间址寄存器可以对堆栈区进行间接寻址。 4.立即寻址方式: 立即寻址方式就是操作数在指令中直接给出。为了区别于直接寻址方式,需在操作数前面加前缀标志“#”。例如: MOV A,#40H 操作的结果是把立即数40H(常数)送给累加器A。 5.基址寄存器加变址寄存器间址寻址方式: 这种寻址方式用于读取ROM中的数据并送给A。本寻址方式是以DPTR或PC作基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为操作数的地址,以达到访问数据表格的目的。 例如:指令 MOVC A,@A+DPTR 其中A的原有内容为05H,DPTR的内容为0400H,该指令执行的结果是把程序存储器0405H单元的内容传送给A。 说明: (1)

文档评论(0)

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

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

1亿VIP精品文档

相关文档