51单片机指令系统

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

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

1、课程:单片机技术 教材:单片机基础教学基本要求: (1)、了解单片机的指令系统、编程语言等基本概念; (2)、熟悉单片机汇编语言指令格式中符号的意义; (3)、熟悉单片机汇编语言指令系统每条指令的功能; (4)、掌握单片机指令系统的7种寻址方式; (5)、掌握单片机指令系统每类指令的用法。 教学重点: (1)、单片机指令系统的寻址方式; (2)、片内、外RAM单元之间的数据传送; (3)、加法运算指令组的用法; (4)、逻辑运算指令组的用法; (5)、控制转移指令组的用法。第3章 80C51单片机指令系统课程:单片机技术 教材:单片机基础教学难点: (1)、寄存器间接寻址、变址寻址、相对寻址等

2、概念; (2)、堆栈操作指令的应用。 (3)、十进制调整指令DA A的应用; (4)、控制转移指令转移目的地址、偏移量rel的计算; (5)、子程序调用、返回指令的用法。课程:单片机技术 教材:单片机基础3.1 单片机指令系统概述1、指令系统概述指令:是供用户使用的单片机的软件资源,是单片机所能接受的软件工作者的命令的最小工作单位。指令系统:单片机所能执行的指令集合。机器语言:指令以二进制码来表示。汇编语言:指令以助记符形式来表示。机器语言程序:使用机器语言编写的程序。汇编语言程序:使用汇编语言编写的程序。注意:MCS-51单片机指令系统不具有通用性,因此,用其编写的汇编语言程序也不具有通用性

3、,不能移植。 课程:单片机技术 教材:单片机基础MCS-51系列单片机的汇编语言指令系统共有111条指令,其中49条为单字节指令,45条为双字节指令,17条为三字节指令。从指令执行的时间来看,单机器周期指令64条,双机器周期指令45条,四机器周期指令2条。MCS-51单片机的指令系统共有33个功能,用汇编语言编程时,只需44个助记符。(1)、数据传送类指令(29条)(2)、算术运算类指令(24条)(3)、逻辑运算及移位类指令(24条)(4)、控制转移类指令(17条)(5)、位操作类指令(17条) 课程:单片机技术 教材:单片机基础2、MCS-51单片机指令格式指令格式:即指令的表示方法,其内容

4、包括指令的长度和指令内部信息的安排。采用助记符表示的汇编语言指令格式如下:标号: 操作码助记符 目的操作数,源操作数 ;注释 (1)一条指令中标号、操作数、注释部分可有可无,但操作码部分必不可少。(2)标号是程序员根据编程需要给指令设定的符号地址,标号由18个字符组成,不能用系统规定的寄存器名,也不能用指令系统中的助记符名称,它的第一个字符必须是英文字,不能是数字或其它符号,标号后必须用冒号“:”。课程:单片机技术 教材:单片机基础 (3)操作码码表示指令的操作种类,用来规规定指令进进行什么操作,常用操作码码的英文名称或缩写形式来表示,操作码码后必须有一个或多个空格“ ”作间隔符。例如:MOV

5、 表示数据传送操作,ADD 表示加法操作。(4)操作数表示指令操作的对对象,它可能是一个具体的数据,也可能是指出到哪里取得数据的地址或符号。一条指令中,可能没有(RET指令),也可能有一个(CPL A指令)、两个(MOV A,#00H指令, MOV 30H,#50H指令)或三个(CJNE A,#00H,NEXT)操作数。根据操作数的位置的不同,可分为目的(左)操作数和源(右)操作数,操作数之间也以逗号“,”相隔(乘法指令MUL AB和除法指令DIV AB除外)。课程:单片机技术 教材:单片机基础(5)注释是对指令的解释说明,用以提高程序的可读性。注释前必须加分号“;”。 (6)书写汇编语言指令

6、必须注意以上规则。课程:单片机技术 教材:单片机基础3、指令格式中符号意义说明Rn:当前寄存器组的8个通用寄存器R0R7(n=07)。Ri:当前寄存器组中的2个寄存器RO,R1,可作地址指针,即间接寻址的寄存器(i=0,1)。 direct:内部RAM的8位地址,既可以是内部RAM的低128个单元地址(0127),也可以是专用寄存器的单元地址或符号,如I/O端口,控制寄存器,状态寄存器等(128255)。#data:包含在指令中的8位立即数。#data16:包含在指令中的16位立即数。addr16:表示16位目的地址,只限于在LCALL和LJMP指令中使用,目的地址范围是64KB的程序存储器地

7、址空间。课程:单片机技术 教材:单片机基础addr11:表示11位目的地址,只限于在ACALL和AJMP指令中使用。Rel:相对转移指令中的偏移量,为8位带符号补码数。DPTR:数据指针。bit:内部RAM或专用寄存器中的直接寻址位。A:累加器(直接寻址方式的累加器表示为ACC)B:B寄存器,用于MUL和DIV指令中。C:进位标志位或布尔处理机中的累加位。:为间址寄存器或基址寄存器的前缀标志。/:位操作数的前缀,表示对该位状态取反。(X):某寄存器或某单单元中的内容。 课程:单片机技术 教材:单片机基础(X):由X间接寻址的单元中的内容。:表示将箭头右边的内容传送至箭头的左边。 课程:单片机技

8、术 教材:单片机基础3.2 80C51单片机指令寻址方式MCS-51单片机指令系统中的大多数指令执行时都需要使用操作数,而在单片机中只有指定了操作数的存储单元才能得到操作数,因此,要得到操作数,就只需找到操作数存放的单元即可。所谓寻谓寻 址方式:即如何确定参与操作的数的真正单元。根据操作数单元指定方法的不同,就有了不同的寻址方式。MCS-51单片机共有7种寻址方式。由于指令中的操作数有目的(左)操作数和源(右)操作数之分,因此,在讲解寻址方式时,均以源(右)操作数为例。(1)寄存器寻址方式a)、寄存器寻寻址就是指操作数在寄存器中,因此,指定了寄存器就得到了操作数。课程:单片机技术 教材:单片机

9、基础b)寄存器寻寻址的指令中,以符号名称来表示寄存器。例: 假设原来(A)=30H,(R1)=40H,现执行指令MOV A, R1;指令功能:将R1中的内容(操作数)送A中;指令执行过程:A(R1);指令执行结果:(A)=(R1)=40H。c)寻址范围:1)当前工作寄存器组R0R7;2)部分专用寄存器A,B,DPTR等。例:MOV P1, A; 将累加器A的内容送到P1口MOV P1, R4;将寄存器R4的内容送到P1口CLR A; 将累加器A清0CPL A; 将累加器A中的内容取反MUL AB; 将累加器A的内容与寄存器B的内容相乘课程:单片机技术 教材:单片机基础(2)直接寻址方式a)直接

10、寻址即指令所需的操作数直接以操作数存放的单元地址的形式给出。例:假设内部RAM 3AH单元的内容是88H,累加器A的内容是10H,现执行指令 MOV A,3AH。指令功能:将3AH中的内容(操作数)送A中;指令执行过程:A(3AH);指令执行结果:(A)=(3AH)=88H。b)采用直接寻寻址的指令一般是双字节节或三字节节指令。c)直接寻寻址是访问专访问专 用寄存器的唯一方法。例:MOV P1, 20H;将内部RAM 20H单元的内容传送到P1口课程:单片机技术 教材:单片机基础 d)寻址范围:(8位,内部RAM)1)内部RAM低128个单元,低128单元地址在指令中须以直接单 元地址形式给出

11、;2)专用寄存器,专用寄存器除以单元地址形式给出外,还可以以寄存器符号的形式给出。例: MOV A, P0; 将P0口的内容传送到AMOV A, 80H;将P0口的内容传送到A(3)寄存器间接寻址方式a)寄存器间接寻址是指指令所需的操作数是通过寄存器间接得到的,寄存器中存放的是操作数的单元地址。指令中应在间址寄存器名之前加前缀,SP除外。例:假设寄存器R0的内容是3AH,内部RAM 3AH单元的内容是65H,现执行指令 MOV A, R0。课程:单片机技术 教材:单片机基础指令功能:先将R0的内容3AH作为内部RAM的单元地址,再将内部RAM单元地址为3AH中的内容65H(操作数)送A中。指令

12、执行过程: A(R0)或 A(3AH)指令执行结果:(A)=(R0)=(3AH)=65H。b)间址寄存器:R0、R1、DPTR、SP。(加前缀,SP除外) c)寻址范围:1)内部RAM低128单元,可使用R0,R1作间址寄存器,其通用形式为Ri(i=0或1)。例:MOV A, R1 ;将R1指示的地址单元中内容传送至A中。假设(R1)=40H,(40H)=90H,即把内部RAM中40H单元中的内容90H送到A。 课程:单片机技术 教材:单片机基础2)外部(片外)RAM 64KB单元,可使用DPTR作间址寄存器,其形式为DPTR。 例:MOVX A, DPTR;将DPTR指示的外部RAM地址单元

13、中的内容传送至A。 假设(DPTR)=1000H,(1000H)=80H,即把外部RAM 1000H单元中的内容80H送到A。3)外部(片外)RAM的低256单元(0000H00FFH),它是一个特殊的寻址区,既可以使用DPTR作间址寄存器寻址,也可以使用R0或R1作间址寄存器寻址。例:假设外部RAM 0020H单元中的内容是45H,现需将其送A中。MOV DPTR, #0020H; MOVX A, DPTR或 MOV R0, #20H; MOVX A, R0; 课程:单片机技术 教材:单片机基础4)在执执行堆栈栈操作指令(PUSH,POP)时时,也算为为寄存器间间接寻寻址 ,即以堆栈栈指针针

14、(SP)作间间址寄存器的间间接寻寻址方式。例:PUSH ACC;将A中的内容压入堆栈(ACC代表A的地址E0H)POP ACC;将堆栈中的内容弹出,送到A(4)立即寻址方式a)立即寻寻址即指令所需的操作数已在指令中直接给给出。通常,把直接出现现在指令中的数称之为为立即数。为为了与直接寻寻址指令中的直接单元地址相区别别,一般应在立即数前面加“#”标标志。b)采用立即寻寻址的指令,一般为为双字节节。第一个字节为节为 指令的操作码码,第二个字节为节为 立即数。c)寻寻址范围围:程序存储储器空间。 课程:单片机技术 教材:单片机基础例:MOV A, #3AH; 指令功能:将程序存储器中某单元的内容3A

15、H (立即数)送A中指令执行过程: A3AH指令执行结果:(A)=3AH例:MOV P1, #55H ;将立即数55H送P1口MOV 20H, #55H ;将立即数55H送20H单元MOV R0, #20H ;将立即数20H送寄存器R0d)除8位立即数外,MCS-51指令系统统中还还有一条16位立即寻寻址指令,即:MOV DPTR,#data16,其功能是把16位立即数送数据指针针DPTR。例:MOV DPTR, #1000H;指令功能:将程序存储器中某单元的内容1000H(立即数)送DPTR中课程:单片机技术 教材:单片机基础 (5)变址寻址方式a)变变址寻寻址用于访问程序存储器中的常数或数

16、据表格。变变址寻寻址即是以DPTR或PC作为为基址寄存器,以累加器A为为变变址寄存器,并以两者的内容相加形成16位地址作为为目的操作数地址,以达到访问程序存储器中的常数或数据表格的目的。 MOVC A, A+DPTR;指令执行过程: A(A)+(DPTR)指令执行结果:(A)=(A)+(DPTR)例:(A)=54H,(DPTR)=3F21H课程:单片机技术 教材:单片机基础b)寻址范围:程序存储器空间。c)指令数目:三条,均为一字节指令MOVC A, A+DPTR;MOVC A, A+PC;指令执行过程: A(A)+(PC)指令执行结果:(A)=(A)+(PC)JMP A+DPTR指令执行过程: PC(A)+(DPTR)指令

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

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

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