收藏 分享(赏)

单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt

上传人:11xg27ws 文档编号:8167861 上传时间:2019-06-12 格式:PPT 页数:20 大小:220.50KB
下载 相关 举报
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第1页
第1页 / 共20页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第2页
第2页 / 共20页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第3页
第3页 / 共20页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第4页
第4页 / 共20页
单片微机原理 第三章A0 单片微机指令系统及程序设计.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、第三章 单片微机指令系统及程序设计,主讲人:吴雪,3.1 指令系统简介, 数据传送指令(28条) 算术运算指令(24条) 逻辑运算指令(25条) 控制转移类指令(17条) 位操作指令(布尔指令)17条), 单字节指令;(49条) E6H 双字节指令;(45条) 7430H 三字节指令。(17条) 852000H,一、MCS-51指令分类:,1、按功能分类:,2、按字节分类:,3、 按寻址方式分:, 立即寻址; 直接寻址; 寄存器寻址; 寄存器间接寻址; 变址寻址; 相对寻址; 位寻址。,51系列按寻址方式可分成七类:,按每条指令所需的周期时间可分为:,4.按执行速度,时钟周期=1/f晶振(振荡

2、周期) 机器周期=12*时钟周期 设晶振f=12M时钟周期=1/(12*10-6)机器周期=12*1/(12* 10-6 )s=1 s,单周期指令双周期指令四周期指令,二、指令格式,标号:以字母开始的l8个字符串组成,是符号地址,标号后必用冒号。操作码:表示指令的性质和功能,用助记符表示。操作数:表示参加运算的数据或数据有效的地址,分为目的操作数和源操作数。源操作数表示操作数的来源,目的操作数表示操作结果。注释:便于阅读程序,对指令的解释说明。注释前加分号。,MCS51单片微机采用汇编语言指令,(1)格式:,标号: 操作码 目的操作数,源操作数 ;注释,在MCS-51指令中,一般指令主要由操作

3、码、操作数组成。 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所在的地址。 (3)指定操作结果存放的地址。,例如LP: MOV A, #30H ; 立即数30HA 标号 操作码 目的操作数 源操作数 注释,(2)机器码7430H (MOV A, #30H),三、 MCS-51 系列指令寻址方式,Rn:当前选中的寄存器区中的8个工作寄存器R0R7(n=07) Ri:当前选中的寄存器区中的2个工作寄存器R0、R1#data 表示8位常数(立即数)。#datal6 表示16位常数。,(1) 寻址: 寻找操作数

4、的单元地址。,(2)常用符号说明,add16 表示16位地址。add11 表示11位地址。 direct 表示片内RAM(包括SFR)中8位直接地址。bit 代表位地址。rel 地址偏移量(指偏移字节数)。 间接寻址符号 A累加器。 B专用寄存器,用于乘法和除法指令中。 C进位标志或进位位,或布尔处理机中的累加器,常用符号说明,(3)寻址方式,例 MOV A,#30H ;#30H 表示常数30H。功能: 把常数30H送入累加器A中,程序执行结果是A=30H。注意: 立即数30H的地址在程序区。设该指令地址为2000H,其指令的机器代码为74 30,是两字节指令。程序存储区2000H 74H 2

5、001H 30H,30H,一、立即寻址,特点: 源操作数是常数,直接参与操作。,ACC,二、直接寻址方式,例如: MOV A,30H ;30H(无#号)是内存的一个单元地址。功能:把30H地址单元中的内容送累加器A。设 30H单元中存放着一个数FFH,程序执行结果A=FFH。 机器码:E530H程序存储区 片内RAM ACC2000H E5H 30H FFH FFH 2001H 30H 注意:直接地址只能表示专用寄存器、内部存储器及位地址空间,特点: 源操作数是存放数据的一个单元地址。,三、 寄存器寻址方式,例如 MOV A, RnMOV P1, AN=0,机器码为:1110 1000 E8H

6、N=1,机器码为:1110 1001 E9HN=2,机器码为:1110 1010 EAHN=7,机器码为:1110 1111 EFH,特点:源操作数在一个寄存器中即寄存器内容直接参与操作。,功能:把寄存器Rn中的内容送入累加器A中。,四、 寄存器间接寻址,特点:源操作数通过寄存器间接得到,即寄存器中存放的是操作数的地址。例如 MOV A,R0 ; ( R0) A 机器码: E6H(11100110)MOVX A, R0 功能 : Rn中存放的是一个地址,把该地址所指向的地址单元中的数据送入累加器A中。例:程序存储区 片内RAM ACC2000H E6H R0 30H 30H 80H 80H 2

7、001H,注意:间址单元可在片内低128B,也可在片外64KB中,若 MOVX A, R0程序存储区 片外RAM ACC2000H E2H R0 30H 30H ABH ABH 2001H,注意:在访问片内RAM低128B和片外RAM低256B时,用R0或R1作地址指针,在访问全部64K片外RAM时,用DPTR作地址指针。,例R1=5AH,(5AH)=20H 若 MOV A, R1 学生练习!,五、变址寻址方式(基址寄存器+变址寄存器间接寻址),特点:以DPTR或PC作基址寄存器,累加器A作为变址寄存器(存放地址偏移量),这两个寄存器相加,形成了16位的操作地址。操作数地址=基址+变址DPTR

8、(PC) A 例如 MOVC A,A+DPTR 功能 : 把A+DPTR 形成的16位的新地址中的数据送入累加器A中。设 (A)=EFH,(DPTR)=2000H,该指令执行结果是把20EFH地址单元中的数据送入A中。 在8051中,用变址寻址方式只能访问程序存储器,访问的范围为64KB。,ROM DPTRDPH 20H 1000H 93H DPL 00HACC EFHALU 20EFH 47H,特点:把当前的PC值和偏移量值相加,形成了相对转移地址。转移的目的地址是相对PC而言的。例如 SJMP 08H若该指令在2000H处,执行该指令后,(PC)=2002H(该指令是两字节指令),转移的目

9、的地址为: 2002H+08H=200AH例如 JC 03H 机器码:40H 03H若该指令在1000H处,当C=1时,跳转3个字节。执行该指令后,(PC)=1002H(该指令是两字节指令),转移的目的地址为: 1002H+03H=1005H,六、 相对寻址方式,注意: PC是执行该指令后的PC; 转移范围 -128B+127B,即以PC 为中心,向前最大可转127字节,向后最远可转128字节。,七、 位寻址方式,特点:操作数直接给出某位的地址(与字节操作时直接寻址方式类似)例如 MOV C,08HSETB 07H 功能 : 把某位的状态(0或1)送入进位位C中(C作为位累加器)。 位寻址范围: 内存RAM中的位寻址区;20H-2FH 16个单元中的128位。 可位寻址的某些专用寄存器。可以直接用寄存器名字价位数表示。如:ACC.3、PSW.5等。,3.1.4 寻址空间及常用符号说明,1.寻址空间,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报