单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指

上传人:E**** 文档编号:89503233 上传时间:2019-05-26 格式:PPT 页数:96 大小:414.50KB
返回 下载 相关 举报
单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指_第1页
第1页 / 共96页
单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指_第2页
第2页 / 共96页
单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指_第3页
第3页 / 共96页
单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指_第4页
第4页 / 共96页
单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指》由会员分享,可在线阅读,更多相关《单片机原理及应用 教学课件 ppt 作者 娄国焕 第3章+MCS-51单片机指(96页珍藏版)》请在金锄头文库上搜索。

1、第3章 MCS-51单片机指令系统,内容提要:本章详细介绍了MCS-51单片机的指令系统和寻址方式。介绍了指令系统的分类,并结合示例说明了指令的功能及应用。,重点:单片机指令系统的寻址方式;指令功能。,难点:单片机指令系统的寻址方式。,3.1 MCS-51指令系统简介,MCS-51单片机共有111条指令,其中单字节指令49条,双字节指令45条,三字节指令17条。当系统时钟为12MHz时,大多数指令的执行时间仅需1s,乘法指令也只需4s,指令的平均执行时间不到2s。 MCS-51单片机指令系统具有占有内存空间少、执行速度快的优点,有很强的实时处理能力,特别适合于现场控制的场合。,1. 指令格式,

2、MCS-51单片机指令系统是一个具有255种代码的集合,绝大多数指令包含两个基本部分:操作码和操作数。操作码表明指令要执行的操作的性质;操作数说明参与操作的数据或数据所存放的地址 。 MCS-51单片机指令系统中所有指令是以机器语言形式表示的,可分为单字节、双字节和三字节3种格式。由于用二进制代码表示的机器语言阅读困难且难以记忆,因此,人们采用汇编语言指令来编写程序。本章介绍的MCS-51指令系统就是以汇编语言来描述的。,汇编语言指令是指令系统最基本的书写方式,由操作码、目的操作数、源操作数等组成。格式如下: 标号:操作码 目的操作数, 源操作数;注释 标号:是指令地址的标志符号,由用户定义的

3、符号组成。必须以英文字母开头,后跟18个字母、数字或下横线符号“-”,并以“:”结尾,用户定义的标号不能和汇编保留符号重复。标号可有可无,某条指令一旦赋予标号,标号代表该指令第一个字节所存放的存储单元的地址,故标号又称为符号地址,在其他指令的操作数中可引用该标号作为引用地址。,操作码:由25个英文字母组成的功能助记符,用来表示指令的操作功能,不能缺省。 MCS-51指令系统中共有42种助记符,带表了33种不同的功能。 操作数:是指令操作所需的数据、地址或符号(标号)。通常右边操作数为源操作数,左边为目的操作数。根据指令的功能不同,操作数的个数有1、2、3个,也可以没有。操作数之间用逗号“,”分

4、开。操作数可以是多种进制的立即数和直接地址:二进制加后缀B、十进制加后缀D或不加、十六进制加后缀H(以字母开头需加前导0),工作寄存器、标号地址、表达式等。 注释:可有可无,加入注释主要是为了便于阅读程序,程序设计者对程序段的作用、关键指令、进入和退出子程序的条件等加以注释,以提高程序的可读性。注释和源程序一起存储、打印。但是汇编时不被翻译,因而在目标程序的机器代码中并不出现,不会影响程序的执行。注释必须以分号“;”开始,当注释占有多行时,每一行都必须以“;”开始。,2. 常用符号说明,MCS-51单片机指令系统汇编指令中的符号约定如下: Rn:n=07,当前选中的8个工作寄存器R0R7之一;

5、 Ri:i=0,1,当前选中的用于间接寻址的两个工作寄存器R0、R1之一; Direct:8位直接地址,可以使RAM单元地址(00H-7FH),或特殊功能寄存器(SFR)地址(80H-FFH); #data:8位或16位立即数 ; addr:程序存储器地址,常在后面跟有数字,如addr11表示11位地址; rel:8位偏移地址,表示相对跳转的偏移字节,按下一条指令的第一个字节计算,在128+127取值范围内; DPTR:16位数据指针; bit:位地址,内部RAM20H2F中可寻址位和SFR中的可寻址位; A:累加器; B:寄存器,用于乘除指令中; C:进位标志或进位位,或位操作指令中的累加器

6、; :寄存器间接寻址前缀; PC:程序计数器,16位 PSW:程序状态字 SP:堆栈指针 $:程序计数器当前值,3.2 寻址方式,3.2.1 立即寻址方式 指令的操作数直接出现在指令字节中,这种寻址方式称为立即寻址(也叫立即数寻址)。 一般用#标记作前缀,立即数寻址只能作源操作数,不能当作目的操作数。,【例3-1】 MOV A,#30H 其寻址示意图如图3.1所示,图3.1 立即寻址示意图,3.2.2 直接寻址方式,直接寻址是指在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。该方式访问以下三种存储空间: (1)特殊功能寄存器。 (2)内部RAM的低128字节(对

7、于8032/8052等单片机,其内部高128字节RAM(80HFFH)不能用直接寻址方式访问,而只能用寄存器间接寻址方式访问)。 (3)位寻址空间。,【例3-3】 MOV A,R0 ;A (R0) MOV SP,#70H ;SP 70H MOV B,A ;B (A),3.2.4 寄存器间接寻址方式,由指令指出某一个寄存器的内容作为操作数,这种寻址方式称为寄存器间接寻址。寄存器间接寻址使用当前工作寄存器区中的R0或R1作为地址指针,来寻址内部RAM(00H0FFH)。寄存器间接寻址也适用于访问外部RAM,可使用R0、R1或DPTR作为地址指针。寄存器间接寻址时要在间接寻址寄存器标记前面加符号。,

8、【例3-4】 MOV R0,#30H ;R030H MOV A, R0 ;A(R0) 指令功能是把R0所指出的内部RAM地址30H单元中的内容送累加器A。假定(30H)45H,则上述指令执行完后,累加器A的内容为45H。指令的寻址方式示意图如图3.3所示。,图3.3 MOV A, R0寻址示意图,【例3-5】 MOV DPTR, #2100H ;DPTR 2100H MOVX A,DPTR ;A(DPTR) 上述指令把DPTR寄存器所指的外部存储器2100H单元的内容传送到累加器A,若(2100H) 87H,指令执行后(A)=87H。指令的寻址方式示意图如图3.4所示。,图3.4 MOVX A

9、, DPTR寻址示意图,3.2.5 基址寄存器加变址寄存器间接寻址方式,这种寻址方式以16位的程序计数器PC或数据指针DPTR作为基址寄存器,以8位的累加器A作为变址寄存器。基址寄存器和变址寄存器的内容相加形成16位的地址,该地址即为操作数的地址。这种寻址方式用于访问程序存储器中的数据表格。,【例3-6】 MOV A, #22H ;A22H MOV DPTR, #63A0H ;DPTR63A0H MOVC A, ADPTR ; A(A) (DPTR) 第三条指令中源操作数采用了基址寄存器加变址寄存器的间接寻址方式,寻址方式示意图如图3.5所示。,图3.5 MOVC A, A+ DPTR寻址示意

10、图,3.2.6 相对寻址方式,相对寻址方式以程序计数器PC的内容作为基地址,加上指令中给定的偏移量,所得之和送PC寄存器作为转移地址。这种寻址方式用于相对转移指令中,注意偏移量是一个8位带符号数,用补码表示,在128127之间。,【例3-7】 JC 06H 若这条双字节的转移指令存放在2000H,取出操作码后PC指向2001H;取出偏移量后PC指向2002H,故在计算偏移量相加时,PC已为2002H单元,即指向该条指令的下条指令的第1个字。因此转移地址为:(PC)2002H+06H=2008H,执行指令 JC 06H后将转到地址2008H继续执行。寻址过程如图3.6所示。,图3.6 JC 06

11、H寻址示意图,3.2.7 位寻址方式,位寻址是直接寻址的一种形式,它是寻址存储单元中的一位,而不是一个字节。位操作指令能对内部RAM中20H2FH单元对应的16个字节中的128个位以及某些有位地址的特殊功能寄存器进行位操作。位寻址的表示方法有4种,具体如下: (1) 直接使用位寻址空间的位地址, 如:位地址D5H。 (2) 特殊功能寄存器的某些可寻址位具有的位名称,如:F0。 (3) 单元地址加上位数的表示方法,如:20H.0 (4) 特殊功能寄存器名称加位数的表示方法,如:PSW.5,【例3-8】 CLR 00H ;(00H) 0 SETB TR0 ;TR01 ANL C,5FH ;将5FH

12、中的位状态与进位位C相与,结果 在C中 MOV C, PSW.5 ;把PSW.5位的状态送到进位位C中。 MCS-51具有五个存储器空间,且多数都从零地址开始编址 : 程序存储器空间 0000H0FFFFH 内部RAM空间 00H07FH 特殊功能寄存器空间 80H0FFH 位地址空间 00H0FFH 外部数据存储器/IO空间 0000H0FFFFH,3.3 指令系统,MCS-51指令系统有42种助记符,代表了33种功能,指令助记符与各种可能的寻址方式相结合,共构成111条指令。按指令的功能MCS-51指令系统可分为下列5类: (1) 数据传送类指令(29条) (2) 算术运算类指令(24条)

13、 (3) 逻辑运算及移位类指令(24条) (4) 控制转移类指令(17条) (5)位操作类指令(17条),3.3.1 数据传送指令,数据传送是单片机工作中最基本的操作。因此数据传送指令使用最为频繁。数据传送指令的使用直接影响到程序的执行速度。数据传送类指令除用POP或MOV指令将数据传送到PSW外,一般均不影响除奇偶标志位P以外的标志位。 MCS-51的数据传送操作可以在累加器A、工作寄存器R0R7、内部RAM、特殊功能寄存器、外部数据存储器及程序存储器之间进行。以下根据不同的源地址和目的地址介绍这些指令。,1. 一般传送指令 一般传送指令的汇编指令格式为: MOV 目的字节,源字节 MOV是

14、传送指令的操作助记符。其功能是将源字节内容传送到目的字节,源字节内容不变。 (1) 数据传送到累加器A(4条) MOV A,Rn ;A (Rn) MOV A, direct ;A (direct) MOV A, Ri ;A ((Rn) MOV A, #data ;A data 功能:这组指令的功能是把源操作数的内容送入累 加器A。源操作数可以是寄存器寻址、直接寻址、寄存器间接寻址和立即寻址等寻址方式。,【例3-9】 MOV A, 30H ;A (30H) MOV A, #30H ;A 30H,注意以上2条指令的区别,第1条指令是将内部RAM中30H单元的内容送入累加器A,第2条指令是将立即数3

15、0H直接送入累加器A。,【例3-10】 MOV A, R1 ;A (R1) MOV A, R1 ;A ((R1) 应特别注意Rl和Rl的区别,以上第1条指令的功能是将寄存器R1的内容送累加器A,而第2条指令的功能是将以寄存器R1的内容作为地址的单元内容送累加器A。设程序状态字PSW的RS1=0,RS01,则当前寄存器区的Rl就是内部RAM 09H,再设(09H)40H,则上述2条指令的功能分别为: MOV A, R1 ; A 40H MOV A,R1 ; A (40H),(2) 数据传送到工作寄存器 Rn (3条) MOV Rn, A ;Rn (A) MOV Rn, direct ;Rn (direct) MOV Rn, #data ;Rn data 功能:这组指令的功能是把源操作数的内容送入当前工作寄存器区的R0R7中的某一个寄存器。源操作数可以是寄存器寻址、直接寻址和立即寻址方式。,【例3-11】 MOV R1, A ;R1 (A) MOV R4, 30H ;R4 (30H) MOV R2, 40H ;R2 40H,(3) 数据传送到内部RAM或特殊功能寄存器SFR (8条) MOV direct, A ;direct(A) MOV dir

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

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

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