单片机原理与应用(第二版) 第3章 MCS-51单片机的指令

上传人:E**** 文档编号:89409668 上传时间:2019-05-24 格式:PPT 页数:85 大小:2.42MB
返回 下载 相关 举报
单片机原理与应用(第二版) 第3章 MCS-51单片机的指令_第1页
第1页 / 共85页
单片机原理与应用(第二版) 第3章 MCS-51单片机的指令_第2页
第2页 / 共85页
单片机原理与应用(第二版) 第3章 MCS-51单片机的指令_第3页
第3页 / 共85页
单片机原理与应用(第二版) 第3章 MCS-51单片机的指令_第4页
第4页 / 共85页
单片机原理与应用(第二版) 第3章 MCS-51单片机的指令_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《单片机原理与应用(第二版) 第3章 MCS-51单片机的指令》由会员分享,可在线阅读,更多相关《单片机原理与应用(第二版) 第3章 MCS-51单片机的指令(85页珍藏版)》请在金锄头文库上搜索。

1、第3章 MCS-51单片机的指令系统,学习目标,理解MCS-51指令的操作功能,掌握MCS-51单片机指令的寻址方式,了解MCS-51单片机指令系统的构成,掌握MCS-51单片机指令系统的符号约定,学习重点,MCS-51指令系统中各类、各条指令功能及基本应用,MCS-51单片机指令的寻址方式与存储空间对应关系,MCS-51指令系统指令助记符格式、指令功能等特性,主要内容,3.1指令格式和寻址方式,主要内容,3.2 指 令 系 统,3.1 指令格式和寻址方式,3.1.1 指令格式,MCS-51单片机的指令和一般的微型计算机一样,具有两级形式:汇编语言级和机器语言级。对用户而言,主要使用汇编语言来

2、编写程序,然后由汇编程序(机器汇编)或手工汇编将汇编语言源程序翻译成二进制代码组成的机器语言程序。汇编语言的特点是对每一条指令都给出了助记符。由于助记符具有用英文单词的缩写来描述指令的特征,因此它不但便于记忆,也便于理解和分类。,3.1 指令格式和寻址方式,MCS-51单片机汇编语言指令格式为: 标号: 操作码 操作数 ;注释 各字段之间用规定的符号隔开。方括号的部分为可选项。 例如:LOOP: MOV A,54H ;A54H,3.1 指令格式和寻址方式,3.1.1 指令格式,各字段的意义如下: 标号:标号给出了该指令位置的符号地址,即该指令机器代码存储单元的地址。它是以英文字母开始的由18个

3、字母或数字组成的字符串,并以“:”结束。 操作码:操作码部分给出了指令所实现的操作功能。操作码用助记符的形式给出。,操作数:操作数部分给出了指令中参与操作的对象。操作数一般分为目的操作数(上例中累加器A)和源操作数(上例中的54H),两者之间用“,”分隔。 注释:注释部分是用户为方便阅读而加的注释。注释以“;”为开始。注释部分对汇编语言来讲它不参与计算机的操作,不影响指令的执行。 例如: MOV A,00H ;将累加器清0,3.1 指令格式和寻址方式,3.1.1 指令格式,机器语言指令是一种二进制码,包括操作码和操作数。操作码规定了该指令操作的性质,操作数则表明了操作的对象。MCS-51的指令

4、系统有单字节、双字节和三字节这三种形式的指令,分别占有13个存储单元。,3.1 指令格式和寻址方式,3.1.1 指令格式,(1) 单字节指令:如 RETI对应的机器语言指令格式为:,(2) 双字节指令: 如 MOV A,54H对应的机器语言指令格式为:,3.1 指令格式和寻址方式,3.1.1 指令格式,(3) 三字节指令:如MOV 30H,54H对应的机器语言指令格式为:,单字节指令的操作码本身就隐含了操作数的信息;一般情况下,双字节指令的首字节为操作码,第二字节为操作数或操作数的地址;三字节指令的首字节为操作码,后面两个字节为操作数或操作数的地址。指令字节越多,所占内存单元越多,但执行时间的

5、长短只取决于执行该指令需要多少个机器周期。,3.1 指令格式和寻址方式,3.1.2汇编语言指令的符号约定,在汇编语言的指令格式中,约定采用以下符号: Rn(n=07)指定当前选中的工作寄存器组中名为R0R7的工作寄存器,被选中的工作寄存器组由PSW中RS0、RS1确定。 Ri(i=0,1)指定当前选中的工作寄存器组中可作为地址指针的两个工作寄存器R0、R1。 data代表8位立即数,即包含在指令中的8位常数。 data16代表16位立即数,即包含在指令中的16位常数。 direct代表8位片内RAM单元(包括SFR)的直接地址。 addr11代表11位目的地址。用于ACALL 和AJMP指令中

6、,目的地址必须与下一条指令的第一个字节在同一个2KB程序存储器地址空间内。 addr16代表16位目的地址。用于LCALL和LJMP指令中,目的地址在64KB程序存储器地址空间内。,3.1 指令格式和寻址方式,3.1.2汇编语言指令的符号约定, rel代表补码形式的8位地址偏移量。用于相对转移指令中,偏移量以下一条指令第一字节地址为基址,地址偏移量范围为-128+127。 bit代表片内RAM或SFR可直接寻址的位地址。 间接寻址方式中,表示间址寄存器的符号。 /位操作指令中,表示先对该位求反再参与操作,但不影响该位原值。 ()表示由所指地址单元中的内容。 指令操作流程,将箭头右边的内容送到箭

7、头左边的单元中。 $指本条指令的起始地址。,3.1 指令格式和寻址方式,3.1.3 寻址方式,在指令系统中,操作数是一个重要的组成部分,它指定了参加运算的数或数所在的地址单元。如何找到操作数地址的方式就称为寻址方式。寻址方式就是在规定的地址范围内如何灵活地、方便地找到所需要的操作数地址。 MCS-51单片机指令操作数或操作数地址主要有以下7种寻址方式。,立即寻址就是在指令中的操作数(8位或16位),这个操作数称为立即数。用符号“”表示立即数,以区别直接地址。 例如:MOV A,3AH ;A3AH 功能:把3AH这个数送入累加器A中。 例如:MOV DPTR,0123H ;DPTR0123H 功

8、能:将数据指针DPTR传送16位的立即数,立即数的高8位送入DPH中,低8位送入DPL中。此为三字节的指令,指令代码为90H、01H、23H。立即寻址示意图如图3-1所示。,1.立即寻址,3.1 指令格式和寻址方式,3.1.3 寻址方式,(a)MOV A,#3AH (b)MOV DPTR,#0123H 图3-1 立即寻址示意图,3.1 指令格式和寻址方式,3.1.3 寻址方式,直接寻址就是在指令中直接给出了操作数的地址。 提供了访问内部数据存储器3种地址空间的方法:可以访问内部RAM128个字节单元、221个位地址空间以及特殊功能寄存器SFR,且SFR和位地址空间只能用直接寻址的方式来访问。

9、例如:MOV A,70H;A(70H) 功能:把片内RAM 70H单元的内容送入累加器A中,图3-2示。,2.直接寻址,3.1 指令格式和寻址方式,3.1.3 寻址方式,图3-2 直接寻址示意图,图3-2 直接寻址示意图,3.1 指令格式和寻址方式,3.1.3 寻址方式,寄存器寻址是在指令中指定某一寄存器的内容为操作数。对累加器A、通用寄存器B、数据指针寄存器DPTR和进位位CY,其寻址时具体的寄存器已隐含在其操作码中,而对选定的8个工作寄存器R0R7则用操作码的低三位指明所用的寄存器。用户可用PSW中的RS1、RS0来选择寄存器组 。 例如:MOV A,R5;AR5 功能:把R5中的内容(设

10、R561H)送入累加器A中。该指令执行过程如图3-3所示。,3.寄存器寻址,3.1 指令格式和寻址方式,3.1.3 寻址方式,图3-3 寄存器寻址示意图,3.1 指令格式和寻址方式,3.1.3 寻址方式,寄存器间接寻址是把指令中指定的寄存器的内容作为操作数的地址,把该地址单元的内容作为操作数。这种寻址方式用于访问内部RAM和外部RAM。可用来间接寻址的寄存器有R0、R1、堆栈指针SP以及16位的数据指针DPTR,使用时前面加符号表示间接寻址。 例如:MOV A,R1 ;A(R1) 其指令代码形式为11100111,十六进制为E7H,注意最低位为1,表示现在使用的寄存器为 R1。现假设工作寄存器

11、为第0组,R1中存放的是75H。则执行该指令过程如图3-4所示。,4.寄存器间接寻址,3.1 指令格式和寻址方式,3.1.3 寻址方式,图3-4 寄存器间接寻址示意图,3.1 指令格式和寻址方式,3.1.3 寻址方式,变址寻址是以某个寄存器的内容为基地址,然后在这个基地址的基础上加上地址偏移量形成真正的操作数地址MCS-51单片机可由DPTR或PC作为基址寄存器,由累加器A作为偏移量寄存器。这种寻址方式常用于查表操作。 例如:MOVC A,A+DPTR ;A(A+DPTR) 功能:把DPTR中的内容和A中的内容相加作为16位的程序存储器地址,再把该地址对应单元的内容送入累加器A中。执行该指令过

12、程如图3-5所示。,5.变址寻址,3.1 指令格式和寻址方式,3.1.3 寻址方式,图3-5 变址寻址示意图,3.1 指令格式和寻址方式,3.1.3 寻址方式,相对寻址用于转移指令的操作,将程序计数器PC中的当前值(相对转移指令后的字节地址)与指令第二字节给出的偏移量相加,将其结果作为转移指令的目标地址。指令第二字节给出的偏移量有正负号,在指令中以补码形式给出,转移的范围在-128+127之间。 例如;JZ 30H ;A0条件成立转移 功能:若A0,不跳转继续执行下一条指令;若A0,则以PC中的当前值为基地址,加上偏移量30H后所得到的结果为该转移指令的目的地址,从而实现程序的转移。,6.相对

13、寻址,3.1 指令格式和寻址方式,3.1.3 寻址方式,设该指令存放于0100H、0101H单元,取出指令后,PC当前值为0102H;对A进行判断,若A0,则PC内容与偏移量30H相加,得到转移目的地址0132H。故执行完该指令后,PC中的值为0132H,程序从0132H处开始执行。执行过程如图3-6所示。,图3-6相对寻址示意图,3.1 指令格式和寻址方式,3.1.3 寻址方式,位寻址是指对片内RAM的位寻址区和某些有位地址的特殊功能寄存器进行位操作时的寻址方式。位地址与直接寻址中的字节地址形式完全一样,主要由操作码来区分。 例如:MOV C,07H 功能:把内部RAM 20H单元的D7位(

14、位地址为07H)的内容传到位累加器C(即CY)中,其操作过程如图3-7所示。,7.位寻址,3.1 指令格式和寻址方式,3.1.3 寻址方式,图3-7 位寻址示意图,3.2 指 令 系 统,MCS-51单片机共有111条指令,按字节数分类,单字节指令49条,双字节指令45条,三字节指令17条;按执行时间分类,单机器周期指令64条,双机器周期指令45条,只有乘法和除法指令占用四个机器周期。若系统时钟为12MHz,大多数指令执行时间仅需1s;按功能分类可划分为五类: (1) 数据传送类指令28条; (2) 算术运算类指令24条; (3) 逻辑操作类指令25条; (4) 控制转移类指令17条; (5)

15、 位操作类指令17条。,3.2 指 令 系 统,3.2.1 数据传送类指令,传送类指令是指令系统中最基本、使用最多的一类指令,主要用于数据的传送、保存以及交换等场合。 数据传送指令除了可以通过累加器进行数据传送之外,还有不通过累加器的数据存储器之间或工作寄存器与数据存储器之间直接进行数据传送的指令。这类指令一般是把源操数传送到目的操作数,指令执行后,源操作数不变,目的操作数修改为源操作数。传送类指令一般不影响标志位,只有堆栈操作可以直接修改程序状态字PSW。另外,对目的操作数为累加器A的指令将影响奇偶标志P位。 数据传送类指令用到的助记符有MOV、MOVC、MOVX、XCH、XCHD、SWAP

16、、PUSH、POP共8种。采用立即寻址、直接寻址、寄存器、寄存器间接、变址寻址5种寻址方式。,3.2 指 令 系 统,1.对内部RAM和SFR的一般数据传送指令(15条),3.2.1 数据传送类指令,(1)以累加器A为目的操作数的指令(4条,见表3-3) 这组指令的功能是把源操作数指定的内容送入累加器A中。使用寄存器寻址、直接寻址、寄存器间接寻址和立即寻址4种寻址方式。,表3-3 以累加器A为目的操作数的指令,3.2 指 令 系 统,1.对内部RAM和SFR的一般数据传送指令(15条),3.2.1 数据传送类指令,(2)以寄存器Rn为目的操作数的指令(3条,见表3-4) 这组指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。使用寄存器寻址、直接寻址和立即寻址3种寻址方式。,表3-4 以寄

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

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

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