单片机指令系统.ppt

合集下载

CH3 MCS-51单片机指令系统-1 单片机优秀课件

CH3 MCS-51单片机指令系统-1 单片机优秀课件
邮箱!
2020/7/3
§3-3 寻址方式
寻址方式:寻找操作数存放单元的地址的方式。 1、立即寻址 1)定义
操作数在指令中直接给出,通常把出现在指令中的 操作数称之为立即数,因此就把这种寻址方式称之为 立即寻址。 2)举例
8位立即数操作:MOV A,#data 1620/7/3
MCS-51指令格式: [标号:] [操作码][第一操作数][,第二操作数][;注释]
LOOP: MOV A,#40H ;取参数
§3-2 指令格式
助记符举例:
MOV __ move
传送
XCH __ exchange
交换
ANL __ and logic
与逻辑运算
XRL __ exclusive or logic 异或运算
CH3 MCS-51单片机指令系统及汇编程序设计
内容提要: §3-1 指令系统简介 §3-2 指令格式 §3-3 寻址方式 §3-4 指令系统 §3-5 汇编语言程序设计 CH3 习题课
2020/7/3
2020/7/3
§3-2 指令格式
指令 = 操作码 + 操作数 操作码:表示了该指令所能执行的操作功能。 操作数:表示参加操作的数的本身或操作数所在的地址。
MUL __ multiply
乘法
RR __ rotate right
右循环
SJMP __ short jump
短跳转
RET __ return
子程序返回
§3-2 指令格式
操作数的表示形式: (1)无操作数或操作数隐藏在操作码中
如:NOP RET
(2)只有一个操作数 如:INC A DEC A
(3)有两个操作数 如:MOV A, #00H

高职高专单片机原理及应用33指令系统.ppt

高职高专单片机原理及应用33指令系统.ppt

6.
MOVC A, @A+PC
MOVC A, @A+DPTR
这是两条很有用的查表指令, 可用来查找存放在外部程序 存储器中的常数表格。第一条指令是以PC作为基址寄存器, A 的内容作为无符号数和 PC的内容 ( 下一条指令的起始地址) 相加后得到一个 16 位的地址, 并将该地址指出的程序存储器单 元的内容送到累加器A。 这条指令的优点是不改变特殊功能寄 存器和PC的状态, 只要根据A的内容就可以取出表格中的常数。 缺点是表格只能放在该条查表指令后面的 256 个单元之中, 表 格的大小受到限制, 而且表格只能被一段程序所利用。
(四)、 XRL A, Rn XRL A, direct XRL A, @Ri XRL A, #data XRL direct, A XRL direct, #data 这组指令的功能是: 将两个操作数的内容按位进行逻辑 异或操作, 并将结果送回到目的操作数的单元中。
四、
控制转移指令共有 17 条, 不包括按布尔变量控制程序转 移指令(见表 3.5)。其中有 64 KB范围内的长调用、 长转移 指令; 有 2 KB范围内的绝对调用和绝对转移指令; 有全空间的 长相对转移及一页范围内的短相对转移指令; 还有多种条件转 移指令。由于MCS -51 提供了较丰富的控制转移指令, 因此在 编程上相当灵活方便。这类指令用到的助记符共有 10 种: AJMP、LJMP、SJMP、JMP、ACALL、LCALL、JZ、JNZ、 CJNE、DJNZ。
例如: 进入中断服务子程序时, 把程序状态寄存器PSW、 累加器A、 数据指针DPTR进栈保护。设当前SP为 60H。则
PUSH PSW PUSH ACC PUSH DPL PUSH DPH 执行后, SP内容修改为 64H, 而61H、62H、63H、64H单元中 依次栈入PSW、A、DPL、DPH的内容。当中断服务程序结 束之前, 如下程序段(SP保持 64H不变)

大学课件MCS51单片机指令系统与汇编语言程序设计

大学课件MCS51单片机指令系统与汇编语言程序设计

ANL C, P ; (C)← (C)∧(P)
其中:P是PSW的第0位,C是PSW的第7位。
(4)字节符号地址(字节名称)加位序号的形式。对于部分特 殊功能寄存器(如状态标志寄存器PSW),还可以用其字节名 称加位序号形式来访问某一位。AC 如:
定义:操作数存放在MCS-51内部的某个工作寄存器Rn (R0~R7)或部分专用寄存器中,这种寻址方式称为 寄存器寻址。
特点:由指令指出某一个寄存器的内容作为操作数。 存放操作数的寄存器在指令代码中不占据单独的一个 字节,而是嵌入(隐含)到操作码字节中。
寻址范围:四组通用寄存器Rn(R0~R7)、部分专用 寄存器( A, B, DPTR, Cy )。
伪指令只出现在汇编前的源程序中,仅提供汇编用的某些控制 信息,不产生可执行的目标代码,是CPU不能执行的指令。
(1)定位伪指令ORG
格式:ORG n
其中:n通常为绝对地址,可以是十六进制数、标号或表达式。
功能:规定编译后的机器代码存放的起始位置。在一个汇编 语言源程序中允许存在多条定位伪指令,但每一个n值都应和前
2.2.2 直接寻址
定义:将操作数的地址直接存放在指令中,这种寻址方式称为 直接寻址。 特点:指令中含有操作数的地址。该地址指出了参与操作的数 据所在的字节单元地址或位地址。计算机执行它们时便可根据 直接地址找到所需要的操作数。
寻址范围:ROM、片内RAM区、SFR和位地址空间。P42
2.2.3 寄存器寻址
定义:指令中给出的操作数是一个可单独寻址的位地址,这种寻址 方式称为位寻址方式。
特点:位寻址是直接寻址方式的一种,其特点是对8位二进制数中 的某一位的地址进行操作。
寻址范围:片内RAM低128B中位寻址区、部分SFR(其中有83位 可以位寻址)。

《单片机》教学课件51单片机的指令系统

《单片机》教学课件51单片机的指令系统

MOV Rn ,direct
;(direct)→Rn ,n =0~7
MOV Rn ,#data
;#data→Rn ,n =0~7
把源操作数送入当前寄存器区的R0~R7中的某一寄存器。
3.以直接地址direct为目的操作数的指令
MOV direct,A
; (A)→direct
MOV direct,Rn
寻址空间内快速地找到指定的地址单元。 下面介绍指令系统7种寻址方式。
5
1.寄存器寻址方式
指令中的操作数为某一寄存器的内容。
例如:MOV A,Rn
;(Rn)→A,n =0~7
把Rn中的源操作数送入到累加器A中。由于指令指定了从寄存 器Rn中取得源操作数,所以称为寄存器寻址方式。
本寻址方式的寻址范围:
4.以寄存器间接地址为目的操作数的指令
MOV @Ri,A
;(A)→((Ri)), i=0,1
MOV @Ri,direct ;(direct)→((Ri)),i=0,1
MOV @Ri,#data ;#data→((Ri)), i=0,1
功能是把源操作数内容送入R0或R1指定的存储单元中。
5.16位数传送指令
内部RAM的00H~7FH共128个单元。 6.堆栈操作指令 内部RAM中设定一个后进先出(LIFO,Last In First Out)
的区域,称为堆栈。在特殊功能寄存器中有一个堆栈指针 SP,指示堆栈的栈顶位置。堆栈操作有进栈和出栈两种, 因此,在指令系统中相应有两条堆栈操作指令。
22
(1)进栈指令 PUSH direct
(1)4组通用工作寄存区共32个工作寄存器。但只对当前工 作寄存器区的8个工作寄存器寻址,指令中的寄存器名称只 能是R0~R7。

中职教育-单片机技术应用课件:第3章 指令系统(4).ppt

中职教育-单片机技术应用课件:第3章  指令系统(4).ppt

ANL C,/bit
;C∧(/bit)→C,如ANL C,/21H
(2)逻辑“或”指令
ORL C,bit
;C∨(bit)→C,如ORL C,45H
ORL C,/bit
;C∨(/bit)→C,如ORL C,/27H
说明:
斜杠“/”表示用这个位的值取反,然后再与Cy进行运算,但
并不改变这个位的本身。
第1章单片机基础知识
CCyy
AA77

AA00
((cc))循循环环右右移移
AA77

(d()d)带带CCy位y 位循环循右环移右移
CCyy
AA77
AA00

AA00
第1章单片机基础知识
说明:
(1)“RL A”和“RLC A”指令的相同之处在于两者都是使 A中的内容左移一位,而且两者的不同点在于“RLC A”将 Cy连同A中的内容一起循环左移,A7的内容进入Cy,原来 Cy内容进入A0,但不对其他标志位产生影响。 (2)“RR A”和“RRC A”指令的异同点类似于“RL A” 和“RLC A”,仅是A中的数据移位方向向右。 (3)当A中最高位不为“1”时,可以采用“RL A”指令对A 中的内容做乘2运算。 (4)当A中最高位为“1”时,采用“RLC A”指令对A中的 内容做乘2运算,只是在乘前必须将Cy位清零,此时的数据 实际是包括Cy内的“9”位数据。 (5)当A中最低位不为“1”时,可采用“RR A”指令对A中 的内容做除以2运算。 (6)当A中最高低位为“1”时,采用“RRC A”指令对A中 的内容做除以2运算,只是在运算前必须将Cy位清零,Cy相 当于小数位。
若(bit)=0,则程
序顺序执行
②(bit)=0转移指令:

51单片机汇编语言指令教程(校对版)ppt课件

51单片机汇编语言指令教程(校对版)ppt课件

06
05
04
03
02
01
00
返回前一次
最新课件
19
2.2.3立即寻址
指令本身直接含有所需要的8位或16位的操作数。
将此数称为“立即数”(使用#标明)。如:
MOV A,#30H
;将(8位)立即数送累加器A
MOV DPTR,#2000H ;16位立即数送DPTR积存器
【注意】:MOV A,#30H MOV A,30H 两者的区别。 立即数寻址的指令长度为2或3个字节。
三字节指令在存储器中存放的方式示意图
最新课件
9
指令的字节数与指令的运行时间
指令的字节多是否意味着指令周期就长?
指令
字节数 周期数
MOV A,R0
1
1
MOV A,#0FFH 2
1
MOV 20H,#30H 3
2
MUL AB
1
4
INC DPTR
1
1
指令说明 R0内容送累加器A
立即数FFH送A 立即数30H送内存20h单元
MOV A,00H ;将RAM中00H单元数据送累加器A
MOV A,R0 ;将工作寄存器R0的内容送累加器A
这里使用了不同的寻址方式,其指令的结构也不相同。
前者是:11100101(0E5H)、00000000(00H) 双字节。
后者的机器码是:11101000(0E8H)
单字节;
在物理结构上,R0与RAM的00H单元恰好是同一单元, 所以不同的指令而执行结果是一样的。
或者:指令中分别包含1个字节的操作数和1个字节的操作 数地址。如:
MOV direct,#data 举例:MOV 20H,#0FFH

第三章 PIC单片机指令系统PPT课件

第三章 PIC单片机指令系统PPT课件
我们需要掌握的是: 汇编语言的程序格式、语句格式、助记符、伪指令。 程序的4种基本结构:顺序、分支、循环和子程序。
53
汇编语言程序设计
2.PIC 汇编语言的程序流程图
(1)程序流程图常用的图形符号 圆角矩形框为起始/终止框,表示一个程序的开
始或结束。 矩形框为任务框,表示要处理的任务。 菱形框为判断框,表示要判断的因素,判断结果
15
2.指令符号的意义说明
在PIC系列单片机指令中常把数据存储器RAM当作 寄存器来使用(处理)并用字母f(或F)表示。
d 代表操作数的目标装置选择,定义d=0,结果存入 W;d=1结果存入(文件)寄存器f,当使用汇编程序 指令d缺省时,默认d=1。
b代表(文件)寄存器(8位)的位地址(0~7取值)。如寄 存器的8位为b7、b6……b1、b0,若b=1代表寄存 器的第b1位。
ADDLW 21H
8
3.直接寻址
操作数所在的存储单元地址直接在指令中形式给 出,就称之为直接寻址。这种方式可以对任何一 个寄存器进行直接寻址访问。
9
4.位寻址
这种寻址方式是对寄存器中的任一位(bit) 进行操作。
10
例3-1 ADDLW 16H
11
例2-2 IORWF 26H, 0
结果存放装置的选择
k代表立即数、常数和数据标号。
16
指令集
17
字节操作指令
1.寄存器加法指令
0=w 1=f
d equ 0 FSR equ 0XC2 Addwf fsr,d
18
字节操作指令
2.寄存器减法指令
19
字节操作指令
3.寄存器加1指令
CNT+1-->CNT

2024版51单片机ppt课件

2024版51单片机ppt课件

THANKS
感谢观看
51单片机ppt课件
目录
• 51单片机概述 • 51单片机结构与原理 • 指令系统与汇编语言程序设计 • 中断系统与定时/计数器应用 • 串行通信接口原理及应用实例分析 • 并行扩展技术及其在外围设备中的应用 • 总结回顾与展望未来发展趋势
01
51单片机概述
定义与发展历程
定义
51单片机是指基于Intel 8051内核 的单片机,是一种集成度高、功能 强大的微控制器。
定时/计数器工作原理及设置方法
工作原理
定时/计数器是对机器周期进行计数, 实现定时或计数功能。
设置方法
工作模式
包括模式0(13位定时/计数器)、模 式1(16位定时/计数器)、模式2(8 位自动重装载定时/计数器)和模式3 (特殊功能寄存器)。
通过编程设置定时/计数器的工作模式、 计数初值、启中所取得的成果,如完成的实验、 项目、作业等,并分享自己的学习经验和心得。
不足之处分析 学生分析自己在课程学习中存在的不足之处,如对某些知 识点的理解不够深入、实验技能有待提高等,并提出改进 措施。
未来学习计划与目标 学生根据自己的实际情况和需求,制定未来的学习计划和 目标,如深入学习某一领域的知识、参加相关竞赛或项目 等。
分时操作、实时处理、故障处 理。
外部中断0、定时器0中断、外 部中断1、定时器1中断、串行 口中断。
高优先级中断可以打断低优先 级中断。
外部中断触发方式选择
1 2
电平触发方式 外部中断请求信号为低电平时有效。
边沿触发方式 外部中断请求信号由高电平跳变为低电平时有效。
3
定时器/计数器溢出触发方式 定时器/计数器溢出时产生中断请求。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

偏移量
6、变址寻址(基址寄存器+变址寄存器间接寻址)
变址寻址是指以DPTR或PC作基址寄存器,累加器 A作变址寄存器,以两者内容相加形成的16位程序 存储器地址作为操作数地址。又称基址寄存器+变 址寄存器间接寻址。
MOVC A , @A+Dห้องสมุดไป่ตู้TR
MOVC A , @A+PC
假设 :(A)=E0H,(DPTR)=2000H
片内RAM的20H ~ 2FH字节地址和部分特殊功能 寄存器SFR
§3.3 数据传送指令
数据传送指令共有28条。按照功能又可分为: 一般传送指令、目的地址传送指令、累加器 传送指令和栈操作传送指令。
一般传送指令格式 MOV <目的字节>,<源字节> MOVX <目的字节>,<源字节> MOVC <目的字节>,<源字节>
变址寻址 相对寻址 位寻址
寻址空间
程序存储器ROM 片内RAM低128B和特殊功能寄存器SFR 工作寄存器R0 ~ R7,A,B,CY,DPTR
片内RAM低128B [ @R0,@R1],片外RAM( @R0, @R1, @DPTR)
程序存储器(@A+PC, @A+DPTR)
程序存储器+127B ~ -128B范围(PC+偏移量)
2、 以寄存器Rn为目的操作数的指令组,共有3条:
MOV Rn,A
;(Rn) ← (A)
MOV Rn,ditect ; (Rn) ← (direct)
MOV Rn,#data ; (Rn) ← #data
例: MOV R3, #30H
3、以直接地址direct为目的操作数的指令组,共有5条
指令:
MOV direct,A
1、立即寻址
例如: MOV A, #3AH
立即数前 面加“#”
MOV DPTR ,#data16
2、直接寻址
直接寻址是指在指令中直接给出操作数单元的
地址。 MOV A ,3AH
片内RAM 地址
直接寻址是访问特殊功能寄存器的唯一方法。
3、寄存器寻址
例如:INC R0 寄存器寻址的寻址范围包括: (1) 四个寄存器组共32 个通用寄存器 (2) 部分特殊功能寄存器
目的地址=转移指令所在地址十转移指令字节数十rel
rel是一个带符号的8位二进制补码数,范围是: -128 ~ +127。偏移量为正时,往地址增大的方向, 为负时,向地址减小的方向。
例如: JC 03H ;假设当前PC值为1000H 转移地址为:1000H + 2H +(03H)=1005H
转移指令字节数 JC 03H的机器码为40H、03H
它的功能是把源字节的内容送到目的字节,而源字 节的内容不变。
一、内部RAM数据传送指令
1、 以累加器A为目的操作数的指令组,共有4条:
MOV A,Rn
; (A) ← (Rn)
MOV A,direct ; (A) ← (direct)
MOV A,@Ri
; (A) ← ((Ri))
MOV A,#data ; (A) ← #data
操作数地址为E0H十2000H=20E0H,若20E0H单 元的内容为47H,则该指令执行的结果是A的内容 为47H。
7、位寻址
位寻址 的范围: (1)片内RAM中的位寻址区 (2)可位寻址的特殊功能寄存器位
寻址位在指令中有四种表示方法: (1)直接使用位地址表示方法。
SETB 8DH (2)单元地址加位的表示方法。
第三部分 80C51的指令系统
§3.1 指令系统简介
MCS-51 的 指 令 系 统 共 有 111 条 指 令 , 按 其 功能可分为五大类:
➢ 数据传送类指令(28条) ➢ 算术运算类指令(24条) ➢ 逻辑运算类指令(25条) ➢ 控制转移类指令(17条) ➢ 布尔操作(位)类指令(17条)
指令格式
4、寄存器间接寻址
寄存器间接寻址是指在指令中要到寄存器 的内容所指的地址去取操作数。即寄存器 中放的是操作数的地址。在寄存器的名称 前面加前缀“@”。
只能使用R0或R1。
例如: ANL A,@R1
寄存器间接寻址的范围:
(1)片内RAM低128单元:这里只能使用R0或R1 为 间址寄存器,其通用形式写为@Ri(i=0,1)。
MOV A,@R0
(2)片外RAM 64KB:使用DPTR作为间址寄存 器,其形式为@DPTR,例如:
MOVX A,@DPTR
(3)片外RAM低256单元:也可使用R0或R1作 间址寄存器。例如:
MOVX A,@R0
5、相对寻址
相对寻址是指在指令中给出的操作数为程序转移的 偏移量。相对寻址是为实现程序的相对转移而设立 的,为相对转移指令所采用。
;(direct) ← (A)
指令的表示方法称为指令格式,其内容包括指令 的长度和指令内部信息的安排等。一条指令通常 由操作码和操作数两部分组成。
操作码 [操作数] ;[注释]
NOP INC R0 MOV R0,R7
指令的长度有单字节、双字节和三字节等。
普通RAM共80个字节 位寻址区(16*8=128位) 寄存器工作组(由RS1、RS0选择)
§3.2 寻址方式
Rn 工作寄存器,可以是R0-R7中的任意一个。 #data 8位立即数,在00H~FFH范围内。如 #12H。 direct 片内RAM单元的直接地址。
Ri R0或R1。 #data16 表示16位立即数。如:1234H。 @DPTR 表示以DPTR为数据指针进行间接寻址。用
于对片外地址寻址。 bit 位地址。如 SETB bit。
addr16 表示16位地址。 addr11 表示11位地址。 rel 补码形式的表示8位地址偏移量。 $ 表示当前指令的地址。 A 累加器 B B寄存器 C 进位位 @ 间址寄存器的前缀标志
七种寻址方式 :
1、立即寻址 2、直接寻址 3、寄存器寻址 4、寄存器间接寻址 5、相对寻址 6、变址寻址 7、位寻址
SETB 88H.5 ;88H单元的位5
(3)特殊功能寄存器符号加位的表示方法。 SETB PSW.5 PSW寄存器的位5,则表示为PSW.5。
(4)位名称表示方法,特殊功能寄存器中的 一些寻址位是有名称的。 SETB F0 PSW寄存器位5为F0标志位。
操作数寻址方式和有关空间
寻址方式 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址
相关文档
最新文档