单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt

单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt

ID:50066867

大小:817.50 KB

页数:70页

时间:2020-03-08

单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt_第1页
单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt_第2页
单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt_第3页
单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt_第4页
单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt_第5页
资源描述:

《单片机应用技术 教学课件 作者 谢敏 第3章单片机指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.1指令系统概述3.2数据传送类指令3.3算术运算类指令3.4逻辑运算类指令3.5控制转移类指令3.6位操作类指令3.1指令系统概述3.1.1指令分类3.1.2指令格式3.1.3寻址方式3.1.1指令分类1.概念指令:要求计算机完成某种特定操作的命令。指令系统:一台计算所能执行的全部指令的集合。汇编语言:以助记符表示的指令是计算机的汇编语言。2.指令分类MCS-51单片机共有111条指令。每条指令在程序存储器ROM中占据一定的空间,以字节为单位。按指令所占字节数分类:一字节指令(49条)二字节指令(45条)三字节指令(17条)每条指令在

2、执行时要花去一定的时间,以机器周期为单位。按指令执行时间分类:单机器周期指令(64条)双机器周期指令(45条)四机器周期指令(2条)按指令的功能分类,可分为5大类:数据传送类(29条)算术运算类(24条)逻辑运算及移位类(24条)控制转移类(17条)位(布尔变量)操作类(17条)3.1.2指令格式[标号:]操作码[目的操作数][,源操作数][;注释]START:MOVA,#30H;将立即数30H传送至A中MOVDPTR,#5678H;将立即数5678H传送至DPTR其中:方括符[]表示可选项。标号:称符号地址,代表该指令第1字节所在的地址

3、。以字母开始的1~8个字母或数字串组成,“:”结尾。操作码:规定了指令将要干什么,必不可少。操作数:表示参与运算的数或数的地址,可以是三个、二个或一个。注释:必须以“;”开始。3.1.3寻址方式(*)寻址方式:如何找到存放操作数的地址,把操作数提取出来的方法。共7种方式。1.立即寻址操作数在指令中直接给出,在立即数前加“#”标志,与地址单元相区别。例如:MOVA,#30H;8位立即数MOVDPTR,#1234H;MCS-51指令系统唯一一条16位立即寻址指令2.直接寻址操作数直接以单元地址的形式给出。例如:MOVA,30HMOV30H,D

4、PH寻址范围:(1)内部数据存储器的低128字节,00H~7FH。(2)特殊功能寄存器。3.寄存器寻址操作数存放在寄存器中。例:MOVA,R0寻址范围:(1)内部RAM中的32个工作寄存器R0~R7(2)A、B、C、DPTR4.寄存器间接寻址指令中寄存器的内容为操作数的地址,而不是操作数本身。例如:MOVA,@R0;A((R0))MOVA,@R1;A((R1))MOVXA,@DPTR;A((DPTR))是把DPTR寄存器所指的那个外部数据存储器(RAM)的内容传送给A。注意:(1)能用于寄存器间接寻址的寄存器有R0,R1(形式为@R

5、i,i=0或1),DPTR(形式为@DPTR)以及SP。SP仅用于堆栈操作。(2)“间接”表示某寄存器中的“内容”只是一个“单元地址”,这个地址单元中存放的数据才是要找的“操作数”。(3)寻址空间为内部RAM低128单元和外部RAM低256单元(间址寄存器为R0,R1)、外部RAM64KB(间址寄存器为DPTR)。图3.1寄存器间接寻址方式示意图5.变址寻址以基址寄存器(PC、DPTR)和变址寄存器(A)的内容作为无符号数相加,形成16位地址,访问程序存储器中的数据表格。变址寻址的指令只有3条:MOVCA,@A+PC;A←((A)+(PC

6、))MOVCA,@A+DPTR;A←((A)+(DPTR))JMP@A+DPTR;PC←((A)+(DPTR))MOVCA,@A+DPTR;A←((A)+(DPTR))图3.2变址寻址示意图6.相对寻址相对寻址以程序计数器PC的当前值作为基地址,与指令中给出的相对偏移量rel进行相加,把所得之和作为程序的转移地址。相对寻址用于修改PC值,主要用于实现程序的分支转移。例如:SJMPrel操作:跳转到的目的地址=当前16位PC值+rel注意:1)“当前PC值”指程序中下一条指令所在的首地址,是一个16位数;2)符号“rel”表示“偏移量”,是

7、一个带符号的单字节数,范围是:-128—+127(80H—7FH)3)在实际编程中,“rel”通常用标号代替程序存储器(2000H)200AHSJMP200AH08H2000H+208HPC2000H图3.3相对寻址示意图在实际编程中,“rel”通常用标号代替,如:SJMPLOOP1例:2000H:SJMP08H原PC值为2000H;执行这条指令后的当前PC值为2002H,rel为08H。2002H+08H=200AH,转移目的地址为200AH,程序就跳转至200AH去执行了。位寻址只能对有位地址的单元作位寻址操作。位寻址其实是一种直接寻

8、址方式,不过其地址是位地址。例如:SETB10H;将10H位置1MOV32H,C;32H←进位位CORLC,32H;C←C∨32HMCS-51单片机中设有独立的位处理器。位操作指令能对内部RA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。