c8051第2章幻灯.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文档。上传文档
查看更多
c8051第2章幻灯,wordpress文章幻灯片,基督教幻灯片讲章,discuz文章幻灯片,开学第一课幻灯片,制作第一张幻灯片,第一幻灯片,幻灯片母版第一页,开学第一课幻灯片背景,三国演义第18回幻灯片

* 第2章 51单片机的指令系统与汇编程序 2.1 51单片机的指令与指令系统 每个单片机的CPU都有自己的指令系统,由指令组成的程序称为指令程序,单片机可以在指令程序的控制下,实现预定的各种动作。 单片机能够执行的指令为二进制或是十六进制表示机器码,这些机器码不易记忆,。 用助记符编制的指令程序,再增加一些汇编器识别的命令,这样的程序称为汇编程序。汇编器可以将这样的程序转换成CPU执行的机器码程序。 2.2寻址方式 寻找操作数的地址称为寻址。寻址方式确定了数据的来源与目的地,对于不同的指令,操作数的来源与目的不同。 (1)寄存器寻址 寄存器寻址就是将通用寄存器R0~R7的内容作为操作数,这时操作码的低3位用于指定寄存器。 例如;MOV A,R0 ;将寄存器R0中的8位数据送到累加器A 51单片机有4个寄存器组(地址00H~1FH),每次只能激活其中1组,由状态寄存器中的RS1和RS2位选择。 有些指令中隐含寄存器,因此也属于寄存器寻址范围。 例如,INC A ;将累加器A中的数据加1 (2)直接寻址 指令中直接给出操作数地址就是直接寻址,直接寻址可以访问51单片机的内部RAM(00~7FH)与特殊功能寄存器(80H~FFH)。 例如: MOV 90H,A ;将累加器A中的内容送到端口P1。还可以写作MOV P1,A。 MOV A,3AH ;将3AH地址的内容传送到累加器A,记作:A←(3AH) (3)立即寻址 若操作数为常数,则称为立即寻址,而常数操作数称为立即数,为与地址区别,在立即数前加“#”(若为地址,没有“#”)。例如: MOV A,#12H ;将十六进制数12传送到累加器A (4)寄存器间接寻址 将寄存器R0和R1中的内容、或是数据指针寄存器DPTR中的内容作为操作数的地址称为间接寻址。该寻址方式不能访问特殊功能寄存器。 书写间接寻址指令时,需要在寄存器R0和R1前加符号“@”。 例如:MOV A,@R0 ;将R0中的内容作为地址,寻找操作数 寄存器间接寻址的范围: ⑴ 51单片机RAM的前128字节,52单片机RAM的256字节。 ⑵ 外部数据存储器的前256字节,但必须使用MOVX指令。 ⑶ 使用数据指针寄存器DPTR,可以在外部64KBRAM中寻址。例如, MOV DPTR,#1234H ;将立即数1234H传送到数据指针寄存器DPTR中 MOV R0,#70H ;将代表地址的立即数传送到R0 (5)变址寻址 以程序计数器PC或是数据指针寄存器DPTR中的内容作为基本地址,然后再加上保存在累加器A中的地址偏移量形成的操作数的地址称为变址寻址(有些书称为索引寻址),也就是以DPTR+A或是PC+A的值作为操作数的地址。该寻址方式可访问程序存储器的内容。 例如,如果外部程序存储器地址0211H中的数为1FH,累加器A中的数为11H,DPTR中的数为0200H,则程序 MOVC A,@A+DPTR ; 将0211中的数1FH送到累加器A。 (6)相对寻址 以程序计数器PC中的数加指令给出的偏移量后形成地址的方式称为相对寻址。这里偏移量是有符号8位数,范围是-128~+127,相对寻址只在相对转移指令中用到。 相对转移指令的所在地址为源地址,转移后的地址称为目标地址,因此有 目标地址=源地址+转移指令的字节数+偏移量 就是说转移指令执行完毕后的PC值加偏移量就是目标地址。 例如若SJMP指令地址保存在2000H和2001H,对于两字节转移指令:SJMP 3EH 则转移目标地址为:2002H+3EH=2040H 该种寻址模式的优点是程序源代码与存储位置无关,缺点是跳转范围有限。 2.3 51单片机指令 关于指令符号一些约定: Rn:寄存器R0~R7 direct:8位直接地址,可寻址RAM和特殊寄存器 @Ri:通过R0和R1间接寻址RAM #data:8位立即数(常数) #data16:16位立即数(常数) addr16:用在LCALL和LJMP指令中的16位目的地址,寻址范围64K addr11:用在ACALL和AJMP指令中的11位目的地址,寻址范围2K rel:使用在SJMP指令中的有符号8位偏移地址(-128~+127) bit:RAM和特殊寄存器中的位地址 DEPT:数据指针,可作为16位的地址寄存器 (X):X中的内容 ((X)):X寻址单元中的内容 @:间接寻址寄存器或基址寄存器前缀 1. 立即寻址 MOV A,#data ;立即数data送A (2字节,1周期) MOV Rn,#data ;立即数data送寄存器 (2字节,2周期) MOV @Ri,#data ;

文档评论(0)

badjka + 关注
文档贡献者

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

1亿VIP精品文档

相关文档