- 1、本文档共97页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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作为变址寄存器,二者相加得到操作数的地址
您可能关注的文档
- 《二手车鉴定与评估(第2版)》(高加泉)教学课件 绪论 二手车鉴定与评估(第2版)课件.pptx
- 《Word 2016文档处理案例教程》教学课件 项目六 文档的图文混排.pptx
- 《Word 2016文档处理案例教程》教学课件 项目十 Word综合应用制作投标文件.pptx
- 《Word 2016文档处理案例教程》教学课件 项目八 编排长文档.pptx
- 《Word 2016文档处理案例教程》教学课件 项目五 在文档中应用表格.pptx
- 《Word 2016文档处理案例教程》教学课件 项目三 设置文档格式.pptx
- 《国际结算实验教程》第一章.pptx
- 《国学易知》教学课件 国学易知 5.pptx
- 《单片机应用技术一体化教程》课件 任务四完整版.pptx
- 《单片机应用技术一体化教程》课件 任务五完整版.pptx
文档评论(0)