单片机课件第三章单片机的指令系统

上传人:E**** 文档编号:90660976 上传时间:2019-06-14 格式:PPT 页数:47 大小:1.62MB
返回 下载 相关 举报
单片机课件第三章单片机的指令系统_第1页
第1页 / 共47页
单片机课件第三章单片机的指令系统_第2页
第2页 / 共47页
单片机课件第三章单片机的指令系统_第3页
第3页 / 共47页
单片机课件第三章单片机的指令系统_第4页
第4页 / 共47页
单片机课件第三章单片机的指令系统_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《单片机课件第三章单片机的指令系统》由会员分享,可在线阅读,更多相关《单片机课件第三章单片机的指令系统(47页珍藏版)》请在金锄头文库上搜索。

1、3 MCS-51单片机指令系统,3.1 MCS-51单片机指令格式和寻址方式,3.1.1 指令系统概述,3.1.2 MCS-51单片机指令格式,3.1.3 MCS-51单片机寻址方式,操作码:规定指令进行什么操作。,操作数:规定指令操作的对象。,寻址方式:指定操作数所在单元的方式。(共七种),3。寄存器寻址方式,MOV A,R0,2。直接寻址方式,MOV A,3AH,4。寄存器间接寻址方式,MOV A,R0,1。立即寻址方式,MOV A,#3AH,MOV DPTR,#123AH,MOV A,R1,3.1.3 MCS-51单片机寻址方式,3.1 MCS-51单片机指令格式和寻址方式,5。变址寻址

2、方式,MOVC A,A+DPTR,MOVC A,A+PC,JMP A,A+DPTR,6。位寻址方式,MOV C,3AH,MOV C,0F0H,MOV C,PSW.5,7。相对寻址方式,目的地址=转移指令地址+转移指令字节书+rel,用于转移指令,3 MCS-51单片机指令系统,3.1 MCS-51单片机指令格式和寻址方式,3.2 MCS-51单片机指令分类介绍,数据传送类指令(29条),算术运算类指令(24条),逻辑运算及移位类指令(24条),控制转移类指令(17条),位操作类指令(17条),3.2 MCS-51单片机指令分类介绍,3.2.1 指令格式中符号意义说明,direct:8位直接地址

3、。,#data :8位立即数。,#data16:16位立即数。,DPTR:数据指针。,bit:内部RAM中的直接寻址位。,:间址寄存器的前缀标志。,/:位地址前表示对该位取反。,Rn:通用寄存器R0-R7。,Ri:间接寻址寄存器R0、R1。,3.2 MCS-51单片机指令分类介绍,3.2.1 指令格式中符号意义说明,3.2.2 数据传送类指令,1. 概述,MOV 目的操作数,源操作数,目的操作数,:累加器A、通用寄存器Rn、直接地址direct、 间址寄存器,源操作数,:累加器A、通用寄存器Rn、直接地址direct、 间址寄存器、立即数,3.2 MCS-51单片机指令分类介绍,3.2.2 数

4、据传送类指令,1. 概述,2. 内部RAM数据传送指令组,(1) 立即数传送指令,MOV A,#data,MOV direct,#data,MOV Rn,#data,MOV Ri,#data,8位立即数传送指令,MOV DPTR,#data16,16位立即数传送指令,例:MOV DPTR,#1234H,DPH: 12H,DPL: 34H,3.2 MCS-51单片机指令分类介绍,3.2.2 数据传送类指令,2. 内部RAM数据传送指令组,(1) 立即数传送指令,(2) 内部RAM单元之间的数据传送指令,MOV direct2,direct1,MOV direct,Rn,MOV Rn , dire

5、ct,MOV direct,Ri,MOV Ri , direct,例:MOV P2,R2,MOV 0A0h,R2,MOV 0D0h,R1,MOV R5,70h,MOV 0D0h,R1,MOV 0D0h,R1,MOV 0D0h,R1,3.2 MCS-51单片机指令分类介绍,3.2.2 数据传送类指令,2. 内部RAM数据传送指令组,(1) 立即数传送指令,(2) 内部RAM单元之间的数据传送指令,(3) 通过累加器的数据传送指令,MOV A,Rn,MOV Rn ,A,MOV A,direct,MOV direct, A,MOV A,Ri,MOV Ri , A,3.2.2 数据传送类指令,2. 内

6、部RAM数据传送指令组,3. 外部RAM数据传送指令组,对外部RAM单元只能使用间接寻址,(1) 使用DPTR进行间接寻址,MOVX A,DPTR,MOVX DPTR , A,(2) 使用Ri进行间接寻址,MOVX A,Ri,MOVX Ri ,A,4. 程序存储器数据传送指令组,MOVC A,A+DPTR,MOVC A,A+PC,单向,变址寻址,3.2.2 数据传送类指令,5. 数据交换指令组,(1) 整字节交换指令,XCH A,Rn,XCH A,direct,XCH A,Ri,(2) 半字节交换指令,XCHD A,Ri,低四位数据交换,(3) 累加器高低半字节交换指令,SWAP A,6. 堆

7、栈操作指令组,PUSH direct,POP direct,SP:(SP)+1,(SP):(direct),direct :(SP),SP:(SP)-1,说明:,只有指令表中的指令才有对应指令代码,计算机才能执行。编程时,不能随意创造发明指令。,1. 一条指令中不能同时出现两个工作寄存器:,2. 间址寄存器只能使用 R0、R1。,3. SFR区只能直接寻址,不能用寄存器间接寻址。,4. 指令表:,非法指令:MOV R0,#80H MOV A,R0,非法指令:MOV A,R2,非法指令: MOV R1,R2 MOV R2,R0,将片内RAM60H单元与61H单元的数据交换。,XCH 60H,61

8、H,查表法求Y=X2。设X(0X15)在片内RAM的20H单元中,要求将查表求Y,存入片内RAM21H单元。,ORG 1000H SQU: MOV DPTR,#TAB ;确定表首地址(基地址) MOV A,20H ;取X(偏移量) MOVC A,A+DPTR ;查表求Y=X2 MOV 21H,A ;保存Y RET ;子程序结束 ;其它程序段 ORG 3000H ;常数表格首地址 TAB: DB 00,01,04,09,225 ;平方表,3.2 MCS-51单片机指令分类介绍,3.2.1 指令格式中符号意义说明,3.2.2 数据传送类指令,3.2.3 算术运算类指令,1. 加法指令组(不带进位)

9、,ADD A,源操作数,ADD A,#data,ADD A,Rn,ADD A,direct,ADD A,Ri,ADD A,R2,A=? PSW=?,02H,0,0,0,0,0,1,0,1,81H,3.2 MCS-51单片机指令分类介绍,3.2.3 算术运算类指令,1. 加法指令组(不带进位),2. 加法指令组(带进位),ADDC A,源操作数,ADDC A,#data,ADDC A,Rn,ADDC A,direct,ADDC A,Ri,3. 带借位减法指令组,SUBB A,源操作数,SUBB A,#data,SUBB A,Rn,SUBB A,direct,SUBB A,Ri,3.2.3 算术运

10、算类指令,4. 加1指令组,INC A,INC Rn,INC direct,INC Ri,INC DPTR,不影响程序状态字PSW,5. 减1指令组,DEC A,DEC Rn,DEC direct,DEC Ri,3.2.3 算术运算类指令,6. 乘除指令组,(1) 乘法指令,MUL AB,0,0,0:结果255,奇偶位,MOV A,0FH MOV B,0FH MUL AB,A=? PSW=?,0E1H,00H,3.2.3 算术运算类指令,6. 乘除指令组,(1) 乘法指令,(2) 除法指令,DIV AB,0,0,1:除数为0(B=0) 0:其它,奇偶位,A商;B 余数,3.2.3 算术运算类指

11、令,1. 加法指令组(不带进位),2. 加法指令组(带进位),3. 带借位减法指令组,4. 加1指令组,5. 减1指令组,6. 乘除指令组,7. 十进制调整指令,DA A,十进制调整指令原理:,略,MOV A,#56H MOV R5,#67H ADD A,R5 DA,带进位加法指令ADDC用于多字节运算,设双字节数 X 存在片内RAM 41H、40H单元,Y存在42H、43H单元,编程求 Z=X+Y,并存入片内RAM单元44H、45H、46H。,ADDS:MOV A,40H ADD A,42H MOV 44H,A MOV A,41H ADDC A,43H MOV 45H,A MOV A,#0

12、ADDC A,#0 MOV 46H,A RET,;取被加数低字节 ;加上加数低字节 ;保存和的低字节 ;取被加数高字节 ;加上加数高字节 ;保存和的高字节 ;求高字节进位 ;子程序结束,;低字节相加 ;高字节相加 ;计算高字节进位 ;子程序结束,3.2 MCS-51单片机指令分类介绍,3.2.1 指令格式中符号意义说明,3.2.2 数据传送类指令,3.2.3 算术运算类指令,3.2.4 逻辑运算及移位类指令,逻辑运算:ANL(与)、ORL(或)、XRL(异或),1. 逻辑与运算指令组,ANL A,Rn,ANL A,direct,ANL A,Ri,ANL A,#data,ANL direct,A

13、,ANL direct,#data,MOV C,P1.0 ANL C,P1.1 ANL C,/P1.2 MOV P3.0,C,3.2.4 逻辑运算及移位类指令,逻辑运算:ANL(与)、ORL(或)、XRL(异或),1. 逻辑与运算指令组,2. 逻辑或运算指令组,ORL A,Rn,ORL A,direct,ORL A,Ri,ORL A,#data,ORL direct,A,ORL direct,#data,3.2.4 逻辑运算及移位类指令,逻辑运算:ANL(与)、ORL(或)、XRL(异或),1. 逻辑与运算指令组,2. 逻辑或运算指令组,XRL A,Rn,XRL A,direct,XRL A,

14、Ri,XRL A,#data,XRL direct,A,XRL direct,#data,3. 逻辑异或运算指令组,3.2.4 逻辑运算及移位类指令,逻辑运算:ANL(与)、ORL(或)、XRL(异或),4. 累加器清“0”和取反指令组,(1)累加器清“0”指令,(2)累加器取反指令,A7 A0,3.2.4 逻辑运算及移位类指令,逻辑运算:ANL(与)、ORL(或)、XRL(异或),4. 累加器清“0”和取反指令组(CLR、CPL),5. 移位指令组( 累加器A ),(1)循环左移指令,RL A ;,(2)循环右移指令,RR A ;,A7 A0,3.2.4 逻辑运算及移位类指令,逻辑运算:AN

15、L(与)、ORL(或)、XRL(异或),4. 累加器清“0”和取反指令组(CLR、CPL),5. 移位指令组( 累加器A ),(1)循环左移指令,RL A ;,(2)循环右移指令,RR A ;,(3)带进位循环左移指令,RLC A ;,A7 A0,CY,(4)带进位循环右移指令,RRC A ;,A7 A0,CY,3.2 MCS-51单片机指令分类介绍,3.2.5 控制转移类指令,1. 无条件转移指令组,(1)长转移指令,指令机器码: 02 nnH nnL,指令转移范围:64KB,(2)绝对转移指令,AJMP addr11 ;,指令机器码:A10A9A8 00001 A70,指令转移范围:2KB,推 荐 使 用,3.2 MCS-51单片机指令分类介绍,3.2.5 控制转移类指令,1. 无条件转移指令组,(3)短转移指令,指令机器码: 80H rel,相对偏移量 rel为8位补码,rel= 目的地址-(源地址+2)= 地址差-2,增地址转移:,指令地址 源程序 2130H SJMP 2132H 2150H NEXT:MOV A,R2,1EH,NEXT,指令转移范围:前128

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号