MCS-51单片机指令关键系统

  • 格式:ppt
  • 大小:427.00 KB
  • 文档页数:95

下载文档原格式

  / 95
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SJMP LOOP
;转移到LOOP
TIME: MOV R6,#200
;延时子程序TIME
TIME1:MOV R7,#200
TIME2:NOP
NOP
ห้องสมุดไป่ตู้NOP
DJNZ R7,TIME2
DJNZ R6,TIME1
RET
END
2.1 汇编语言与指令系统简介
一、汇编语言程序设计的意义
什么是程序? 完成某项特定任务的指令的集合。 计算机按程序一条一条地依次执行指令,从而完成指定任务。 要让计算机完成各项任务,就应设计各种程序。 程序设计语言:
MCS-51单片机指令关键 系统
三、 寻 址 方 式
操作数是指令的重要组成部分,指出了参与操作的数据 或数据的地址。寻找操作数地址的方式称为寻址方式。一条 指令采用什么样的寻址方式,是由指令的功能决定的。寻址 方式越多,指令功能就越强。
MCS-51指令系统共使用了7种寻址方式,包括寄存器寻 址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、 相对寻址和位寻址。
1. 寄存器寻址 寄存器寻址是指将操作数存放于寄存器中,寄存器包括 工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器 DPTR等。例如,指令MOV R1,A的操作是把累加器A中的 数据传送到寄存器R1中,其操作数存放在累加器A中,所以 寻址方式为寄存器寻址。 如果程序状态寄存器PSW的RS1:RS0=01(选中1组工作 寄存器,对应地址为08H~0FH),设累加器A的内容为20H, 则执行MOV R1,A指令后,内部RAM 09H单元的值就变为 20H,如图2.1所示。
机器语言: 汇编语言: 高级语言:
用二进制代码表示指令和数据。 用助记符表示指令操作功能,用标号表示操作对象。
独立于机器,面向过程,接近自然语言和数学表达式.
汇编语言程序的每一条语句都与计算机的某一条指令对应, 所以必需熟悉指令系统。
指令 = 操作码 + 操作数 操作码——表示了该指令所能执行的操作功能。 操作数——表示参加操作的数的本身或操作数所在的地址。 MCS-51指令格式:
注释是对指令的解释说明,用以提高程序的可读性; 注释前必须加分号。
MCS-51单片机指令关键 系统
二、MCS-51系列单片机的指令系统
111条指令,共分五大类: 数据传送类;(29条) 算术运算类;(24条) 逻辑运算类;(24条) 控制转移类;(17条) 位操作类。(17条)
MCS-51单片机指令关键 系统
[标号:标] 号操是作程码序助员记根符据编[第程一需操要作数给]指令[,设第定二的操作符数号]地址[;,注释可]有 可无;标号由1~8个字符组成,第一个字符必须是英文字,不 能是数字或其它符号;标号后必须用冒号。
操作码表示指令的操作种类,如MOV表示数据传送操作, ADD表示加法操作等。
操作数或操作数地址表示参加运算的数据或数据的有 效地址。操作数一般有以下几种形式:没有操作数项,操 作数隐含在操作码中,如RET指令;只有一个操作数,如 CPL A指令;有两个操作数,如MOV A,#00H指令,操作数 之间以逗号相隔;有三个操作数,如CJNE A,#00H,NEXT指 令,操作数之间也以逗号相隔。
MCS-51单片机指令关键 系统
采用寄存器寻址的指令如下:
MOV P1,A
;将累加器A的内容送 到P1口
MOV P1,R4
;将寄存器R4的内容送到P1口
CLR A
;将累加器A清0
CPL A
;将累加器A中的内容取反
RL A
;将累加器A的内容循环左移
MCS-51单片机指令关键 系统
内 部RAM
R1
2 0H
第二章 MCS-51单片机指令系统
内容提要:
§2-1 汇编语言与指令系统简介 §2-2 数据传送类指令 §2-3 算术运算类指令 §2-4 逻辑运算类指令 §2-5 控制转移类指令 §2-6 位操作类指令 §2-7 伪指令
项目引入
1.项目描述 利用P1口外接的8只LED发光二 极管模拟彩灯 。 2.硬件电路与工作原理 让学生根据任务分析硬件要求, 画出具体电路,并在实验开发板 上接线 3.程序设计(给出控制程序)
指令中操作数的描述符号: Rn —— 工作寄存器R0 ~ R7
@Ri —— 间接寻址寄存器R0、R1 Direct —— 直接地址,包括内部128B RAM单元地址、
26个SFR地址。 #data —— 8位常数 #data 16 —— 16位常数 addr 16 —— 16位目的地址 addr 11 —— 11位目的地址
8051
开始 55H送P1口 延时0.3秒 AAH送P1口 延时0.3秒
流水式彩灯控制程序框图
控制程序
ORG 0000H
LOOP: MOV P1,#55H ;将立即数55H送P1端口
LCALL TIME
;调延时子程序TIME
MOV P1,#0AAH
;将立即数AAH送P1端口
LCALL TIME
;调延时子程序TIME
rel —— 8位带符号的偏移地址 DPTR —— 16位外部数据指针寄存器
bit —— 可直接位寻址的位
A —— 累加器 B —— 寄存器B C —— 进、借位标志位,或位累加器 @ —— 间接寄存器或基址寄存器的前缀 / —— 指定位求反 (x)—— x地址单元中的内容 ((x)) —— x地址单元中的内容为地址的单元中的内容 $ —— 当前指令的地址
MCS-51单片机指令关键 系统
内 部 RAM
A
88H
88H
3A H
图2.2 直接寻址示意图
采用直接寻址的指令如下:
MOV P1,20H
;将20H单元的内容传送到P1口
0 9H
A 20H
01 RS1 RS0
图2.1 寄存器寻址示意图
MCS-51单片机指令关键 系统
2. 直接寻址 直接寻址是指把存放操作数的内存单元的地址直接写在 指令中。在MCS-51单片机中,可以直接寻址的存储器主要 有内部RAM区和特殊功能寄存器SFR区。 例如,指令MOV A,3AH执行的操作是将内部RAM 中 地址为3AH的单元内容传送到累加器A中,其操作数3AH就 是存放数据的单元地址,因此该指令是直接寻址。 设内部RAM 3AH单元的内容是88H,那么指令MOV A, 3AH的执行过程如图2.2所示。