计算机基础课件 第3章单片机指令系统

上传人:woxinch****an2018 文档编号:56902595 上传时间:2018-10-17 格式:PPT 页数:188 大小:6.74MB
返回 下载 相关 举报
计算机基础课件  第3章单片机指令系统_第1页
第1页 / 共188页
计算机基础课件  第3章单片机指令系统_第2页
第2页 / 共188页
计算机基础课件  第3章单片机指令系统_第3页
第3页 / 共188页
计算机基础课件  第3章单片机指令系统_第4页
第4页 / 共188页
计算机基础课件  第3章单片机指令系统_第5页
第5页 / 共188页
点击查看更多>>
资源描述

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

1、,第 3 章 单片机指令系统,教学目标 3.1 MCS-51单片机指令系统概述 3.2 寻址方式 3.3 数据传送类指令 3.4 算术与逻辑运算指令 3.5 控制转移类指令与位操作类指令 本章小结 思考题与习题,教学目标,1. 理解MCS-51指令的基本格式和各组成部分的功能。2. 了解MCS-51指令分类情况。3. 熟悉和理解指令系统中常用符号的书写形式及含义。4. 理解MCS-51的7种寻址方式的形式、寻址 范围和特点。5. 熟悉和掌握MCS-51的111条指令的形式、功能和简单应用。,1、指令:,2 、指令系统:,一种确定的CPU,它可以执行什么操作/可执行多少种操作,完全由CPU 设计

2、师确定,用户只能了解、应用这些操作以完成自己的工作。,规定CPU执行何种操作的命令,由二进码组成,称为机器码。指令由操作码和操作数两部分组成。,规定CPU执行操作的全部命令的集合。,3 、程序:,指令按照要求有序排列。,3.1 MCS-51单片机指令系统概述,3.1.1 指令、指令系统的概念,7407 H; 240A H;,编程举例:设计实现Y=7+10,指令=操作码操作数,MOV A,#07H; ADD A,#0AH ;,用助记符号写出的二进制代码(机器语言),称为CPU的汇编语言。汇编语言与二进码指令一一对应。,0111010000000111B;0010010000001010B;,vo

3、id jiafa(void)unsigned char i;i=7+10;,3.1.2 符号指令的格式,一般格式:标号: 操作助记符 目的操作数,源操作数;注释,每条指令通常由操作码和操作数两部分组成 操作码表示计算机执行该指令将进行何种操作 操作数表示参加操作的数的本身或操作数所在的地址 带方括号【】部分不是每条指令都必须有的,例: MAIN:MOV A,32H ;将数32H送到ACC中,指令=操作码操作数,3.1.2 符号指令的格式,注:在两个操作数的指令中,通常目的操作数写在左边,源操作数写在右边。,操作数个数,无操作数,单操作数,两操作数,三操作数,一般格式:标号: 操作助记符 目的操

4、作数,源操作数;注释,指令一般有功能、时间和空间三种属性: 功能属性: 时间属性: 空间属性:,是指每条指令都对应一个特定的操作功能;,是指一条指令执行所用的时间,一般用机器周期来表示;,是指一条指令在程序存储器中存储所占用的字节数。,8,3.1.3 指令的字节数,指令长度:1字节(49),2字节(46),3字节(16)。,MOV A,Rn,1. 一字节指令:,9,2. 二字节指令:,第一字节:操作码 第二字节:操作数 MOV A,#data,10,3. 三字节指令:,第一字节:操作码 第二、三字节:操作数(数据、地址) MOV direct,#data,11,指令字节数总结,1、操作码占一个

5、或者不到一个字节。,2、一个操作数占一个或者两个字节。,3、一个地址占一个或者两个字节,或者一个半。,4、A、B、DPTR、Rn、C不单独占一个字节,隐藏在操作码中。,12,13,3.1.4 指令的分类,MCS-51单片机指令系统具有功能强、指令短、执行快等特点,共有111条指令。,数据传送(29条) 算术操作(24条) 逻辑操作(4条) 程序转移(17条) 位操作(17条),功能 属性,单字节指令(49条) 双字节指令(46条) 三字节指令(16条),空间 属性,单机器周期指令(64条) 双机器周期指令(45条) 4个机器周期的指令(2条) (乘法、除法),时间 属性,3.1.5 符号指令及

6、其注释中常用的符号,(1) Ri和Rn:(2) #data:(3) #data16:(4) rel:(5) addr16和addr11:,表示当前工作寄存器区中的工作寄存器。 i取0或1,表示R0或R1。n取07,表示R0R7。,表示包含在指令中的8位立即数。,表示包含在指令中的16位立即数。,以补码形式表示的8位相对偏移量,范围为 128 127,主要用在相对寻址的指令中。,分别表示16位直接地址和11位直接地址。,3.1.5 符号指令及其注释中常用的符号,(6) direct:(7) bit:(8) (X):(9) (X):(10) / :(11) :,表示直接寻址的8位直接地址。,表示可

7、位寻址的直接位地址。,表示X单元中的内容。,表示以X单元的内容为地址的存储器单元内容, 即(X)作地址,该地址单元的内容用(X)表示。,“/”表示对该位操作数取反。,“”表示操作流程,将箭尾一方的内容送入箭头所指另一方的单元中去。,3.2 MCS-51的寻址方式,1. 寻址方式,共有7种,即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、 变址寻址、 相对寻址和位寻址,如表3.1所示。,2. 寻址方式的种类,寻找操作数的方法定义为指令寻址方式。,若不特别声明,我们后面提到的寻址方式均指源操作数的寻址方式。,表3.1 寻址方式及对应的存储器空间,1. 操作数在寄存器中,指令中直接给出该寄存器名

8、称。具有较高的传送和运算速度。,3.2.1 寄存器寻址,例3.1 MOV A,R0 ; A (R0),2. 寻址空间,R0R7,A,B,DPTR,例3.2 MOV A,R0 ;设(R0)=30H,PSW=00H,求程序执行后A、R0内容。,00H,7FH,30H,30H,80H,FFH,A,E8H,FFFFH,MOV A,R0,0000H,ROM,SFR,RAM,结果:(A)=30H,P C,(R0)=30H,20,采用寄存器寻址的指令如下:MOV P1,A ;将累加器A的内容送到P1口MOV P1,R4 ;将寄存器R4的内容送到P1口CLR A ;将累加器A清0CPL A ;将累加器A中的内

9、容取反RL A ;将累加器A的内容循环左移,1. 操作数放在地址指示的存储单元中,操作码后的字节是操作数的直接地址。,3.2.2 直接寻址,2. 寻址空间,片内RAM低 128字节,SFR(常采用符号形式),如:MOV A,50H,如:MOV A,SP,MOV A,81H,例3.3 MOV A,60H ;设(60H)=2EH,求程序执行后A、 60H内容。,60H,7FH,2EH,2EH,80H,FFH,A,FFFFH,MOV A,60H,0000H,ROM,SFR,RAM,结果:(A)= 2EH,00H,23,注意: 1、若直接寻址的地址是SFR中的某一个时,可用其物理地址,也可用名称符号M

10、OV A,SP ;使用堆栈指针的名称符号MOV A,81H;使用堆栈指针的物理地址,24,注意: 2、累加器有A、ACC和E0H三种表示形式,寻址方式不一样,但功能相同INC A ;寄存器寻址 INC ACC ;直接寻址INC 0E0H ;直接寻址,25,注意: 3、字节地址和位地址的区别 MOV A,20H;20H字节地址内容送给A SETB 20H ;20H位置1 MOV C,20H;20H位地址内容送给C,1.操作数在以寄存器中内容为地址的单元中,指令中寄存器前面必须加上符号“” 。,3.2.3 寄存器间接寻址,2.寻址空间,片内RAM低128字节,片外RAM,3.间址寄存器,R0或R1

11、,DPTR,MOV,MOVX,例3.4 MOV A, R0 ;设(R0)=50H, (50H)= 6EH,E6H,FFFFH,MOV A, R0,0000H,ROM,结果:(A)=6EH,50H,7FH,6EH,6EH,80H,FFH,A,SFR,RAM,50H,R0,A (R0),28,寄存器间址指令可以拓宽寻址范围。 Ri用于片内片外256B的RAM寻址。 DPTR可以覆盖片外64KB的ROM/RAM. 寄存器间址指令不能用于寻址特殊功能寄存器SFR,SFR只能用寄存器寻址或者直接寻址.MOV R0,#81H;SP的物理地址MOV A,R0 ;SFR只能直接寻址、寄存器寻址!,注意:,1、

12、操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器中,可以立即得到并执行,不需要经过别的途径去寻找, 故称为立即寻址。 2、汇编指令中,在一个数的前面冠以“#“符号作前缀,就表示该数为立即寻址。,3.2.4 立即寻址,3、寻址空间:ROM,例3.5 MOV A, #07H ;,7FH,07H,80H,FFH,A,FFFFH,MOV A,#07H,0000H,ROM,SFR,RAM,结果:(A)=0 7H,00H,31,采用立即数寻址的指令如下:MOV P1,#55H ;将立即数55H送P1口MOV 20H,#55H ;将立即数55H送20H 单元MOV A

13、,#0F0H ;将立即数0F0H送累加器AMOV R4,#0FH ;将立即数0FH送寄存器R4中MOV R0,#20H ;将立即数20H送寄存器R0口,以一个基地址加上一个偏移量地址形成操作数地址。,3.2.5 变址寻址,3. 寻址空间:ROM,基址寄存器:,DPTR,PC,偏移量寄存器:A,2. 操作数地址:,33,将基址寄存器与偏移量寄存器的内容相加,结果作为操作数在ROM中的地址。DPTR或PC是基址寄存器,累加器A是偏移量寄存器。MOVC A,A+DPTR ;A (A+DPTR)MOVC A,A+PC ;A (A+PC)该类寻址方式主要用于查表操作。,3.2.5 变址寻址,34,MOV

14、 A,#02HMOV DPTR, #0300HMOVC A,A+DPTR,图3.5 变址寻址示意图,例3.6 MOVC A, A+DPTR ;,7FH,0FH,80H,FFH,A,FFFFH,MOVC A, A+DPTR,0000H,ROM,SFR,RAM,结果:(A)=88H,93H,88H,00H,24H,2400H+0FH= 240FH,240FH,DPL,DPH,88H,00H,36,指程序计数器PC的当前内容与指令中的操作数相加,其结果作为跳转指令的转移地址(也称目的地址)。该类寻址方式主要用于跳转指令。SJMP rel ;PC PC+2+rel将PC当前的内容与rel(-12812

15、7)相加,结果再送回PC中,成为下一条将要执行指令的地址。,3.2.6 相对寻址,PC的当前值:读出该2字节或3字节的跳转指令后,PC指向的下条指令的地址。,37,SJMP 54H,图3.6 相对寻址示意图,1. 对位地址中内容进行操作。操作的是8位二进制数中的某一位。,3.2.7 位寻址,SFR的寻址位常用符号位地址表示,如:CLR ACC.0 MOV 30H,C,2. 寻址空间,片内RAM中位寻址区,SFR中的可寻址位,7 种寻址方式及使用空间,40,3.3 数据传送类指令数据传送指令是MCS-51单片机汇编语言程序设计中使用最频繁的指令。数据传送操作是指把数据从源地址传送到目的地址,源地址内容不变。,数 据,数 据,目的地址 源地址,41,通用格式:MOV 目的操作数 , 源操作数,源操作数可以是:累加器A、通用寄存器Rn、直接地址direct、间接地址和立即数; 目的操作数可以是:累加器A、通用寄存器Rn、直接地址direct和间接地址,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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