51单片机 第三章 指令系统

上传人:e****s 文档编号:1350131 上传时间:2017-06-08 格式:PDF 页数:7 大小:730.33KB
返回 下载 相关 举报
51单片机 第三章 指令系统_第1页
第1页 / 共7页
51单片机 第三章 指令系统_第2页
第2页 / 共7页
51单片机 第三章 指令系统_第3页
第3页 / 共7页
51单片机 第三章 指令系统_第4页
第4页 / 共7页
51单片机 第三章 指令系统_第5页
第5页 / 共7页
点击查看更多>>
资源描述

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

1、第三章 MCS-51指令系统第三章第三章 MCS-51指令系统指令系统单片机原理单片机原理及应用及应用第三章 MCS-51指令系统2第一节第一节 指令系统概述指令系统概述一、指令的概念机器语言: 用二进制代码来描述指令功能的语言。目标程序: 用机器语言组成的程序。汇编语言: 为方便编写、记忆和阅读,用助记符描述指令。汇编指令格式:标号 : 操作码 目的操作数 , 源操作数 ; 注释例: LOOP: ADD A, #10H ;立即数 #10H送 A 机器码: 2410H第三章 MCS-51指令系统3机器码指令按指令的字节长度划分,有三种:(1)单字节指令: 只有一字节的操作码,操作数隐含其中。如

2、指令 “INC A”,操作码 04H,在 ROM中占一个字节(2)双字节指令: 一个字节的操作码,一个字节的操作数。如指令 “ADD A, #22H”操作码和操作数为 24H 22H,目的操作数隐含在操作码中,在 ROM中占两个字节。(3)三字节指令: 一个字节操作码,两个字节操作数。例如指令 “MOV 5EH, 4FH”其中操作码为 85H,目的操作数 5EH,源操作数 4FH,在ROM中占三个字节。第三章 MCS-51指令系统4指令系统概述9 MCS-51系列使用 42种助记符,有 51种基本操作。通过助记符及源和目的操作数的不同组合构成了 MCS-51的 111条指令。9 MCS-51的

3、指令系统按字节数分为: 单字节指令 49条; 双字节指令 46条; 三字节指令 16条。9按指令执行的周期划分: 单周期指令有 57条; 双周期指令 52条; 四周期指令 (乘法和除法 ) 2条。当主频为 12MHz时,单周期指令的执行时间为 1 s。第三章 MCS-51指令系统5二、指令中常用符号描述指令的一些符号意义 : Ri和 Rn:R表示当前 工作寄存器区 中的寄存器i取 0或 1,即 R0和 R1 n取 0 7,即 R0 R7工作寄存器区是由 PSW的 RS1和 RS0位决定的。 #data: #表示立即数, data为 8位常数。 #data是指包含在指令中的 8位立即数。 #da

4、ta16:包含在指令中的 16位立即数。第三章 MCS-51指令系统6 rel:相对地址,地址偏移量,以补码形式表示,范围为 -128 +127,主要用于 SJMP(无条件相对短转移指令 )和所有的条件转移指令中。 addr16: 16位目的地址, 64KB程序地址范围,主要用于 LJMP和 LCALL。 addr11: 11位目的地址, 2KB程序地址范围,主要用于 AJMP和 ACALL。 direct:表示 8位内部 RAM单元地址,包括 SFR的地址。SFR可直接用名称来代替直接地址。 bit:内部 RAM或 SFR中的 可直接寻址位 。第三章 MCS-51指令系统7 :间接寻址或基址

5、寄存器的前缀。例如: Ri、 DPTR, A+DPTR (X):表示 X中的内容。 (X):表示由 X寻址的单元中的内容,即 (X)作地址,该地址的内容用 (X)表示。 /:表示对该位操作数取反,但不影响该位的原值。:表示指令操作流程,将箭头一方的内容送入箭头另一方的单元中去。 $:当前指令的地址第三章 MCS-51指令系统8指令对标志位的影响第三章 MCS-51指令系统9第二节 寻址方式MCS -51指令系统中有 7种寻址方式: 立即寻址 ; 直接寻址 ; 寄存器寻址 ; 寄存器间接寻址 ; 基址寄存器加变址寄存器间接寻址 ; 相对寻址 ; 位寻址。第三章 MCS-51指令系统10一、立即寻

6、址操作数显现在指令中,它紧跟在操作码的后面,与操作码一起存放在程序存储器内。例如: ADD A, #34H 第三章 MCS-51指令系统11二、寄存器寻址指定某寄存器的内容作为操作数。例如: MOV A, R0 ; (A) (R0)操作码:在该条指令中,源操作数和目的操作数是由寻址 R0和A得到。寄存器包括: R0 R7、 A、 B、 DPTR和布尔处理器的C。1 1 1 0 1 r r r第三章 MCS-51指令系统12三、间接寻址把寄存器的内容作为操作数的地址。 寻址内部 RAM区时 :只能用 R0、 R1作地址指针,但不能访问 SFR; 当访问外部 RAM时 :可用R0、 R1及 DPT

7、R作为地址指针。 寄存器间接寻址符号为 第三章 MCS-51指令系统13四、直接寻址在指令中直接给出操作数所在的地址。直接寻址可以访问 3 种存储器空间 : (1) 内部 RAM的低 128个字节单元 (00H 7FH)。例如: MOV A, 00H ; (A) (00H) R0(2) 位地址空间。例如: MOV C, E0H ; Cy (位 E0H) Acc.0(3) SFR只能用直接寻址方式进行访问。例如: MOV A, P1 ; Acc P1(地址 90H)第三章 MCS-51指令系统14五、变址寻址基址寄存器 加 变址寄存器 间接寻址。用于 ROM的访问。数据指针 DPTR程序计数器

8、PC变址寻址有两类:(1)以 PC作基址MOVC A, A+PC ; (PC) (PC)+1;(A) (A)+(PC)(2)以 DPTR作基址MOV DPTR, #2000H ;DPTR赋值MOV A, #09HMOVC A, A+DPTR作基址寄存器, A作变址寄存器第三章 MCS-51指令系统15六、相对寻址用于访问 ROM,常用在相对转移指令中。例如: JZ rel ;rel范围 -128 +127在使用相对寻址时注意 : 指令执行时修正 PC例: JZ 75H 是双字节指令。若该指令地址为 2000H,则执行该指令时修正 PC值为2002H,若满足条件,则跳转到 2077H。当前 PC

9、值本指令字节长度偏移量 rel实际地址第三章 MCS-51指令系统16 偏移量 rel是有符号的单字节数,以补码表示。 rel数值范围: -128 +127例如: JZ 08HJZ 0F4H第三章 MCS-51指令系统17特定寄存器寻址A和 DPTR使用最频繁,称为 特定寄存器 。对 特定寄存器 的操作指令,不需要指出其地址字节,指令码本身隐含了 A或 DPTR。例如:CPL A ;累加器内容取反SWAP A ;累加器高低半字节内容交换INC DPTR ;数据指针内容加 1第三章 MCS-51指令系统18七、位寻址位寻址指令中直接给出 位地址 ,可直接对内部 RAM中的 128位和 SFR中的

10、 93位进行寻址;位操作指令可进行传送及逻辑操作。例如 : SETB PSW.3 ; (PSW.3) 1该指令说明:9将 PSW中的 RS0置 19为双字节指令9机器代码为 D2H D3H9指令中直接给出位地址 D3H 第三章 MCS-51指令系统197 种寻址方式及使用空间下一节下一节第三章 MCS-51指令系统20第三节 MCS-51指令系统按 功能 可分为 5 类:9数据传送9算术运算9逻辑运算9位操作9控制转移第三章 MCS-51指令系统21一、数据传送指令9影响标志:奇偶标志 P 9分 3类:数据传送: MOV、 MOVX、 MOVC数据交换: XCH、 XCHD、 SWAP堆栈操作

11、: PUSH、 POP第三章 MCS-51指令系统221.内部数据传送指令一般传送指令格式: MOV , 功能:字节变量传送以 A为目的操作数例 3-1 MOV A, #4DH ;立即寻址MOV A, 3FH ;直接寻址MOV A, R0 ;间接寻址MOV A, R7 ;寄存器寻址以 A为源操作数例 3-2 MOV R7, A ;寄存器寻址MOV 90H, A ;直接寻址MOV R0, A ;间接寻址第三章 MCS-51指令系统23两个 RAM单元或 SFR之间传送数据。源操作数有直接 (direct)、间接 (Ri)和寄存器 (Rn)寻址三种类型。例 3-3 MOV 3EH, 3FH MOV

12、 PSW, #08H ;定义工作寄存器区 1MOV 30H, #30HMOV R7, 3FH MOV R0, #30H MOV 40H, R0 MOV R0, #20H MOV R1, 20H第三章 MCS-51指令系统24例 3-4 设内部 RAM 30H单元内容为 40H, 40H内容为10H, P1口作为输入口,其输入的数据为 0CAH,试判断下列程序的执行结果。机器码 指 令7830H MOV R0, #30H E6H MOV A, R0 F9H MOV R1, A 87F0H MOV B, R1 A790H MOV R1, P1 85A090H MOV P2, P1 10H40H40

13、H30H内部 RAM第三章 MCS-51指令系统25栈操作指令格式: PUSH direct 入栈操作: (SP) (SP)+1(SP) (direct)例 3-5 设 SP为 09H, DPTR内容为 0123H,试分析下列指令的执行结果PUSH DPL PUSH DPH第三章 MCS-51指令系统26格式: POP direct 出栈操作: (direct) (SP)(SP) (SP) - 1例 3-6 设 (SP) 32H,内部RAM的 31H、 32H中的内容分别为 23H、 01H,分析下列指令的执行结果。POP DPHPOP DPL注意: PUSH和 POP指令是成对出现的。第三章

14、 MCS-51指令系统27数据交换指令格式: XCH A, 说明:指定字节的内容与 A进行字节交换。XCH A, directXCH A, RiXCH A, Rn例 3-7 设 R0内容为 20H, A内容为 3FH,内部 RAM的20H单元内容为 75H,若执行指令:XCH A, R0则结果为: (20H) 3FH, (A)=75H第三章 MCS-51指令系统28 格式: XCHD A, Ri 功能:低半字节数据交换说明: A的低 4位与内部 RAM的低 4位数据交换。不影响高 4位和标志位。例 3-8 设 R0内容为 20H,累加器内容为 36H,内部RAM的 20H单元内容为 75H。若

15、执行指令XCHD A, R0其结果为 (20H) 01110110B 76H(A) 00110101B 35H第三章 MCS-51指令系统292.外部 RAM数据传送MOVX , 功能:对 A进行的外部 RAM数据传送。MOVX A, RiMOVX Ri, AMOVX A, DPTRMOVX DPTR, A访问外部 RAM:用 Ri、 DPTR。第三章 MCS-51指令系统30例 3-10 某单片机系统配有 2KB的外部 RAM,试编程序把 0FAH单元内容传送到 04FFH单元。MOV DPTR, #04FFHMOV R0, #0FAHMOVX A, R0MOVX DPTR, A 说明:在对外部 RAM数据传送时,单片机引脚 WR/RD起作用。第三章 MCS-51指令系统313.查表指令访问 ROM包括:跳转指令、查表指令读取 ROM中的表格数据或常数用查表指令:MOVC A, A+DPTRMOVC A, A+PC 以 DPTR作为基址寄存器,可以访问最多 256项,表格可放在 64KB ROM任何位置。 以 PC作为基址寄存器,表格位置只能设在查表指令操作码下的 256字节范围。第三章 MCS-

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

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

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