- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用-3B
单片机原理与应用第三章 MCS-51指令系统 数据传送, -A 数据传送指令 28条 目的操作数:A 数据传送, -Rn 以寄存器Rn为目的操作数的指令 数据传送, -direct 以直接地址为目的操作数的指令 数据传送, -@Ri 以间接地址为目的操作数的指令 片内存储器传送操作总图 片内存储器传送操作 数据传送, 查表 16位数据传送指令 数据传送, 查表-A 查表指令 数据传送, 查表-B 例如,程序存储器中有数据表格 1010H:02H 1011H:04H 1012H:06H 1013H:08H 执行以下程序(存储于1000H开始的单元) MOV A, #0DH ;0DH-A, 查表的偏移量,2字节 MOVC A, @A+PC ;(0DH+1003H) - A,1字节 MOV R0, A ;(A) - R0, 1字节 结果 (A)=02H,(R0)=02H,PC = 1004H 指令执行过程 CPU读取单字节指令MOVC A,@A+PC后,PC=PC+1 新的PC的内容与A的内容相加 以结果为地址,取出该地址内容放到A中 该查表指令可以操作256Byte内的数据 数据传送, 查表-C MOVC A,@A+DPTR 该指令与MOVC A,@A+PC的区别是在DPTR可以设置在程序存储区的任意地方 例如: 程序存储区中的7010H中的数据表格: 02H,04H,06H,08H 执行以下程序:MOV A, #10HPUSH DPH ;保护DPTR内容PUSH DPLMOV DPTR, #7000H ;设置DPTRMOVC A, @A+DPTR ;查表取数POP DPLPOP DPH 结果 (A) = 02H, (PC) = 100EH, (DPTR) = 7000H, 不变 数据传送, A-片外RAM-A 累加器A与片外RAM之间传送 数据传送, A-片外RAM-B 与DPTR有关的两条指令采用DPTR作指针,可以寻址片外RAM中64K字节范围内的数据 MCS-51的I/O端口与片外RAM统一编制地址,因此I/O端口的访问也采用DPTR间接寻址 与@Ri有关的两条指令采用R0, R1作指针,可以寻址片外RAM 256字节范围内的数据 采用Ri作指针时,片外RAM的地址由P0送出,P2口仍然可以做I/O口 数据传送, 栈操作 MCS-51可以在内部RAM中设置堆栈,堆栈顶用SP作指针,复位后SP=07H 数据传送, 交换 算术运算指令,加法 加法类指令 指令 ADD A, Rn ;(A) + (Rn) - A ADD A, direct ;(A) + (direct) - A ADD A, @Ri ;(A) + ((Ri)) - A ADD A, #data ;(A) + #data - A 对标志的影响 AC,CY,OV,P;OV只有在带符号数运算时才有意义 例如: 设(A)= 0C3H,(R0)= 0AAH 执行指令 ADD A, R0 所得和为6DH (A) 1100 0011 + (R0) 1010 1010 --------------------------------------------- 1 0110 1101 标志位:CY = 1,AC = 0,OV = 1,P = 1 OV = C7 异或 C6) 算术运算指令,带进位加法-A 带进位加法指令 指令 ADDC A, Rn ;(A) + CY + (Rn) - A ADDC A, direct ; (A) + CY + (direct) - A ADDC A, @Ri ; (A) + CY + ((Ri)) - A ADDC A, #data ; (A) + CY + #data - A 对标志的影响 AC,CY,OV,P 算术运算指令,带进位加法-B 例如: R4R5,R6R7存放两个双字节数,将两个数字相加,存放到R2R3单元中。假定R4R5=#1234H,R6R7 = #45DFH Mov A, R5 ADD A, R7 MOV R3, A MOV A, R4 ADDC A, R6 ;注意,此处将低字节的进位考虑进去了 MOV R2, A 运算结果:R2R3 = 5813H, AC=0,CY=0,OV=0,P=1 算术运算指令,带进位减法-A 带进位减法指令 指令 SUBB A, Rn ;(A) – Cy - (Rn) - A SUBB A
文档评论(0)