80C51单片机指系统.ppt

上传人:s****8 文档编号:68600279 上传时间:2022-12-29 格式:PPT 页数:113 大小:1.01MB
返回 下载 相关 举报
80C51单片机指系统.ppt_第1页
第1页 / 共113页
80C51单片机指系统.ppt_第2页
第2页 / 共113页
点击查看更多>>
资源描述

《80C51单片机指系统.ppt》由会员分享,可在线阅读,更多相关《80C51单片机指系统.ppt(113页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础教学基本要求教学基本要求:(1 1)、了解单片机的指令系统、编程语言等基本概念;)、了解单片机的指令系统、编程语言等基本概念;(2 2)、熟悉单片机汇编语言指令)、熟悉单片机汇编语言指令格式中符号的意义格式中符号的意义;(3 3)、熟悉单片机汇编语言指令系统每条指令的功能;)、熟悉单片机汇编语言指令系统每条指令的功能;(4 4)、掌握单片机指令系统的)、掌握单片机指令系统的7 7种寻址方式;种寻址方式;(5 5)、掌握单片机指令系统每类指令的用法。)、掌握单片机指令系统每类指令的用法。教学重点教学重点:(1 1)、单片机指令系统

2、的寻址方式;)、单片机指令系统的寻址方式;(2 2)、片内、外)、片内、外RAMRAM单元之间的数据传送;单元之间的数据传送;(3 3)、加法运算指令组的用法;)、加法运算指令组的用法;(4 4)、逻辑运算指令组的用法;)、逻辑运算指令组的用法;(5 5)、控制转移指令组的用法。)、控制转移指令组的用法。第第3 3章章 80C5180C51单片机指令系统单片机指令系统课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础教学难点教学难点:(1 1)、寄存器间接寻址、变址寻址、相对寻址等概念;)、寄存器间接寻址、变址寻址、相对寻址等概念;(2 2)、堆栈操作指令的应用。)、堆栈操作指

3、令的应用。(3 3)、十进制调整指令)、十进制调整指令DA ADA A的应用;的应用;(4 4)、控制转移指令转移目的地址、偏移量)、控制转移指令转移目的地址、偏移量relrel的计算;的计算;(5 5)、子程序调用、返回指令的用法。)、子程序调用、返回指令的用法。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础3.1 3.1 单片机指令系统概述单片机指令系统概述1 1、指令系统概述指令系统概述 指令指令:是供用户使用的单片机的软件资源,是单片机所能接受是供用户使用的单片机的软件资源,是单片机所能接受 的软件工作者的命令的最小工作单位。的软件工作者的命令的最小工作单位。指令系

4、统指令系统:单片机所能执行的指令集合。单片机所能执行的指令集合。机器语言机器语言:指令以二进制码来表示。指令以二进制码来表示。汇编语言汇编语言:指令以助记符形式来表示。指令以助记符形式来表示。机器语言程序机器语言程序:使用机器语言编写的程序。使用机器语言编写的程序。汇编语言程序汇编语言程序:使用汇编语言编写的程序。使用汇编语言编写的程序。注意:注意:MCS-51MCS-51单片机指令系统不具有通用性,因此,用其编写单片机指令系统不具有通用性,因此,用其编写 的汇编语言程序也不具有通用性,不能移植。的汇编语言程序也不具有通用性,不能移植。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单

5、片机基础 MCS-51MCS-51系列单片机的汇编语言指令系统共有系列单片机的汇编语言指令系统共有111111条指令条指令,其中其中4949条为单字节指令条为单字节指令,45,45条为双字节指令条为双字节指令,17,17条为三字节指令。条为三字节指令。从指令执行的时间来看从指令执行的时间来看,单机器周期指令单机器周期指令6464条条,双机器周期指令双机器周期指令4545条条,四机器周期指令四机器周期指令2 2条。条。MCS-51MCS-51单片机的指令系统共有单片机的指令系统共有3333个功能个功能,用汇编语言编程时用汇编语言编程时,只只需需4444个助记符。个助记符。(1 1)、数据传送类指

6、令()、数据传送类指令(2929条)条)(2 2)、算术运算类指令()、算术运算类指令(2424条)条)(3 3)、逻辑运算及移位类指令()、逻辑运算及移位类指令(2424条)条)(4 4)、控制转移类指令()、控制转移类指令(1717条)条)(5 5)、位操作类指令()、位操作类指令(1717条)条)课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础2 2、MCS-51MCS-51单片机单片机指令格式指令格式 指令格式:即指令的表示方法,其内容包括指令的长度和指令指令格式:即指令的表示方法,其内容包括指令的长度和指令内部信息的安排。内部信息的安排。采用助记符表示的汇编语言指令

7、格式如下:采用助记符表示的汇编语言指令格式如下:标号:标号:操作码助记符操作码助记符 目的操作数目的操作数,源操作数源操作数 ;注释;注释 (1 1)一条指令中标号、操作数、注释部分可有可无,但操作码部一条指令中标号、操作数、注释部分可有可无,但操作码部分必不可少。分必不可少。(2 2)标号是程序员根据编程需要给指令设定的符号地址,标号由)标号是程序员根据编程需要给指令设定的符号地址,标号由1 18 8个字符组成,不能用系统规定的寄存器名,也不能用指令系个字符组成,不能用系统规定的寄存器名,也不能用指令系统中的助记符名称,它的第一个字符必须是英文字,不能是数字统中的助记符名称,它的第一个字符必

8、须是英文字,不能是数字或其它符号,标号后必须用冒号或其它符号,标号后必须用冒号“:”。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(3 3)操作操作码码表示指令的操作种类,表示指令的操作种类,用来用来规规定指令定指令进进行什么操作行什么操作,常用常用操作操作码码的英文名称或缩写形式来表示,的英文名称或缩写形式来表示,操作操作码码后必须有一个后必须有一个或多个空格或多个空格“”“”作间隔符作间隔符。例如:例如:MOV MOV 表示数据传送操作,表示数据传送操作,ADD ADD 表示加法操作。表示加法操作。(4 4)操作数表示指令操作的操作数表示指令操作的对对象,它可能是一个

9、具体的数据象,它可能是一个具体的数据,也也可能是指出到哪里取得数据的地址或符号可能是指出到哪里取得数据的地址或符号。一条指令中,可能没有(一条指令中,可能没有(RETRET指令),也可能有一个(指令),也可能有一个(CPL ACPL A指令)、两个(指令)、两个(MOV A,#00HMOV A,#00H指令,指令,MOV 30H,#50HMOV 30H,#50H指令)或三个指令)或三个(CJNE A,#00H,NEXTCJNE A,#00H,NEXT)操作数。操作数。根据操作数的位置的不同,可分为目的(左)操作数和源根据操作数的位置的不同,可分为目的(左)操作数和源(右)操作数,(右)操作数,

10、操作数之间也以逗号操作数之间也以逗号“,”相隔(相隔(乘法指令乘法指令MUL MUL ABAB和除法指令和除法指令DIV ABDIV AB除外)除外)。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(5 5)注释是对指令的解释说明,用以提高程序的可读性。注释前注释是对指令的解释说明,用以提高程序的可读性。注释前必须加分号必须加分号“;”。(6)书写汇编语言指令必须注意以上规则。书写汇编语言指令必须注意以上规则。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础3 3、指令格式中符号意义说明、指令格式中符号意义说明 RnRn:当前寄存器组的当前寄存器组的8 8

11、个通用寄存器个通用寄存器R0R0R7R7(n=0n=07 7)。)。RiRi:当前寄存器组中的当前寄存器组中的2 2个寄存器个寄存器RORO,R1R1,可作地址指针,即间可作地址指针,即间接寻址的寄存器(接寻址的寄存器(i=0,1i=0,1)。)。direct:direct:内部内部RAMRAM的的8 8位地址,既可以是内部位地址,既可以是内部RAMRAM的低的低128128个单元地个单元地址(址(0 0127127),也可以是专用寄存器的单元地址或符号,如),也可以是专用寄存器的单元地址或符号,如I/OI/O端端口,控制寄存器,状态寄存器等(口,控制寄存器,状态寄存器等(1281282552

12、55)。)。#data:#data:包含在指令中的包含在指令中的8 8位立即数。位立即数。#data16:#data16:包含在指令中的包含在指令中的1616位立即数。位立即数。addr16:addr16:表示表示1616位目的地址,只限于在位目的地址,只限于在LCALLLCALL和和LJMPLJMP指令中使用,指令中使用,目的地址范围是目的地址范围是64KB64KB的程序存储器地址空间。的程序存储器地址空间。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 addr11addr11:表示表示1111位目的地址,只限于在位目的地址,只限于在ACALLACALL和和AJMPAJ

13、MP指令指令中使用。中使用。RelRel:相对转移指令中的偏移量,为相对转移指令中的偏移量,为8 8位带符号补码数。位带符号补码数。DPTRDPTR:数据指针。数据指针。bit:bit:内部内部RAMRAM或专用寄存器中的直接寻址位。或专用寄存器中的直接寻址位。A A:累加器(直接寻址方式的累加器表示为累加器(直接寻址方式的累加器表示为ACCACC)B B:B B寄存器,用于寄存器,用于MULMUL和和DIVDIV指令中。指令中。C C:进位标志位或布尔处理机中的累加位。进位标志位或布尔处理机中的累加位。:为间址寄存器或基址寄存器的前缀标志。:为间址寄存器或基址寄存器的前缀标志。/:位操作数的

14、前缀,表示对该位状态取反。:位操作数的前缀,表示对该位状态取反。(X X):):某寄存器或某某寄存器或某单单元中的内容。元中的内容。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 (X X):由):由X X间接寻址的单元中的内容。间接寻址的单元中的内容。:表示将箭头右边的内容传送至箭头的左边。:表示将箭头右边的内容传送至箭头的左边。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础3.2 80C513.2 80C51单片机指令单片机指令寻址方式寻址方式 MCS-51MCS-51单片机指令系统中的大多数指令执行时都需要使用操作单片机指令系统中的大多数指令执行时

15、都需要使用操作数,而在单片机中只有指定了操作数的存储单元才能得到操作数,数,而在单片机中只有指定了操作数的存储单元才能得到操作数,因此,要得到操作数,就只需找到操作数存放的单元即可。因此,要得到操作数,就只需找到操作数存放的单元即可。所所谓寻谓寻址方式:即如何确定参与操作的数的真正址方式:即如何确定参与操作的数的真正单元。单元。根据操作数单元指定方法的不同,就有了不同的寻址方式。根据操作数单元指定方法的不同,就有了不同的寻址方式。MCS-51MCS-51单片机共有单片机共有7 7种寻址方式。种寻址方式。由于指令中的操作数有由于指令中的操作数有目的(左)操作数和源(右)操作数之目的(左)操作数和

16、源(右)操作数之分,因此,在讲解寻址方式时,均以源(右)操作数为例。分,因此,在讲解寻址方式时,均以源(右)操作数为例。(1 1)寄存器寻址方式)寄存器寻址方式 a a)、)、寄存器寄存器寻寻址就是指操作数在寄存器中,因此,指定了寄址就是指操作数在寄存器中,因此,指定了寄存器就得到了操作数。存器就得到了操作数。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 b b)寄存器寄存器寻寻址的指令中址的指令中,以符号名称来表示寄存器以符号名称来表示寄存器。例例:假设原来(假设原来(A A)=30H=30H,(,(R1R1)=40H=40H,现执行指令现执行指令MOV AMOV A,

17、R1R1;指令功能指令功能:将将R1R1中的内容中的内容(操作数操作数)送送A A中;中;指令执行过程指令执行过程:AA(R1R1););指令执行结果指令执行结果:(A)=(A)=(R1R1)=40H=40H。c c)寻址范围:寻址范围:1 1)当前工作寄存器组)当前工作寄存器组R0R0R7R7;2 2)部分专用寄存器部分专用寄存器A A,B B,DPTRDPTR等。等。例:例:MOV P1,AMOV P1,A;将累加器将累加器A A的内容送到的内容送到P1P1口口 MOV P1,R4MOV P1,R4;将寄存器将寄存器R4R4的内容送到的内容送到P1P1口口 CLR ACLR A;将累加器将

18、累加器A A清清0 0 CPL A CPL A;将累加器将累加器A A中的内容取反中的内容取反 MUL ABMUL AB;将累加器将累加器A A的内容与寄存器的内容与寄存器B B的内容相乘的内容相乘课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(2 2)直接寻址方式)直接寻址方式 a a)直接寻址即指令所需的操作数直接以操作数存放的单元地直接寻址即指令所需的操作数直接以操作数存放的单元地址的形式给出。址的形式给出。例:假设内部例:假设内部RAM 3AHRAM 3AH单元的内容是单元的内容是88H88H,累加器累加器A A的内容是的内容是10H10H,现执行指令现执行指令 M

19、OV AMOV A,3AH3AH。指令功能指令功能:将将3AH3AH中的内容中的内容(操作数操作数)送送A A中;中;指令执行过程指令执行过程:AA(3AH3AH););指令执行结果指令执行结果:(A)=(A)=(3AH3AH)=88H=88H。b b)采用直接采用直接寻寻址的指令一般是双字址的指令一般是双字节节或三字或三字节节指令指令。c c)直接直接寻寻址是址是访问专访问专用寄存器的唯一方法。用寄存器的唯一方法。例:例:MOV P1,20H;将内部;将内部RAM 20H单元的内容传送到单元的内容传送到P1口口课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础d d)寻址范围

20、:)寻址范围:(8(8位,内部位,内部RAMRAM)1 1)内部)内部RAMRAM低低128128个单元,低个单元,低128128单元地址在指令中须以直接单单元地址在指令中须以直接单元地址形式给出;元地址形式给出;2 2)专用寄存器,专用寄存器除以单元地址形式给出外,还可以)专用寄存器,专用寄存器除以单元地址形式给出外,还可以以寄存器符号的形式给出。以寄存器符号的形式给出。例:例:MOV AMOV A,P0P0;将将P0P0口的内容传送到口的内容传送到A A MOV A MOV A,80H80H;将;将P0P0口的内容传送到口的内容传送到A A(3 3)寄存器间接寻址方式寄存器间接寻址方式 a

21、 a)寄存器间接寻址是指指令所需的操作数是通过寄存器间接寄存器间接寻址是指指令所需的操作数是通过寄存器间接得到的,得到的,寄存器中存放的是操作数的单元地址寄存器中存放的是操作数的单元地址。指令中应在间址指令中应在间址寄存器名之前加前缀寄存器名之前加前缀,SP除外除外。例:假设寄存器例:假设寄存器R0R0的内容是的内容是3AH3AH,内部,内部RAM 3AHRAM 3AH单元的内容是单元的内容是65H65H,现执行指令现执行指令 MOV AMOV A,R0R0。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础指令功能指令功能:先将先将R0R0的内容的内容3AH3AH作为内部作为

22、内部RAMRAM的单元地址,的单元地址,再将再将内部内部RAMRAM单元地址为单元地址为3AH3AH中的内容中的内容65H65H(操作数操作数)送送A A中。中。指令执行过程指令执行过程:AA(R0R0)或)或 AA(3AH3AH)指令执行结果指令执行结果:(A)=(A)=(R0R0)=(3AH3AH)=65H=65H。b b)间址寄存器:间址寄存器:R0R0、R1R1、DPTRDPTR、SPSP。(。(加前缀加前缀,SP除外除外)c c)寻址范围:寻址范围:1 1)内部内部RAMRAM低低128128单元,可使用单元,可使用R0R0,R1R1作间址寄存器,作间址寄存器,其通其通用形式为用形式

23、为 Ri(iRi(i=0=0或或1)1)。例:例:MOV AMOV A,R1 R1;将;将R1R1指示的地址单元中内容传送至指示的地址单元中内容传送至A A中。中。假设(假设(R1R1)=40H=40H,(,(40H40H)=90H=90H,即把内部即把内部RAMRAM中中40H40H单元中的单元中的内容内容90H90H送到送到A A。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 2 2)外部(片外)外部(片外)RAM 64KBRAM 64KB单元,可使用单元,可使用DPTRDPTR作间址寄存作间址寄存器,器,其形式为其形式为DPTRDPTR。例:例:MOVX AMOVX

24、 A,DPTRDPTR;将;将DPTRDPTR指示的外部指示的外部RAMRAM地址单元中的地址单元中的内容传送至内容传送至A A。假设(假设(DPTRDPTR)=1000H=1000H,(,(1000H1000H)=80H=80H,即把外部即把外部RAM 1000HRAM 1000H单元中的内容单元中的内容80H80H送到送到A A。3 3)外部(片外)外部(片外)RAMRAM的低的低256256单元(单元(0000H0000H00FFH00FFH),),它是它是一个特殊的寻址区,既可以使用一个特殊的寻址区,既可以使用DPTRDPTR作间址寄存器寻址,也可以作间址寄存器寻址,也可以使用使用R0

25、R0或或R1R1作间址寄存器寻址。作间址寄存器寻址。例:假设外部例:假设外部RAM 0020HRAM 0020H单元中的内容是单元中的内容是45H45H,现需将其送现需将其送A A中。中。MOV DPTRMOV DPTR,#0020H#0020H;MOVX AMOVX A,DPTRDPTR 或或 MOV R0MOV R0,#20H#20H;MOVX AMOVX A,R0R0;课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 4 4)在在执执行堆行堆栈栈操作指令(操作指令(PUSHPUSH,POPPOP)时时,也算,也算为为寄存器寄存器间间接接寻寻址址 ,即以堆,即以堆栈栈指指

26、针针(SPSP)作作间间址寄存器的址寄存器的间间接接寻寻址方式。址方式。例:例:PUSH ACCPUSH ACC;将;将A A中的内容压入堆栈(中的内容压入堆栈(ACCACC代表代表A A的地址的地址E0HE0H)POP ACCPOP ACC;将;将堆栈中的内容弹出,送到堆栈中的内容弹出,送到A A(4 4)立即寻址方式立即寻址方式 a a)立即立即寻寻址即址即指令所需的指令所需的操作数操作数已已在指令中直接在指令中直接给给出。出。通常,把通常,把直接直接出出现现在指令中的在指令中的数数称之称之为为立即数。立即数。为为了与直了与直接接寻寻址指令中的直接址指令中的直接单元单元地址相区地址相区别别

27、,一般应一般应在立即数前面加在立即数前面加“#”标标志。志。b b)采用立即采用立即寻寻址的指令,一般址的指令,一般为为双字双字节节。第一个字。第一个字节为节为指指令的操作令的操作码码,第二个字,第二个字节为节为立即数。立即数。c c)寻寻址范址范围围:程序存:程序存储储器器空间空间。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础例:例:MOV AMOV A,#3AH#3AH;指令功能指令功能:将程序存储器中某单元的内容将程序存储器中某单元的内容3AH3AH(立即数立即数)送送A A中中 指令执行过程指令执行过程:AA3AH3AH 指令执行结果:指令执行结果:(A)=(A)

28、=3A3AH H 例:例:MOV P1,#55HMOV P1,#55H;将立即数;将立即数55H55H送送P1P1口口 MOVMOV 20H,#55H 20H,#55H;将立即数;将立即数55H55H送送20H20H单元单元 MOVMOV R0,#20H R0,#20H;将立即数;将立即数20H20H送寄存器送寄存器R0R0 d d)除除8 8位立即数外,位立即数外,MCS-51MCS-51指令系指令系统统中中还还有一条有一条1616位立即位立即寻寻址指令,即:址指令,即:MOV DPTRMOV DPTR,#data16#data16,其功能是把其功能是把1616位立即数送数位立即数送数据指据

29、指针针DPTRDPTR。例:例:MOV DPTRMOV DPTR,#1000H#1000H;指令功能指令功能:将程序存储器中某单元的内容将程序存储器中某单元的内容1000H1000H(立即数立即数)送送DPTRDPTR中中课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(5 5)变址寻址方式)变址寻址方式 a a)变变址址寻寻址址用于访问程序存储器中的常数或数据表格。用于访问程序存储器中的常数或数据表格。变变址址寻寻址即是以址即是以DPTRDPTR或或PCPC作作为为基址寄存器,以累加器基址寄存器,以累加器A A为变为变址寄存器,并以两者的内容相加形成址寄存器,并以两者的内容

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

31、指令数目:三条,均为一字节指令 MOVC AMOVC A,A+DPTRA+DPTR;MOVC A,A+PCMOVC A,A+PC;指令执行过程:指令执行过程:AA(A A)+(PCPC)指令执行结果:(指令执行结果:(A A)=(A A)+(PCPC)JMP A+DPTRJMP A+DPTR 指令执行过程:指令执行过程:PCPC(A A)+(DPTRDPTR)指令执行结果:(指令执行结果:(PCPC)=(A A)+(DPTRDPTR)d d)注意:三条指令中注意:三条指令中A A的内容均为的内容均为8 8位二进制无符号数。位二进制无符号数。课程:单片机技术课程:单片机技术 教材:单片机基础教材

32、:单片机基础(6 6)位寻址方式)位寻址方式 a a)位寻址即对二进制数据位进行寻址。位寻址即对二进制数据位进行寻址。b b)寻址范围:寻址范围:1)1)、内部内部RAMRAM中的位寻址区(单元地址中的位寻址区(单元地址20H20H2FH2FH),),128128个个位,位地址是位,位地址是00H00H7FH7FH。位地址区中的位有位地址区中的位有两种表示方法两种表示方法:直接使用位地址表示;单元地址加位数表示直接使用位地址表示;单元地址加位数表示 例:例:MOV CMOV C,20H20H;将位地址为将位地址为20H20H的位状态传送给累加位的位状态传送给累加位C C。MOV CMOV C,

33、24H.024H.0;(第(第2525页)页)例:例:SETB 3DHSETB 3DH;将内部将内部RAMRAM位寻址区中的位寻址区中的3DH3DH位置位置1 1。假设内部假设内部RAM 27HRAM 27H单元的内容是单元的内容是00H00H,执行执行SETB 3DHSETB 3DH后,由于后,由于3DH3DH对应内部对应内部RAM 27HRAM 27H的第的第5 5位,因此该位变为位,因此该位变为1 1,也就是,也就是27H27H单元的内单元的内容变为容变为20H20H。该指令的执行过程如图所示。该指令的执行过程如图所示。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础

34、2)2)、专用寄存器的可寻址位专用寄存器的可寻址位 可供位寻址的专用寄存器有可供位寻址的专用寄存器有1111个,个,PSWPSW,IP IEIP IE,POPO,P1P1,P2P2,P3P3,SCONSCON,A A,TCONTCON,B B,实有可寻址位实有可寻址位8383位。位。专用寄存器的可寻址位有专用寄存器的可寻址位有四种表示方法四种表示方法:1 1、直接使用位地址表示、直接使用位地址表示 (第(第29页)页)例:例:MOV CMOV C,D5HD5H;将;将PSWPSW中位地址为中位地址为D5HD5H的位状态传给累加位的位状态传给累加位C C 2 2、单元地址加位数表示、单元地址加位

35、数表示 (第(第28、29页)页)例:例:MOV CMOV C,D0H.5D0H.5;将;将PSWPSW中位地址为中位地址为D5HD5H的位状态传给累加位的位状态传给累加位C C 3 3、位名称表示、位名称表示 (第(第29页)页)例:例:MOV CMOV C,F0F0;将;将PSWPSW中位地址为中位地址为D5HD5H的位状态传给累加位的位状态传给累加位C C 4 4、专用寄存器符号加位数表示、专用寄存器符号加位数表示 (第(第29页)页)例:例:MOV CMOV C,PSW.5PSW.5;将;将PSWPSW中位地址为中位地址为D5HD5H的位状态传给累加位的位状态传给累加位C C课程:单片

36、机技术课程:单片机技术 教材:单片机基础教材:单片机基础(7 7)相对寻址方式)相对寻址方式 a a)相相对寻对寻址是址是为解决程序转移而设置的,为解决程序转移而设置的,为转移指令所用为转移指令所用。相相对寻对寻址是将程序址是将程序计计数器数器PCPC的当前的当前值值与指令与指令中给出的地址中给出的地址偏偏移量移量(relrel)相加,其和相加,其和为转为转移指令的目的地址。移指令的目的地址。注意:注意:PCPC当前当前值值是指是指执执行完行完该转该转移指令后的移指令后的PCPC值值,即,即转转移指移指令的令的PCPC值值加上加上转转移指令的字移指令的字节节数。数。转转移指令移指令转转移移到的

37、目的地址到的目的地址=转转移指令移指令PCPC当前值当前值+偏移量偏移量relrel=转转移指令地址移指令地址+转转移指令字移指令字节节数数+relrel。偏移量偏移量relrel是一个是一个带带符号的符号的8 8位二位二进进制制补码补码数,所能表示数的数,所能表示数的范范围围为为-128-128+127+127。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础b b)寻址范围:程序存储器空间)寻址范围:程序存储器空间 具体地说,相对转移是以转移指令所在地址为基点,向前具体地说,相对转移是以转移指令所在地址为基点,向前 (地址增加方向)最大可转移(地址增加方向)最大可转移(1

38、27+127+转移指令字节数)个单元地转移指令字节数)个单元地址,向后(地址减少方向)最大可转移(址,向后(地址减少方向)最大可转移(128-128-转移指令字节数)转移指令字节数)个单元地址。个单元地址。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础3.3 80C513.3 80C51单片机指令分类介绍单片机指令分类介绍 MCS-51MCS-51单单片片机机指指令令系系统统包包括括111111条条指指令令,按按功功能能可可以以划划分分为为以以下下5 5类:类:数据传送类指令(数据传送类指令(2929条);条);算术运算类指令(算术运算类指令(2424条);条);逻辑运算类

39、指令(逻辑运算类指令(2424条);条);控制转移类指令(控制转移类指令(1717条);条);位操作类指令(位操作类指令(1717条);条);课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础3.3.1 3.3.1 数据传送类指令数据传送类指令 a a)指令数目:指令数目:2929条条;b b)指令格式:指令格式:MOV MOV 目的操作数,目的操作数,源操作数;源操作数;c c)指令功能:数据传送,属于指令功能:数据传送,属于数据复制性质数据复制性质;d d)助记符类型(助记符类型(8 8种):种):MOVMOV,MOVCMOVC,MOVXMOVX XCHXCH,XCHDXC

40、HD,SWAPSWAP,PUSHPUSH,POPPOP e e)寻址方式寻址方式 源操作数源操作数:寄存器,寄存器寄存器,寄存器间间接、直接、立即、接、直接、立即、变变址址寻址;寻址;目的目的操作数操作数:寄存器,寄存器寄存器,寄存器间间接、直接接、直接寻址寻址课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础1 1、内部、内部RAMRAM数据传送指令组数据传送指令组 a a)立即数传送指令立即数传送指令指令格式指令格式相应操作相应操作操作结果操作结果说明说明MOV AMOV A,#data#data Adata Adata(A A)=data=dataMOV direct,#

41、data MOV direct,#data directdata directdata(directdirect)=data=dataMOV MOV RnRn,#data#data RndataRndata (RnRn )=data=datan=0n=07 7MOV MOV RiRi,#data,#data(Ri)dataRi)data(RiRi)=data=datai=0,1i=0,1MOV DPTRMOV DPTR,#data16#data16 DPTRdata16 DPTRdata16(DPTRDPTR)=data16=data16例:例:MOV A,#20HMOV A,#20H;指令执

42、行后(指令执行后(A A)=20H=20H例:例:MOV 20HMOV 20H,#20H#20H;指令执行后(指令执行后(20H20H)=20H=20H例:例:MOV SPMOV SP,#60H#60H;指令执行后(指令执行后(SPSP)=60H=60H例:例:MOV BMOV B,#30H#30H;指令执行后(指令执行后(B B)=30H=30H课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础例:例:MOV R1,#20HMOV R1,#20H;指令执行后(指令执行后(R1R1)=20H=20H例:例:MOV R0,#20HMOV R0,#20H;指令执行后(指令执行后(R

43、0R0)=20H=20H MOV R0,#30H MOV R0,#30H;指令执行后指令执行后((R0R0))=30H)=30H或(或(20H)=30H20H)=30H例:例:MOV DPTRMOV DPTR,#1020H#1020H;指令执行后指令执行后(DPTR)=1020H(DPTR)=1020H;(DPHDPH)=10H=10H,(DPLDPL)=20H=20H 本指令是三字节指令,第一个字节是操作码信息,第二、第三本指令是三字节指令,第一个字节是操作码信息,第二、第三字节分别是操作数(立即数)的高、低字节分别是操作数(立即数)的高、低8 8位信息,其二进制目标代位信息,其二进制目标代

44、码存放格式如下:码存放格式如下:操作码操作码1001000010010000程序程序存储器存储器立即数高立即数高8 8位位(DPHDPH)0001000000010000立即数低立即数低8 8位位(DPLDPL)0010000000100000课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 b b)内部内部RAMRAM单元之间的数据传送指令单元之间的数据传送指令指令格式指令格式相应操作相应操作操作结果操作结果MOV direct2MOV direct2,direct1 direct1direct2(direct1)direct2(direct1)(direct2direct

45、2)=(direct1)=(direct1)MOV direct,MOV direct,RnRndirect(Rndirect(Rn)(directdirect)=(=(RnRn)MOV MOV RnRn,directdirectRn(directRn(direct)(RnRn)=(direct)=(direct)MOV direct,MOV direct,RiRidirectdirect(RiRi)(directdirect)=(RiRi)MOV MOV RiRi,directdirect(RiRi)(direct)(direct)(RiRi)=(direct)=(direct)例:例:MO

46、V 30H,20HMOV 30H,20H;指令执行后(指令执行后(30H30H)=(20H20H)例:例:MOV P1,20HMOV P1,20H;指令执行后(指令执行后(P1P1)=(20H20H)例:例:MOV P2,P0MOV P2,P0;指令执行后(指令执行后(P2P2)=(P0P0)例:例:MOV 40H,P3MOV 40H,P3;指令执行后(指令执行后(40H40H)=(P3P3)例:例:MOV 0A0H,R7MOV 0A0H,R7;指令执行后(指令执行后(P2P2)=(R7R7)例:例:MOV PSW,R1MOV PSW,R1;指令执行后(指令执行后(PSWPSW)=(R1R1)

47、课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础例:例:MOV R2,20HMOV R2,20H;指令执行后(指令执行后(R2R2)=(20H20H)例:例:MOV R3,BMOV R3,B;指令执行后(指令执行后(R3R3)=(B B)例:例:MOV 40H,R0MOV 40H,R0;指令执行后(指令执行后(40H40H)=(R0R0)例:例:MOV P0,R1MOV P0,R1;指令执行后(指令执行后(P0P0)=(R1R1)例:例:MOV R0,0A0HMOV R0,0A0H;指令执行后指令执行后(R0R0)=(P2P2)例:例:MOV R1,30HMOV R1,30H

48、;指令执行后指令执行后(R1R1)=(30H30H)c c)通过累加器的数据传送指令通过累加器的数据传送指令指令格式指令格式相应操作相应操作操作结果操作结果MOV AMOV A,RnRnA(RnA(Rn)(A)=(A)=(RnRn)MOV MOV RnRn,A,ARnRn (A A)(RnRn)=(A A)MOV AMOV A,direct directA(direct)A(direct)(A A)=(direct)=(direct)MOV direct,AMOV direct,Adirectdirect(A A)(directdirect)=(A A)MOV A,MOV A,RiRi AA(

49、RiRi)(A A)=(RiRi)MOV MOV RiRi,A A(RiRi)(A)(A)(RiRi)=(A)=(A)课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础例:例:MOV A,R0MOV A,R0;指令执行后(指令执行后(A A)=(R0R0)例:例:MOV R3,AMOV R3,A;指令执行后(指令执行后(R3R3)=(A A)例:例:MOV A,BMOV A,B;指令执行后(指令执行后(A A)=(B B)例:例:MOV A,40HMOV A,40H;指令执行后(指令执行后(A A)=(40H40H)例:例:MOV PSW,AMOV PSW,A;指令执行后(指令

50、执行后(PSWPSW)=(A A)例:例:MOV 60H,AMOV 60H,A;指令执行后(指令执行后(60H60H)=(A A)例:例:MOV A,R0MOV A,R0;指令执行后(指令执行后(A A)=(R0R0)例:例:MOV R1,AMOV R1,A;指令执行后指令执行后(R1R1)=(A A)课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础2 2、外部数据存储器读、外部数据存储器读/写指令组写指令组 (外部(外部RAMRAM读写读写只能通过只能通过A A使用使用间接寻址方式间接寻址方式进行,间址寄存器进行,间址寄存器可以是可以是DPTRDPTR或或RiRi)指令格式

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁