CS-51单片机指令系统

上传人:woxinch****an2018 文档编号:56899135 上传时间:2018-10-16 格式:PPT 页数:58 大小:915.50KB
返回 下载 相关 举报
CS-51单片机指令系统_第1页
第1页 / 共58页
CS-51单片机指令系统_第2页
第2页 / 共58页
CS-51单片机指令系统_第3页
第3页 / 共58页
CS-51单片机指令系统_第4页
第4页 / 共58页
CS-51单片机指令系统_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《CS-51单片机指令系统》由会员分享,可在线阅读,更多相关《CS-51单片机指令系统(58页珍藏版)》请在金锄头文库上搜索。

1、2018/10/16,1,第3章 MCS-51的指令系统,知识点回顾 学习指令的相关注意事项指令系统概述寻址方式指令系统分类,2018/10/16,2,知识点回顾,简述单片机的基本组成。 MCS-51单片机内部RAM的组成是如何划分的各有什么功能? 主要SFR有哪些? PC的基本作用? MCS-51单片机内部ROM的容量及片外最多可扩展的容量?何作用? 简述并行I/O口的基本功能。 简述单片机的基本工作过程,2018/10/16,3,学习指令的相关注意事项,使用一条指令要注意以下几点:它是一条几字节指令;执行此指令后PC 的变化。它采用哪一种寻址方式;执行该指令对PSW的影响;该指令执行后应注

2、意的问题(如DA A等)不能自己创造指令,2018/10/16,4,实训3 指令的应用,在仿真软件中打开实验程序,编译。 查看每条指令对应的机器码 单步运行程序,查看P1、ACC、R0R7及相关片内RAM单元内容的变化。实训程序,2018/10/16,5,3.1 指令系统概述,单片机指令有两种表示形式:助记符形式和机器码形式单片机指令系统共有33种功能、42种助记符、111条指令。其中含有49条单字节指令、46条双字节指令和16条三字节指令。执行完不同字节数和不同功能的指令,PC的值将发生相应不同的变化。指令系统越丰富,CPU的功能就越强。,2018/10/16,6,例如: MOV A,R0

3、指令代码(即操作码)为1111 1000(F8) 注意:累加器ACC在指令中只写成A,单字节指令,0010 0011 (PC),0101 0101,程序 存储区,1111 1000 (F8),R0,0101 0101,ACC,2018/10/16,7,双字节指令,例如:MOV A,30H ( A(30H) )操作码:1110 0101(E5H)操作数:0011 0000(30H),此处30H实际上是地址。,返回,例如:MOV DPTR,#2010H 操作码:10010000(90H)操作数:00100000(20H) (DPH)00010000(10H) (DPL),这是两个真正的操作数。,三

4、字节指令,2018/10/16,8,MCS-51的指令,MCS-51共111条指令,42种助记符。 寻址方式 数据传送类指令 算术运算类指令 逻辑操作类指令 控制转移类指令 位操作指令 常用伪指令,结束,返回,2018/10/16,9,寻址方式,操作数是指令的一个重要组成部分,它指出了参与操作的数据或者数据的地址。寻址方式是指在指令中表示操作数地址的各种规定。MCS-51共有7种寻址方式。 (图例) 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址,结束,返回,2018/10/16,10,寻址方式图例,深圳有线电视台在什么地方,彩田路168号,电话簿里,彩田路168号

5、,返回,2018/10/16,11,75H,90H,PC:0030H,0031H,0032H,55H,操作码,目标地址,立即数,P1口 寄存器,程序存储区,P1,55H,立即数寻址,在指令中直接给出立即数(常数,用#data表示) 例如: MOV 目标地址,#data(这里data为8位常数)MOV DPTR,#data (这里data为16位常数)实训程序1: MOV P1,#55H,2018/10/16,12,直接寻址,在指令中给出操作数所在的内部RAM区或SFR的地址(用direct表示) 实训程序2: MOV 20H,#0F0HMOV P1,20H,75H,20H,F0H,程序存储区,

6、PC:0033H,0034H,0033H是该指令存放的起始地址。,85H,20H,90H,0035H,0036H,0037H,0038H,MOV 20H,#0F0H,MOV P1,20H,2018/10/16,13,直接寻址图示,片内RAM区,20H,0F0H,P1,0F0H,MOV 20H,#0F0H MOV P1,20H,#0F0H,地址,地址,2018/10/16,14,寄存器寻址,在指令中给出操作数所在的寄存器,包括A、R0R7、B、DPTR 实训程序3:MOV A,#0F0HMOV P1,A,PC:0039H,F0H,指令存放的地址,F0H,F5H,ACC,F0H,P1,74H,90

7、H,2018/10/16,15,寄存器相对寻址,在指令中给出存放操作数的内存单元的地址,用间址寻址寄存器即R0、R1、DPTR表示 实训程序5:MOV 20H,#0AAHMOV R0,#20HMOV P1,R0,PC:003DH,86,90,程序存储区,78,20,20,AA,75,MOV 20H,#0AAH,MOV R0,#20H,MOV P1,R0,2018/10/16,16,寄存器相对寻址图例,20H,内部RAM区,R0,AAH,P1,20H,AAH,在此它是操作数所在存储单元的地址,返回,MOV 20H,#0AAHMOV R0,#20HMOV P1,R0,2018/10/16,17,变

8、址寻址 (基址寄存器+变址寄存器间接寻址),基址寄存器:DPTR、PC。变址寄存器:A。此类寻址主要用于查表操作。 例如:MOVC A,A + DPTR (指令代码为1001 0011),93H,2040H,20E0H,DPH,DPL,ALU,A,47H,47H,E0,20H,00H,程序存储区,2018/10/16,18,相对寻址,例: SJMP 54H,1056,74,1000,80,1001,54,1002,30,1055,BD,ALU,1002,PC,程序存储区,这是两字节指令,代码为 1000 0000(80H) 0101 0100(54H),1000,1001,下一条指令代码,20

9、18/10/16,19,位寻址,返回,例:SETB 3DH 指令代码为D2H、3DH,3D,3C,3B,3F,3E,3A,39,38,27H,1,2018/10/16,20,阶段练习,给出下列指令的操作码,并指出它们属于哪种寻址方式: 1. MOV P1,A 2. CPL A 3. MOV R4, #0F0H 4. MOV P1,20H 5. MOV P1,R0 6. MOVC A,A+DPTR 7. ANL A, #0F0H 8. MOVX A, DPTR 9. JC 03H 10. SETB 3DH 请填入实训3中每条指令的机器码,并指出它们是哪种寻址方式。,2018/10/16,21,寻

10、址比较,MOV P1,R0 地址是寄存器R0 MOV P1,R0 地址在寄存器R0里 MOV P1,20H 地址是内存20H,返回,2018/10/16,22,3.3 指令系统分类,数据传送指令(29条)算术运算指令(24条)逻辑运算指令(24条)控制转移指令(17条)位操作指令(17条)常用伪指令,2018/10/16,23,数据传送类指令,完成传送或者交换操作 一般不影响标志位PSW,以累加器A为目的的指令将影响奇偶标志P 用到的助记符有MOV,MOVC,MOVX,XCH,XCHD,SWAP,PUSH,POP 指令基本格式:操作码 ,,返回,结束,2018/10/16,24,数据传送类指令

11、,是内部RAM、寄存器、外部RAM以及程序存储器之间的数据传送。 将数据从源地址传送到目的地址,源地址内容不变。指令基本格式:MOV , 内部8位数据传送指令 以累加器A为目的地址的传送指令 练习1 以Rn为目的地址的传送指令 以直接地址为目的地址的传送指令 以寄存器间接地址为目的地址的传送指令 练习2 16位数据传送指令 外部数据传送指令 例程演示P46S33.ASM,2018/10/16,25,注意:1. 外部数据只能通过累加器A进行数据传送。2. 累加器A与外部RAM之间只能用间接寻址方 式,间接寻址寄存器为DPTR、R0、R13. 部分指令影响PSW中的P标志。 交换和查表类指令 例程

12、演示P47S34.ASM 全字节交换指令半字节交换指令 例如:XCHD A,Ri 这里假设i = 0,A,源操作数,Rn (direct) (Ri),81,F5,F5,81,A,8 1,F 5,8 5,F 1,寄存器R0,5B,5B,2018/10/16,26,3. 累加器A中高4位和低4位交换SWAP A4. 查表类指令:MOVC A, A+PC MOVC A, A+DPTR 注意:除堆栈操作指令外,其他交换和查表类指令执行后大都影响PSW中的P标志。 5. 堆栈操作指令: 例程演示P48S35.ASM 注意: 堆栈的特点。 堆栈操作必须是字节操作,且只能直接寻址。 堆栈通常用于临时保护数据

13、及子程序调用时保护现场和恢复现场。,1100,0101,1100,0101,2018/10/16,27,片内传送 MOV,在A累加器、工作寄存器R0R7、片内RAM与SFR(direct、Ri)之间传送数据。,A,R0R7,direct,Ri,#data,direct2,#data16,DPTR,2018/10/16,28,片外RAM传送(输入/输出)-MOVX,在片外RAM(外扩I/O口)与A累加器之间传送。仅采用寄存器相对寻址方式。,Ri,DPTR,A,2018/10/16,29,ROM传送(查表)MOVC,读取存放在程序存储器ROM中的数据,通常是表格数据。采用变址寻址方式。 MOVC

14、A,A+DPTR MOVC A,A+PC,ROM,A,2018/10/16,30,查表变址寻址 (基址寄存器DPTR,PC+变址寄存器A,间接寻址),例如: MOV DPTR,#2000HMOV A,#0E0HMOVC A,A + DPTR (指令代码为93H),93H,2040H,20E0H,E0H,DPH,DPL,ALU,A,47H,47H,20H,00H,程序存储区 程序段,程序存储区 表格段,2018/10/16,31,堆栈操作PUSH/POP,入栈:PUSH direct;SP+1 SP,(direct) (SP) 出栈:POP direct;(SP) (direct),SP-1 S

15、P 例: MOV SP,#50H MOV A,#0AAHPUSH ACCMOV ACC,#55HPOP ACC,2018/10/16,32,PUSH/POP图例,堆栈区,00H,7FH,SP 50H,SP 51H,00H,AAH,AAH,ACC,55H,AAH,片内 RAM,SP ,返回,2018/10/16,33,算术运算类指令,算术运算原理类指令主要是对8位无符号数进行算术操作。 算术运算类指令都影响PSW的有关位。 用到的助记符有ADD,ADDC,SUBB,MUL,DIV,INC,DEC,DA。 除INC、DEC指令外,所有加减运算类指令的目的操作数均为A,源操作数可为Rn、direct、#data、Ri 乘除指令使用寄存器A、B,

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

当前位置:首页 > 中学教育 > 高中教育

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