第3章 80C51单片机指令系统及程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sjmploop313寻址方式313寻址方式符号含义rn表示当前选定寄存器组的工作寄存器r0r7ri表示作为间接寻址的地址指针r0r1data表示8位立即数即00hffh表示16位立即数即0000hffffhdata161符号约定addr16表示16位地址用于64k范围内寻址addr11表示11位地址用于2k范围内寻址direct8位直接地址可以是内部ram区的某单元或某专用功能寄存器的地址rel带符号的8位偏移量128127bit位寻址区的直接寻址位xx地址单元中的内容或x作为间接寻址寄存器时所指单元的内容将将后面的内容传送到前面去2寻址方式取得操作数的地址的方法叫做寻址方式
PUSH direct POP direct PUSH 0E0H POP 0D0H
直接地址
PUSH Acc POP PSW
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
3.2.2 算术运算类指令(24条)
——普通加法指令(4条)
Rn ADD A , direct
@Ri #data
ADD ADD ADD ADD
#data16
addr16 addr11 direct Rel
Bit
(X) ←
位寻址区的直接寻址位
X地址单元中的内容,或X作为间接寻址寄存器时所指单元的内容 将 ← 后面的内容传送到前面去
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
2、寻址方式
取得操作数的地址的方法叫做寻址方式。寻址 方式与计算机的存储空间结构是密切相关的。灵活运 用各种寻址方式,可以大大的提高程序的运行效率。 直接寻址 立即寻址 寄存器寻址 寄存器间接寻址 相对寻址 变址寻址 位寻址
位操作指令:2 17 条 四周期指令: 条
例: MOV 例: ADD 例: MOV 例: ANL 例 : MOV 例: MOV 例: SJMP 例 : MOV 例: MOV
A,20H A,20H A,R0 A,20H A,20H A,20H LOOP 40H,20H 40H,20H
例:MUL CPL AB P1.0 例:
3.1.1 指令的表示
指令:计算机用于控制各功能部件完成指定动 作的指示和命令,不同功能指令的有序组合就 构成了程序。
80C51系列单片机的指令系统专用于51系列 单片机,共有111条指令。
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
1、指令的格式
指令按字节长度可以分为三种:
7 0
单字节指令:
母与数字。 与指令功能相关。
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
操作码和操作数是指令主体,称为指令可执行部
分,指令表中可查出对应指令代码。 举例: 汇编语言: 机器语言: 11101000 01111110 01110101 7E 32H 00110010 75 40 64H 01000000
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
基址加变址间接寻址
ROM
2045H
目的地
86H
A
2045H
A
变址寻址 主要用于查 常数表
DPTR PC
基址寄存器 2000H
变址寄存器 45H
MOVC A, @A+DPTR
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
相对寻址
28H 0 0 0位地址 00 27H 0 0 0 1
7E 76 6E 66 5E 56 4E 46 7D 75 6D 65 5D 55 4D 45
21H 20H
3E
· · ·
· · · 3C
34 2C 24 1C 14 0C 04
7C 74 6C 64 5C 54 4C 44
7B 73 6B 63 5B 53 4B 43
注意:只有第1条指令影响P标志,其它指 令对标志位无影响。
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
——减1指令(4条) DEC DEC DEC DEC A Rn @Ri direct ;A←A-1 ;Rn←Rn-1 ;(Ri)←(Ri)-1 ;(direct)←(direct)-1
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
3.1.3 寻址方式 1、符号约定
符号 Rn Ri #data 含 义 表示当前选定寄存器组的工作寄存器R0~R7 表示作为间接寻址的地址指针R0~R1 表示8位立即数,即00H~FFH 表示16位立即数,即0000H~FFFFH 表示16位地址,用于64K范围内寻址 表示11位地址,用于2K范围内寻址 8位直接地址,可以是内部RAM区的某单元或某专用功能寄存器的地址 带符号的8位偏移量(-128~+127)
注意:1. 只有第1条指令影响P标志,其它 指令对标志位无影响。 2. DPTR只有加1指令,无减1指令
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
——16位数据传送指令(1条)
MOV DPTR,#data16 例: MOV DPTR,#2000H
——外部数据传送指令(4条)
MOVX <目的操作数>,<源操作数>
A MOVX
A
@DPTR , @DPTR
输出指令 输入指令
@Ri
@Ri
例:3-1 演示
单片机原理与应用
直接寻址
目的地
直接给出地址 30H——直接寻址 目的地
P1是符号地址 也是直接寻址
注:寻址是寻操作数的“地 操作数 址”!
30H
内部RAM 或SFR区
XXH
MOV P1,
30H
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
寄存器寻址
目的地
目的地址 也可以是 寄存器。
R0-R7 A B DPTR
A,Rn A,direct A, @Ri A,#data
注意:1.本指令影响Cy,AC,Ov,P等标志。 2.求和操作既可看成是有符号数运算, 也可看成是无符号数运算,完全由程序员编程 时自行设定。 3. Cy 按照无符号数运算规则影响, Ov 按照有符号数运算规则影响。
第3章 80C51单片机指令系统及程序设计
80H 54H
PC 当前PC值 PC 转移到目的地址
2002H 200AH
· · · · · ·
2002H PC + 08H =200AH
SJMP 08H
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
位寻址
单元地址 MSB LSB 2FH 7F
2EH 2DH 2CH 2BH 2AH 29H 28H 77 6F 67 5F 57 4F 47
XCHD A , @Ri
A
XCHD A , @R0
例:3-3 演示 例:3-3 仿真
3)累加器A中高4位和低4位交换(1条)
SWAP A
62H 26H
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
——查表类指令(2条)
MOVC A , @A+PC MOVC A , @A+DPTR
——堆栈操作指令(2条)
2. 减法指令是带借位的,若不需要带借位减, 可在减法指令前先清除借位位。
例:MOV A , #78H CLR C SUBB A , #26H
例:3-5 演示 例:3-5 仿真
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
——加1指令(5条)
INC INC INC INC INC
A ;A←A+1 Rn ;Rn←Rn+1 @Ri ;(Ri)←(Ri)+1 direct ;(direct)←(direct)+1 DPTR ;DPTR←DPTR+1
MOVX
@R0 A A , ,@R0
例:3-1 仿真
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
例:将片外RAM中2000H单元中的内容取 出,传送到片外2003H单元中去。 MOV DPTR,#2000H MOVX A,@DPTR MOV DPTR,#2003H MOVX @DPTR,A 片内传送与片外传送分别用什么指令? 如何将片内30H单元内容传送至片外61H单元?
例:3-2 演示
例:3-2 仿真
注意MOV和 MOVX的区别 的使用 区别
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
——交换类指令(5条)
1)字节交换指令(3条)
direct XCH A , Rn @Ri
A中内容与RAM内容互换
XCH A , R5
A 3AH
R5 20H
2)低半字节交换指令(1条) A中低4位与RAM低4位互换
MOV
MOV MOV
A,R0
R6,#32H 40H,#100
E8H
01100100
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
3.1.2 指令分类 1、功能分 2、字节长度分 数据传送指令: 29条 3、执行时间分 算术运算指令: 24条 单字节指令:49条 逻辑运算指令: 24 条 单周期指令: 64 条 双字节指令:46条 控制转移指令: 17 条 双周期指令: 45 条 三字节指令:16条
例:3-4 演示 例:3-4 仿真
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
——减法指令(4条)
Rn SUBB A ,
direct
@Ri #data
SUBB SUBB SUBB SUBB
A,Rn A,direct A,@Ri A,#data
1. 减法指令影响OV、CY、AC、P标志位
操作数
目的地
寄存器
XXH
MOV P1, A MOV R3, #1
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
寄存器间接寻址 目的地
寄存器间 接寻址适合 处理大批同 类型的数据
内部RAM
50H
65H
操作数
R0
寄存器
目的地
R1 DPTR
寄存器间接 寻址寄存器
50H MOV P1, @R0
3.2 80C51单片机指令分类介绍
3.2.1 数据传送类指令 ——8位数据传送指令(15条)
目的地址
MOV <目的操作数>,<源操作数>
A
数 据
源地址
20H
A Rn A Rn 源操作数与 MOV A ,#20H MOV 目的操作数不 MOV MOV A A , , 20H R3 MOV MOV MOV MOV 20H 20H A A , , , #10 @R1 @R0 R4 direct1 , direct2 MOV MOV MOV MOV MOV MOV @R1 @R1 @R1 20H 20H R7 R7 , , , #20H 20H 34H A #22 23H AA MOV 20H , #34H 能同时与通用 全部指令不影响标志位 CY AC OV @Ri @Ri 寄存器相关 #data 立即数只能 MOV R1,R2 例:3-1 演示 做源操作数 MOV R0,@R1 例:3-1 仿真
7A 72 6A 62 5A 52 4A 42
想一想 : 71 70 69 68 如果想使 27H 61 60 单元的第 3 位 59 58 置1,该怎么 51 50 49 办呢 ? 48
41 40
79
78
26H 37 直接地址或 Cy36 25H 24H 23H 22H 21H 20H 2F 27 1F 17 0F 07 2E 26 1E 16 0E 06
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
第3章
80C51单片机指令系统及程序设计
3.1 80C51单片机指令概念及寻址方式
3.2 80C51单片机指令分类介绍
3.3 汇编语言程序设计 3.3 C51语言程序设计基础
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
3.1 80C51单片机指令概念及寻址方式
27H
3F
3D
35 2D 25 1D 15 0D 05
3B
33 2B 23 1B 13 0B 03
3A
32 2A 22 1A 12 0A 02
39
31 29 21 19 11 09 01
38
30 28 20 18 10 08 00
SETB 3DH 3CH
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
单片机原理与应用
——带进位加法指令(4条)
Rn ADDC A , direct @Ri
#data
ADDC ADDC ADDC ADDC
A,Rn A,direct A, @ Ri A,#data
除相加时要考虑进位外,其余操作与前面ADD 相同。 例: MOV A , #03H ADD A , #26H
操作码
例如: MOV A,R0
7 0 7 0
双字节指令:
操作码
操作数
例如:MOV A,30H
7 0 7 0 7 0
三字节指令:
操作码
操作数1
操作数2
例如:MOV 30H,#20H
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
指令的格式:
标号: 操作码 操作数或操作数地址 ;注释
指明指令的功能 指令存放位置的符号地 分号后面是程序或指令 操作码和操作数是指令主体。 指令的操作对象,数据、 址,根据编程的要求决 的说明,对程序的执行 地址、寄存器名及约定 定是否加标号。标号应 无影响。 符号等。操作数的数量 以字母打头,后面跟字
第3章 80C51单片机指令系统及程序设计
单片机原理与应用
寻址方式(找信方式)
找信去!


注:找信是寻找信的“地 址”!
第3章 80C51单片机指令系统及程序设计
单片机原理与应用 信
立即寻址
目的地
目的地
操作数
#55H #XXH
MOV P1, #55H MOV A, #30H
第3章 80C51单片机指令系统及程序设计
相关文档
最新文档