《单片机原理及应用》教学课件 第4章-指令系统.pptxVIP

《单片机原理及应用》教学课件 第4章-指令系统.pptx

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2;;; 51系列单片机能够识别并执行的指令有111条,这些指令构成了单片机的指令系统。该指令系统的分类方法有多种,主要包括按指令字长分类、按执行时间分类、按照指令功能分类等,如表4-1所示。; 51系列单片机的汇编语言指令包含4个部分,各部分之间用分隔符分开。指令格式如下: [标号:] 操作码 [操作数] [;注释] 例如: LOOP: MOV A , #40H 使用指令的注意事项如下:;⑤ 操作数是指令执行时需要的数据,可以分为源操作数和目的操作数,有时也可以没有操作数,如空操作指令NOP。;⑦ 分隔符用于分隔指令的各个部分。标号之后用冒号“:”,操作码与操作数之间用空格隔开,操作数与操作数之间用逗号“,”隔开。; 指令字长是指存储这条指令所占用的存储单元的个数。 51系列单片机采用变字长指令方式,按8位二进制数为一个字长,可分为单字节、双字节、三字节3种,在存储单元中分别占1~3个单元(51内核单片机内部存储器一个单元为8位)。 指令周期是指执行这条指令需要的时间。目前,51系列单片机的指令执行周期主要有单机器周期、双机器周期和四机器周期3种情况。例如: NOP为单字节,单机器周期指令。 DIV为单字节,四机器周期指令。 不同指令它们占有的字节数不同,执行需要的时间不一样。但指令所占的字节数与执行所需要的机器周期数无必然的内在联系。当我们需要知道具体指令占有的字节数与执行需要的时间数时,可以去查询单片机指令字节数与周期数(见配套书本附录二);;; 在指令中直接给出操作数所在的单元地址或位地址,这种寻址方式称为直接寻址。指令中的操作数是所需数据的地址,真正的数据存放于此地址中。 例如: MOV A, 25H ; 将内部RAM中地址为25H单元的内容送入累加器A MOV P0, #45H ; 将立即数送入直接寻址的特殊功能寄存器P0中 MOV 30H, 20H ; 将内部RAM中地址为20H单元的内容送入30H单元 直接寻址方式可以访问单片机内部数据存储器的低128个字节单元(00H~7FH)和特殊功能寄存器(80~FFH)。采用直接寻址方式访问特殊功能寄存器时,可以用直接地址,也可以用寄存器名。 例如,指令“MOV A,0D0H”与“MOV A,PSW”功能相同。 PSW的物理地址就是0D0H(以字母A~F开头的十六进制数均需加前导0)。;13; 立即寻址方式是指操作数包含在指令中。这样的操作数称为立即数。立即数前面要加“#”,一般占用1个或2个字节。 例如: MOV R0, #30H ; 将立即数#30H送入R0 MOV DPTR, #2000H ; 将立即数#2000H送入DPTR; 寄存器寻址是指将指令需要的数据存放在寄存器中,而不是放在位地址或用户RAM区。例如,操作数放在寄存器R0~R7、累加器A、寄存器B、数据指针DPTR或布尔处理器的位累加器Cy等寄存器中。 例如: MOV A, R1 ; 将寄存器R1中的数据送入累加器A 数据传送前,若R1中的数据是#02H,A中的数据是#55H,传送后累加器A中的数据将会被R1中的数据覆盖,变成#02H,如图4-1所示。; 寄存器间接寻址是以某个寄存器中的内容作为地址去寻找操作数。在该寻址方式中,寻址内部RAM区的低128个字节单元时,需要使用寄存器R0,R1作为间接寻址寄存器。寻址外部64K的RAM区时,可以使用16位寄存器DPTR作为间接寻址寄存器,也可以采用R0或R1作为低8位地址、P2口指定高8位地址的方式。; 例如: MOV A,@R0 本指令采用了寄存器间接寻址方式,所以,参与运算的数据不是直接给出的,而是需要根据寄存器R0中的地址找到数据。指令的执行过程如下: (1)到寄存器R0中寻找数据#40H(见图4-2)。 (2)以40H为地址,到该地址对应的存储单元去寻找数据,此时找到数据#10H。 (3)将数据#10H送入累加器A中,覆盖掉原先的数据#55H。#10H才是累加器A最终要寻址的数据。; 该寻址方式可以访问程序存储器中的数据表格,它以程序指针PC或数据指针DPTR作为基址寄存器,累加器A作为变址寄存器,二者相加得到操作数的地址

文档评论(0)

一帆风顺 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档