第3章--51单片机指令系统及汇编程序设计

上传人:ji****72 文档编号:48493697 上传时间:2018-07-16 格式:PPTX 页数:60 大小:271.46KB
返回 下载 相关 举报
第3章--51单片机指令系统及汇编程序设计_第1页
第1页 / 共60页
第3章--51单片机指令系统及汇编程序设计_第2页
第2页 / 共60页
第3章--51单片机指令系统及汇编程序设计_第3页
第3页 / 共60页
第3章--51单片机指令系统及汇编程序设计_第4页
第4页 / 共60页
第3章--51单片机指令系统及汇编程序设计_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《第3章--51单片机指令系统及汇编程序设计》由会员分享,可在线阅读,更多相关《第3章--51单片机指令系统及汇编程序设计(60页珍藏版)》请在金锄头文库上搜索。

1、单片机技术及应用基于 汇编及C51程序设计第3章 51单片机指令系统及汇编程序设计第3章 51单片机指令系统及汇编程序设计 主 要 章 节 3.1 指令系统概述 3.2 51单片机的寻址方式 3.3 51单片机的指令系统 3.4 51单片机汇编程序设计概述 3.5 51单片机常用汇编程序设计2017/7/921第3章 51单片机指令系统及汇编程序设计 3.1 指令系统概述一、51单片机汇编指令格式 标号: 操作码 操作数1,操作数2 ;注释 (1) 操作码指明指令的功能 (2) 操作数给指令操作提供数据、数据的地 址或指令的地址 (3) 标号是指令的符号地址,后面需带冒号 (4) 注释是对指令

2、的解释,前面需带分号2017/7/931第3章 51单片机指令系统及汇编程序设计 3.1 指令系统概述二、51单片机汇编指令常用符号 (1) Ri和Rn (2)#data (3) #data16(4)rel (5) addr16和addr11(6)direct (7) bit(8)(X) (9) / 和符号2017/7/941第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式一、立即寻址 操作数是常数,直接在指令中给出 常数以“#”符号作前缀 例如:MOV A,#30H2017/7/951第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式二、寄存器寻址

3、操作数存放在寄存器中 指令中直接给出寄存器名称 寄存器:八个通用寄存器R0R7、累加器A 、寄存器B和数据指针寄存器DPTR(DPH和 DPL) 例如:MOV A,R12017/7/961第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式三、直接寻址 操作数存放在存储单元中 指令中直接提供存储单元的地址 访问对象:片内数据存储器和特殊功能寄 存器。 例如:MOV A,30H2017/7/971第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式四、寄存器间接寻址 操作数存放在存储单元中,存储单元的地址又存放在寄存 器中 指令中通过相应的寄存器来提供的存储单

4、元的地址 间接寻址用到的寄存器:通用寄存器R0、R1和数据指针寄 存器DPTR。 访问的对象为:片内数据存储器和片外数据存储器 片内数据存储器:用R0和R1作指针 (MOV) 片内数据存储器:用R0和R1访问低端的256字节; (MOVX)用DPTR访问整个64K;2017/7/981第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式 访问形式:寄存器名 例如: 1)MOV R1,#30H MOV A,R1 2)MOV DPTR,#2000H MOV A,DPTR2017/7/991第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式五、变址寻址 操作数存

5、放在存储单元中 操作数的地址由指令中提供的基址寄存器和变址寄存器中 的内容相加得到 基址寄存器是:数据指针寄存器DPTR和程序计数器PC; 变址寄存器:累加器A 访问的对象只能是程序存储器(MOVC) 格式只有两种: MOVC A, A+DPTR MOVC A, A+PC2017/7/9101第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式六、指令寻址操作对象是地址 1. 绝对寻址直接提供目的位置的地址或地址的一部分 2. 相对寻址 以当前程序计数器PC值加上指令中给出的偏移量rel得到目的位置的地址 (1) 当前PC值是指转移指令执行时的PC值,它等于转移指令的地址加上

6、转移指 令的字节数。 (2) 偏移量rel是8位有符号数,以补码表示,它的取值范围为-128+127。相对寻址的目的地址为: 目的地址=当前PC+rel=转移指令的地址+转移指令的字节数+rel2017/7/9111第3章 51单片机指令系统及汇编程序设计 3.2 51单片机的寻址方式七、位寻址 位处理操作位的寻址方式 位地址的表示: (1)直接位地址(00H0FFH)。例如:20H。 (2)字节地址带位号。例如:20H.2表示20H单 元的2位。 (3)特殊功能寄存器名带位号。例如:P0.1表 示P0口的1位。 (4)位符号地址。例如:TR0是定时/计数器T0 的启动位。2017/7/912

7、1第3章 51单片机指令系统及汇编程序设计 3.3 51单片机的指令系统 3.3.1 数据传送类指令三组:普通传送指令、数据交换指令、堆 栈操作指令。用到的助记符有:MOV、 MOVX、MOVC、XCH、XCHD、PUSH、POP 和SWAP。 1. 普通数据传送指令1)片内数据存储器传送指令MOV指令格式:MOV 目的操作数,源操作数2017/7/9131第3章 51单片机指令系统及汇编程序设计 1. 普通数据传送指令1)片内数据存储器传送指令MOV2017/7/9141ARnRidirectARnRidirectDPTR#data16总共16条 注意:l MOV A,A指令 没有意义 l源

8、操作数和目的 操作数中的Rn和 Ri不能相互配对第3章 51单片机指令系统及汇编程序设计 1. 普通数据传送指令2) 片外数据存储器传送指令MOVX四条,格式: MOVX A,DPTR;A (DPTR) MOVX DPTR,A;(DPTR) A MOVX A,Ri;A (Ri) MOVX Ri,A;(Ri) A2017/7/9151第3章 51单片机指令系统及汇编程序设计 1. 普通数据传送指令3) 程序存储器传送指令MOVC 两条:一条是用DPTR基址变址寻址,一条 是用PC基址变址寻址。 格式如下: MOVC A, A+DPTR ;A (A+DPTR) MOVC A, A+PC ;A (A

9、+PC)2017/7/9161第3章 51单片机指令系统及汇编程序设计 2. 数据交换指令 有3个助记符XCH、XCHD和SWAP,5条指令 , 格式如下: XCH A,Rn ;A Rn XCH A ,direct;A(direct) XCH A, Ri;A(Ri) XCHD A, Ri;A03(Ri)03 SWAP A ;A03A472017/7/9171第3章 51单片机指令系统及汇编程序设计 3. 堆栈操作指令 堆栈操作有两种:“入栈”,助记符PUSH;“出栈”, 助记符POP; 格式如下:PUSH direct ;SPSP+1, (SP) (direct)POP direct ;(di

10、rect)(SP), SP SP- 12017/7/9181第3章 51单片机指令系统及汇编程序设计 3.3.2 算术运算类指令1. 加法指令 1)一般的加法指令ADD四条,格式如下: ADD A,Rn;A A + Rn ADD A,direct;A A +(direct) ADD A,Ri;A A +(Ri) ADD A,#data;A A + #data2017/7/9191第3章 51单片机指令系统及汇编程序设计 1. 加法指令2) 带进位加法指令ADDC四条,格式如下: ADDC A,Rn;A A + Rn + C ADDC A,direct;A A +(direct)+ C ADDC

11、 A,Ri;A A +(Ri)+ C ADDC A,#data;A A + #data + C2017/7/9201第3章 51单片机指令系统及汇编程序设计 1. 加法指令3) 加1指令INC 5条,格式如下: INC A;A A + 1 INC Rn;Rn Rn + 1 INC direct;(direct) (direct)+ 1 INC Ri;(Ri)(Ri)+ 1 INC DPTR;DPTR DPTR + 12017/7/9211第3章 51单片机指令系统及汇编程序设计 2. 减法指令1) 带借位减法指令SUBB四条,格式如下: SUBB A,Rn;A A - Rn - C SUBB

12、A,direct;A A -(direct)- C SUBB A,Ri;A A -(Ri)- C SUBB A,#data;A A - #data - C2017/7/9221第3章 51单片机指令系统及汇编程序设计 2. 减法指令2) 减1指令DEC四条,格式如下: DEC A;A A - 1 DEC Rn;Rn Rn - 1 DEC direct;direct (direct)- 1 DEC Ri;(Ri)(Ri)- 12017/7/9231第3章 51单片机指令系统及汇编程序设计 3.3.2 算术运算类指令 乘法指令MUL:(无符号数)MUL AB ;AB B ACY复位。对于OV:当积

13、大于255时,OV为1 ;否则,OV为0 除法指令DIV :(无符号数)DIV AB ;AB 商放A,余数放B一般情况下CY和OV都清0,只有当B寄存器 中的除数为0时,CY和OV才被置12017/7/9241第3章 51单片机指令系统及汇编程序设计 3.3.2 算术运算类指令5) 十进制调整指令十进制调整指令只有一条:DA A调整过程为: (1) 若累加器A的低四位为十六进制的AF或辅 助进位标志AC为1,则累加器A中的内容做加 06H调整。 (2) 若累加器A的高四位为十六进制的AF或进 位标志CY为1,则累加器A中的内容做加60H调 整。2017/7/9251第3章 51单片机指令系统及

14、汇编程序设计 3.3.3 逻辑操作指令1. 逻辑与指令ANL ANL A,Rn ;A A Rn ANL A,direct ; A A (direct) ANL A,Ri ; A A (Ri) ANL A,#data ;A A data ANL direct,A ;(direct) (direct) A ANL direct,#data ;(direct) (direct) data2017/7/9261第3章 51单片机指令系统及汇编程序设计 3.3.3 逻辑操作指令2. 逻辑或指令ORL ORL A,Rn ;A A Rn ORL A,direct ;A A (direct) ORL A,Ri ;A A (Ri) ORL A,#data ;A A data ORL direct,A ;(direct) (direct) A ORL direct,#data ;(direct) (direct) data2017/7/9271第3章 51单片机指令系统及汇编程序设计 3.3.3 逻辑操作指令3. 逻辑异或指令XRL XRL A,Rn ;A A Rn XRL A,direct ;A A (direct) XRL A,Ri ;A A (Ri) XRL A,#data ;A A data XRL direct,

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

当前位置:首页 > 行业资料 > 其它行业文档

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