Y2011M08D31第二章 MCS-51单片机指令系统

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

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

1、MCS-51MCS-51的基本指令共的基本指令共111111条条 单字节指令单字节指令4949条条 双字节指令双字节指令4545条条 三字节指令三字节指令1717条条 从指令的执行时间来看从指令的执行时间来看 单机器周期(单机器周期(1212个时钟振荡周期)指令个时钟振荡周期)指令6464条条 双机器周期(双机器周期(2424个时钟振荡周期)指令个时钟振荡周期)指令4545条条 只有乘、除两条指令的执行时间为只有乘、除两条指令的执行时间为4 4个机器周期个机器周期( 4848个时钟振荡周期)。个时钟振荡周期)。 在在12MHz12MHz晶振的条件下,每个机器周期为晶振的条件下,每个机器周期为1

2、s1s, 由此可见,由此可见,MCS-51MCS-51指令系统对存储空间和时间指令系统对存储空间和时间 的利用率较高。的利用率较高。第二章第二章 MCS-51MCS-51单片机指令系统单片机指令系统二、指令的三种表示形式二、指令的三种表示形式 指令有二进制,十六进制和助记符等三种表示形式指令有二进制,十六进制和助记符等三种表示形式 二进制形式二进制形式 0010010000001000B0010010000001000B;十六进制形式为十六进制形式为2408H2408H;指令的助记符形式为:指令的助记符形式为: ADD AADD A,08H 08H ;第第1 1节节 概述概述一、指令格式一、指

3、令格式三、指令的字三、指令的字节节数数 1 1、单单字字节节指令:指令:4949条条 只有只有1 1个二个二进进制字制字节节,由,由8 8位二位二进进制数制数组组成;成; 又可分又可分为为两两类类: 无操作数无操作数单单字字节节指令指令INC DPTR INC DPTR 含有操作数寄存器号的含有操作数寄存器号的单单字字节节指令指令MOV A, R0 MOV A, R0 2 2、双字、双字节节指令:指令:4646条条 存放两个存存放两个存储单储单 元内,操作元内,操作码码在前,操作数在后;在前,操作数在后; 3 3、三字、三字节节指令指令 第第1 1字字节为节为 操作操作码码,第,第2 2、3

4、3字字节为节为 操作数或操作数地址操作数或操作数地址指令字指令字节节数越少,数越少,执执行速度越快,所占存行速度越快,所占存储单储单 元越少。元越少。四、指令的分类 数据传送指令(28条):单片机片内 RAM和特殊功能寄存器SFR之间传送数据 ; 算术运算指令(24条):对两个操作数 进行加、减、乘、除等算术运算; 逻辑操作和环移指令(24条):逻辑 乘 、逻辑加、逻辑取反和逻辑异或; 控制转移指令(17条):用于改变程序 执行的流向; 位操作指令(17条):传送、置位、位 运算、位控制转移等;1 1指令系指令系统统中所用符号的中所用符号的说说明明 (1 1)RnRn:当前:当前选选定寄存器定

5、寄存器组组的工作寄存器,的工作寄存器,n=07n=07 (2 2)RiRi:表示寄存器:表示寄存器间间接接寻寻址,址,RiRi只能是只能是R0R0或或R1R1。 (3 3)datadata:8 8位立即数,位立即数,00HFFH00HFFH (4 4)data16data16 :1616位立即数,位立即数,0000HFFFFH0000HFFFFH (5 5)addr16addr16:1616位目位目标标地址,地址,64K64K范范围围内内寻寻址;址; (6 6)addr11addr11:1111位目位目标标地址,地址,2K2K范范围围内内寻寻址;址; (7 7)directdirect:8 8

6、位直接地址,可以是片内位直接地址,可以是片内RAMRAM区的某一区的某一单单 元或某一元或某一SFRSFR的地址;的地址; (8 8)DPTRDPTR:表示以:表示以DPTRDPTR为为数据指数据指针针的的间间接接寻寻址,用址,用 于于对对外部外部64KRAM64KRAMROMROM寻寻址。址。 (9 9)bitbit:位地址区的直接:位地址区的直接寻寻址。址。 (1010)relrel:8 8位位带带符号地址偏移量(符号地址偏移量(128128127127)。)。 (1111):当前指令所在地址。):当前指令所在地址。 (1212):间间接接寻寻址寄存器或基址寄存器的前址寄存器或基址寄存器的

7、前缀缀MCS-51指令分为两类,一类执行后对PSW 中某些标志位的状态有影响,另一类指令 执行后不会影响到标志位状态;不同指令对标志位的影响不同,每条指令 对不同标志位的影响也不同。指令的一个重要组成部分是操作数,计算机执行程序实际指令的一个重要组成部分是操作数,计算机执行程序实际 上是不断寻找操作数并进行操作的过程。上是不断寻找操作数并进行操作的过程。 寻址方式就是在指令的执行过程中给出参与运算的操作数寻址方式就是在指令的执行过程中给出参与运算的操作数 的地址的方法;的地址的方法;MCS-51MCS-51指令操作数的寻址方式有指令操作数的寻址方式有7 7种:种: 直接寻址直接寻址 立即寻址立

8、即寻址 寄存器寻址寄存器寻址 寄存器间接寻址寄存器间接寻址 变址寻址变址寻址 位寻址位寻址 相对寻址相对寻址第二节第二节 寻址方式寻址方式寻址方式及相关的存储空间寄存器寻址:R0R7、A、B、C(Cy)、AB(双 字节)、DPTR(双字节)直接寻址:内部RAM低128个字节(00H7FH)特殊功能寄存器(80HFFH)内部RAM位寻址区的128个位(20H2FH)特殊功能寄存器中可寻址的位(80HFFH)立即寻址:程序存储器(常数)寄存器间接寻址:内部数据存储器RAM(R0、R1、SP(仅 PUSH、POP)外部数据存储器单元的低128位(R0、R1)外部RAM或I/O接口(R0、R1、DPT

9、R)基址变址寻址:程序存储器(A+PC、A+DPTR)位寻址:相对寻址:-128+127一、寄存器一、寄存器寻寻址址 以通用寄存器的内容为操作数的寻址方式INC Rn INC Rn ; (Rn)+1Rn(Rn)+1Rn 累加器累加器A A、B B、DPTRDPTR和和R0R7R0R7可用可用于寄存器于寄存器寻寻址址 方式方式访问访问 ; 例:MOV A, RnMOV A, Rn; Rn A Rn AMOV A, R0 ; R0 A,R0为寄存器寻址 MUL AB ; AB BA,A,B为寄存器寻址 MOV B, R0 ; R0 B,R0为寄存器寻址PUSH ACC ;A的内容入栈,A为直接寻址

10、 ADD A, ACC ;A为寄存器寻址,ACC为直接寻 址二、直接寻址二、直接寻址 指令中直接给出操作数地址(dir)的寻址方式; 寻址对象:寻址对象:1 内部数据存储器,在指令中以直接地址表示;2 特殊功能寄存器SFR,在指令中用寄存器名称表示。 1 1、直接给出存储单元的物理地址、直接给出存储单元的物理地址MOV AMOV A,direct direct MOV A MOV A,3AH 3AH ;AA(3AH3AH)MOV AMOV A,SP SP ;ASPASPMOV A MOV A,81H 81H ;AA(81H 81H ) 2 2、A A寄存器寄存器INC INC A A; A A

11、 (A A)-1 -1 (寄存器寻址)(寄存器寻址)INC INC ACC ACC; ; (直接寻址)(直接寻址)INC INC 0E0H0E0H; ; (直接寻址)直接寻址) 3 3、位地址与字节地址区别、位地址与字节地址区别MOV A MOV A,20H 20H ;AA(20H20H)MOV CMOV C,20H 20H ;CC(20H20H)直接寻址RAM单元: 内部RAM低128个字节(00H7FH) 特殊功能寄存器(80HFFH) 内部RAM位寻址区的128个位(20H2FH) 特殊功能寄存器中可寻址的位(80HFFH)三、立即寻址三、立即寻址操作数在指令字节中给出;为了与直接寻址中

12、的直操作数在指令字节中给出;为了与直接寻址中的直接地址区别,操作数前面加接地址区别,操作数前面加“ “# #” ”操作数可以是操作数可以是8 8位(位(#data#data), ,也可是也可是1616位(位(#data16#data16)MOV AMOV A,#3AH #3AH ;A3AHA3AHMOV AMOV A,3AH 3AH ; AA(3AH3AH)MOV DPTR, #1828H; DPTR 1828H MOV DPTR, #1828H; DPTR 1828H四、寄存器间接寻址四、寄存器间接寻址 以寄存器中的内容为地址,该地址的内容为操作数的寻址方 式 为了区别于寄存器寻址,在后者寄

13、存器名称前面加为了区别于寄存器寻址,在后者寄存器名称前面加“ “” ” 寄存器间接寻址的存储空间包括内部数据存储器和外部数 据存储器 内部数据寄存器可用内部数据寄存器可用R0R0和和R1R1完全寻址,外部完全寻址,外部RAMRAM由由P2P2口口 提供高提供高8 8位地址,位地址, R0 R0和和R1R1提供低提供低8 8位地址共同构成位地址共同构成1616位地址位地址 进行寻址;进行寻址; 或者通过或者通过1616位位DPTRDPTR寄存器进行完全寻址;寄存器进行完全寻址; 访问内部访问内部RAMRAM或外部或外部RAMRAM的低的低256256字节时只能用字节时只能用R0R0或或R1R1作

14、作 为间址寄存器;为间址寄存器;MOV AMOV A, R0 R0 ;AR0AR0MOV A MOV A,R0 R0 ;AA(R0R0)寄存器间接寻址 1、二次寻找操作数地址的寻址方式; 2、可以拓宽单片机的寻址范围;可以对片内 RAM寻址(00H7FH),也可以对片外 RAM寻址(0000HFFFFH); 3、寄存器间址指令不能用于寻址SFR;MOV R0, #81HMOV A, R0五、变址寻址五、变址寻址 用于访问程序存储器中的数据表格,以程序计数器(用于访问程序存储器中的数据表格,以程序计数器(PCPC) 或数据指针(或数据指针(DPTRDPTR)作为基址寄存器,以累加器)作为基址寄存器,以累加器A A作为变作为变 址寄存器。基址寄存器和变址寄存器的内容相加形成址寄存器。基址寄存器和变址寄存器的内容相加形成1616位位 地址,即为操作数的地址。地址,即为操作数的地址。 只能对程序存储器中的数据进行操作;只能对程序存储器中的数据进行操作; 单字节两周期指令;单字节两周期指令; 程序计数器(程序计数器(PCPC)或数据指针()或数据指针(DPTRDPTR)中应预先存放)中应预先存放 操作数的基地址

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

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

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