编单片机原理与应用三版课件作者潘永雄第1-3章节第3章节.pptVIP

编单片机原理与应用三版课件作者潘永雄第1-3章节第3章节.ppt

  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文档。上传文档
查看更多
  指令、指令系统等基本概念以及MCS-51系列单片机CPU支持的七种寻址方式已在第1章中介绍过,这里不再重复。本章只介绍MCS-51系列单片机指令系统及其汇编语言程序设计的一些基本概念及注意事项。      MCS-51系列单片机采用复杂指令系统,共有42种操作码助记符,支持直接寻址、寄存器寻址、间接寻址、立即数寻址、变址寻址、相对寻址、位寻址等七种寻址方式。不同指令操作码助记符与不同寻址方式之间的组合就构成了MCS-51系列单片机的指令系统,共111条。按功能可将这些指令分成数据传送、算术运算、逻辑运算、控制转移、位操作等五大类,每一类型的指令中又包含若干条指令。这使许多初学者无所适从, 感到很难掌握,其实只要理解每类指令的功能、助记符及其支持的寻址方式,即可从MCS-51指令表中找出完成特定操作所需的指令。   本章在介绍MCS-51指令系统时,为了方便叙述,使用下列符号及约定:   (1) ?Rn(n?=?0~7):表示工作寄存器组R7~R0中的某一寄存器。   (2) ?@Ri(i?=?0~1):以寄存器R0或R1作间接寻址,表示操作数地址在寄存器R0或R1中,而“@”是间接寻址标识符。操作对象是外部RAM或内部RAM 00~FFH单元(对仅有前128字节内部RAM的51子系列来说,地址范围是00~7FH)。   (3) ?@DPTR:以数据指针DPTR(16位)作间接寻址,操作数在外部RAM中,“@”同样是间接寻址标识符。   (4) ?#data:8位立即数;#data16:16位立即数。其中“#”是立即数标识符,常用于初始化内部RAM单元、特殊功能寄存器、数据指针DPTR。   (5) ?direct:8位直接地址,可以是内部RAM 00~7FH单元字节地址、内部RAM 20H~2FH单元中的位地址或特殊功能寄存器的映象地址。   (6) ?/bit:在位操作中,取出“bit”位信息后,先取反,然后再参与运算,但不改变bit位的值,其中“?/?”是位取反标识符。   (7) ?rel:补码形式的8位偏移地址,范围在-128~+127。   (8) ?rrr:在操作码中,用于表示R7~R0寄存器的编码,rrr编码与寄存器R7~R0之间对应关系如下:   rrr的编码(二进制) 对应的工作寄存器名   000 R0   001 R1   010 R2   011 R3   100 R4   101 R5   110 R6   111 R7   (9) ?addr11:11位目标地址,用于ACALL(绝对调用)和AJMP(绝对跳转)指令中,转移范围为2 KB。   (10) ?addr16:16位目标地址,用于LCALL和LJMP指令中,转移范围为64 KB。   (11) 操作数中的累加器A写作“A”时,是寄存器寻址;写作“Acc”时是直接寻址,尽管操作对象均是CPU内的累加器A。对于支持直接寻址和寄存器寻址的指令来说,用A和Acc均可,只是指令的操作码不同;对于不支持寄存器寻址的指令(如PUSH、POP),则不能将累加器Acc写作“A”;而对于不支持直接寻址的指令,如“MOVX”中的“A”也不能写成“Acc”。因此,在汇编语言指令中,须严格区分累加器A的写法。   (12) 累加器A内容为nn时,用“A=nn”表示;地址编码为mm的存储单元内容用“(mm)”表示。   (13) 指令执行时间用“机器周期”度量。例如“MOV A, Rn”指令执行时间为一个机器周期,在标准MCS-51中,一个机器周期包含12个振荡(即时钟)周期。如果晶振频率为12 MHz,则振荡周期T?=?1/12 μs,因此一个机器周期为12T,即1 μs;对于运行在“6时钟/机器周期”的8×C5××2、89C51RX、P89C6××2芯片来说,指令机器周期数不变,但指令执行时间缩短了一半;又如对于“2时钟/机器周期”芯片LPC900系列来说,指令执行时间只有标准MCS-51的1/6。   (14) 指令机器码一律用二进制书写。   (15) 对于不常用或约束条件多、容易出错的指令,在指令表中加灰色背景,程序设计时应尽量避免使用这类指令。 3.1.1 数据传送指令   数据传送是计算机系统中最常见,也是最基本的操作。因此,数据传送指令在计算机指令系统中占有重要位置,指令条数也最多,其任务是实现计算机系统内不同存储单元之间的信息传送,如图3-1所示。       图3-1 MCS-51中不同存储区之间数据传送示意图   在MCS-

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档