51单片机指令系统课件

合集下载

大学课件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单片机超详细教程PPT

51单片机超详细教程PPT

51单片机超详细教程PPT目录•51单片机概述•51单片机硬件结构•指令系统与汇编语言编程•C语言编程与实例分析•中断系统与定时器/计数器应用•接口技术与应用扩展•调试技巧与故障排除方法0151单片机概述Part单片机定义与发展定义单片机是一种集成电路芯片,将微处理器、存储器、输入输出接口等集成在一块芯片上,构成完整的计算机系统。

发展历程从早期的4位、8位单片机,到如今的32位、64位高性能单片机,单片机的性能不断提升,应用领域也不断扩展。

51单片机特点及优势特点51单片机采用8051内核,具有高性能、低功耗、易于扩展等优点;同时拥有丰富的外设接口和强大的中断处理能力。

优势51单片机在嵌入式系统领域具有广泛的应用,其稳定的性能和成熟的生态系统使得开发者能够快速开发出高质量的嵌入式应用。

应用领域与市场需求应用领域智能家居、工业自动化、医疗设备、汽车电子、物联网等。

市场需求随着物联网、人工智能等技术的快速发展,对单片机的性能、功耗、安全性等方面提出了更高的要求。

同时,市场对于单片机的定制化、差异化需求也日益增加。

0251单片机硬件结构Part中央处理器CPU运算器进行算术运算和逻辑运算控制器取指、译码、执行指令,控制程序流程寄存器组暂存数据和地址,加速CPU 运算速度STEP 01STEP 02STEP 03存储器组织程序存储器存放变量、中间结果等,一般使用RAM实现数据存储器特殊功能寄存器用于控制单片机的各种功能,如定时器、中断等存放程序代码和常数表格等,一般使用ROM或EPROM实现I/O 端口与外部设备通信的接口,分为并行I/O 和串行I/O 两种要点一要点二特殊功能寄存器用于控制I/O 端口的操作,如设置端口模式、读取端口状态等I/O 端口及特殊功能寄存器时钟电路提供单片机运行所需的时钟信号,一般由晶振和电容组成复位电路使单片机在启动时或异常情况下恢复到初始状态,一般由电阻和电容组成时钟电路与复位电路03指令系统与汇编语言编程Part指令格式及寻址方式指令格式由操作码和操作数组成,操作码指明操作性质,操作数表示操作对象。

第3章 MCS-51单片机指令系统

第3章 MCS-51单片机指令系统

(1)内部数据存储器的低128个字节单元 (00H~7FH)。例: MOV A, 40H ,表示把内 部RAM 40H单元的内容传送给A。 假设40H单元中的内容为2BH,结果是将直接地 址40H单元中的数据2BH传送到累加器A中。
第三章 MCS-51单片机指令系统
3.2.2 直接寻址
(2)特殊功能寄存器。 特殊功能寄存器只能用直接寻址方式进行访问。 对于特殊功能寄存器,在助记符指令中可以直接 用符号来代替地址。例: MOV A, P0 ,表示把 P0口(地址为80H)的内容传送给A。
3.3.1 内部数据存储器传送指令
1.立即数传送指令
MOV A,#data ;A←data MOV Rn,#data ;Rn←data,n=0~7 MOV direct,#data ;direct←data MOV @Ri,#data ;(Ri)←data,i=0,1 MOV DPTR,#data16 ;DPTR←data16 前四条指令将8位立即数传送到指定的存储单元中。 最后一条指令将16位立即数传送到数据指针 DPTR中,其中高8位送入DPH,低8位送入DPL。
(3)三字节指令 编码格式为:
例如数据传送指令MOV 20H,#3AH的编码格式为:
3.2 寻址方式
第三章 MCS-51单片机指令系统
所谓寻址,就是寻找操作数的真正地址,寻址方 式,就是指寻找操作数地址的方式。
在用汇编语言编程时,数据的存放、传送、运算 都要通过指令来完成。 编程者必须自始至终都要 十分清楚操作数的位置, 以及如何将它们传送到适 当的寄存器去参与运算。每一种计算机都具有多 种寻址方式。寻址方式的多少是反映指令系统优 劣的主要指标之一。
2. 汇编语言
汇编语言就是用助记符表示的指令,汇编语言与 机器语言一一对应。用汇编语言编写程序,每条 指令的意义一目了然,给程序的编写、阅读和修 改带来很大方便。而且用汇编语言编写的程序占 用内存少,执行速度快,尤其适用于实时应用场 合的程序设计。因此,在单片机应用系统中主要 是用汇编语言来编写程序。 汇编语言的缺点:缺乏通用性,程序不易移植, 是一种面向机器的低级语言。使用汇编语言编写 程序时,必须熟悉机器的指令系统、寻址方式、 寄存器的设置和使用方法。每种计算机系统都有 它自己的汇编语言。不同计算机的汇编语言之间 不能通用。

《单片机》教学课件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。

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

第3章 MCS-51 单片机的指令系统

第3章 MCS-51 单片机的指令系统

2.2 用@Ri进行间接寻址的指令 MOVX A, @Ri; ((Ri)) MOVX @Ri,A; (A) (A) ((DPTR))
说明:若外部扩展RAM小于等于256单元,用@Ri间接 寻址进行数据传送,8位地址线足够使用。
若外部扩展较大的RAM区域,须用P2口输出高8位地址, 用@Ri表示低八位地址,P0口分时作低8位地址线和数 据线,P2口应事先预置。
累加器
Rn #data 立即数
寄存器
2 外部数据存储器(或I/O)的读写指令 2.1 用@DPTR进行间接寻址的指令
MOVX A, @DPTR; ((DPTR)) (A)
MOVX @DPTR,A; (A)
((DPTR))
DPTR为16位数据指针,该指令可寻址外部RAM64K范围 (0000H-0FFFFH),地址低8位由P0口输出,地址高8 位由P2口输出,数据通过P0口读入或写出。
一 数据传送指令 1 内部数据传送指令(MOV) 指令格式:MOV <目的操作数〉,<源操作数> 指令的源操作数和目的操作数都在单片机内部。可以 是片内RAM地址,也可以是特殊功能寄存器SFR的地址 指令的功能是把源操作数指定的字节变量复制到目的 操作数所规定的单元或寄存器中,源字节不变。
1.1 立即数传送指令 源操作数为立即数 八位立即数传送指令: MOV A,#DATA; DATA (A) 例:MOV A,#02H; MOV Rn,#DATA; DATA (Rn) n=0-7 例:MOV R3,#02H; MOV @Ri,#DATA; DATA ((Ri)) i=0,1 例:MOV @R1,#02H; MOV direct,#DATA; DATA (direct) 例:MOV 30H,#02H;

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
定时器/计数器溢出触发方式 定时器/计数器溢出时产生中断请求。

第3章MCS51单片机指令系统1PPT课件

第3章MCS51单片机指令系统1PPT课件

返回目录
43.1 指令系统简介------指令的两种格式
要让计算机工作,就得向计算机发出指令。
指令的格式是机器码指令格式, 如:75905B ,即数字格式。
另一种指令格式,即汇编指令格式, 如:MOV P1, #5BH
2020/9/26
张兴忠制作:
返回目录
5
3.1 指令系统简介
-----MCS-51汇编语言指令格式
地址的存储单元的内容。 →:表示数据传送方向。
2020/9/26
张兴忠制作:
返回目录
15
3.1.4 寻址方式
如何找到参与运算的操作数据或数据所在的 地址称为寻址方式。所以寻址方式是在地址范围 内如何找到所需要的操作数的地址。
MCS-51指令系统的寻址方式主要有立即寻址、 直接寻址、寄存器寻址、寄存器间接寻址、基址 加变址寻址、相对寻址和位寻址等七种。
单片机原理与接口技术
第3章 MCS-51单片机 指令系统
2020/9/26
张兴忠制作:
返回目录
1
本章教学要求
第3章 MCS-51单片机指令系统
熟悉MCS-51单片机指令系统的分类、格式; 熟悉MCS-51指令系统的七种寻址方式; 掌握MCS-51指令系统的数据传送、算术运算、逻
辑运算、转移操作、布尔运算等指令的功能;
1) 指令执行时间短。只需1个机器周期的指令有64 条,2个机器周期的指令有45条,而4个机器周 期的指令仅有2条(既乘法和除法指令)。
2) 指令字节少。单字节指令有49条,双字节指令 有46条,三字节指令有16条。
3) 位操作指令极为丰富,这体现了MCS-51单片机 具有面向控制的特点。
2020/9/26
Rn:表示当前工作寄存器R0~R7中的一个。 @Ri:表示寄存器间接寻址,常作间接寻址的地
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

rel
循环转移指令
循环转移指令是相对转移 循环计数器减一,不等于"0"转移 循环计数器可用
工作寄存器 直接地址 DJNZ DJNZ Rn , rel direct , rel
调用返回指令
调用指令
短调用(2K范围内) ACALL 长调用(64K范围内) LCALL 64K addr11 addr16
传送指令由另一操作数判断 专用位操作指令
数据传送类指令
数据传送类指令有29条,分为5类
内部RAM及SFR间传送 MOV 读写外部数据存储器 MOVX 读程序存储器 MOVC 数据交换 XCH XCHD SWAP 栈操作 PUSH POP
传送指令不影响标志位
内部RAM及SFR间传送(MOV)
源操作数 @Ri direct * * X * X * * *
逻辑与,逻辑或运算 置位,清零,求反
位处理单元有256个地址
20H--2FH单元 SFR中地址能被8整除的单元
位地址的表示形式
位地址只有直接寻址方式 直接地址 0D5H 单元地址.位序号 0D0H.5 单元名称.位序号 PSW.5 位寄存器名称 F0
位操作类指令(17条)
位传送指令:
MOV MOV C , bit bit ,C CLR bit SETB bit CPL bit
寄存器寻址方式
寄存器寻址方式指令中给出寄存器编号 寄存器编号为 R0 -- R7 其对应单元位置由 RS1,RS0 决定 例
INC ADD R0 A,R2
寄存器间接寻址方式
寄存器间接寻址在指令中给出存放操作数 地址的寄存器 可用于间接寻址方式的寄存器有
R0,R1 用于寻址内部128字节RAM DPTR 用于寻址外扩数据存储器( R0,R1)
双操作数逻辑运算指令
以累加器A为目的单元
ANL ORL XRL Rn * * * direct * * * @Ri * * * #data * * *
以直接地址direct为目的单元(读-修改-写)
ANL ORL XRL A * * * #data * * *
控制转移类指令
控制转移类指令有17条,分为:
返回指令
子程序返回 中断返回 RET RETI NOP
空操作
判零转移指令
判零是根据累加器A中是否为零的状态进行 转移 判零转移指令有2条,都是相对转移指令
JZ JNZ 累加器为"0"转移 累加器非"0"转移
位寻址与布尔处理器
8051中含有一个一位的布尔处理器 布尔处理器以Cy为位累加器 布尔处理器可以进行
立即寻址方式
立即寻址方式在指令中直接给出操作数 表示立即数时前面加 # 立即数可以用
二进制数 (B) 十六进制数 (H) 十进制数
例:
MOV A,#23H MOV DPTR,#2040H
直接寻址方式
直接寻址方式指令中给出操作数地址 直接寻址方式可寻址
内部128字节RAM 特殊功能寄存器SFR
特殊功能寄存器只能使用直接寻址方式,可 以用其名称表示直接地址 例: MOV 90H,A MOV P1,A
判位转移指令
JC JNC JB JNB JBC 有进位转移 无进位转移 bit="1"转移 bit="0"转移 bit="1"转移且转移后将 bit 清零
指令格式
[标号:] 操作码 [操作数1][,操作数2][,操作数3] [;注释]
标号用来表示转移地址 操作码指明指令操作 操作数指出参加操作的数据或其存放地址 注释对指令功能进行说明 注意格式中各段之间的间隔符
MOVC A,@A+PC
相对寻址方式
相对寻址方式仅用于转移指令 相对转移的基准是PC当前值 相对转移的范围为 -128 ~ +127 所有的条件转移都采用相对寻址方式 例:
JNZ rel rel 可为一指令标号,其位置应在相对转移的范围内
位寻址方式
对片内RAM中20H-2FH单元的各位和SFR中 单元地址能被8整除的各位进行位操作. 位地址空间为:00H-0FFH 位地址采用直接地址形式 与字节直接寻址的区别:
数据交换
字节交换指令 Rn XCH A, direct @Ri 半字节交换指令
XCHD A,@Ri 累加器A中低四位与Ri所指单元低四位交换 SWAP A 累加器A中高四位与低四位交换
栈操作指令
栈操作只能用直接寻址方式 压栈指令 PUSH direct 出栈指令 POP direct算术ຫໍສະໝຸດ 算指令51系列单片机指令系统
51系列单片机指令系统有111条指令
其中有49条单字节,45条双字节,17条三字 节 有64条单周期,45条双周期,2条四周期
按功能可分为
数据传送类指令 算术运算类指令 逻辑运算类指令 位操作类指令 控制转移类指令
指令寻址方式
51系列单片机指令系统有七种寻址方式 立即寻址方式 直接寻址方式 寄存器寻址方式 寄存器间接寻址方式 基址加变址寻址方式 相对寻址方式 位寻址方式
其他算术运算指令
16位寄存器加一指令 INC 十进制调整指令 DA 乘法指令 MUL AB DPTR A
(A) X (B) = BA Cy = 0 若乘积>0FFH 则 OV=1
除法指令
DIV
AB
(A) / (B) = A ……B Cy = 0 若(B)=0 则 OV=1
逻辑运算类指令
逻辑运算类指令有24条 单操作数指令
MOVX A ,@DPTR MOVX A ,@Ri MOVX @DPTR,A MOVX @Ri ,A
读程序存储器
读程序存储器指令助记符为 MOVC 读程序存储器必须通过累加器A 读程序存储器指令只能用变址寻址方式 变址单元为 DPTR 或PC
MOVC A ,@A+DPTR MOVC A ,@A+PC
累加器操作指令 移位指令
双操作数指令
逻辑与 逻辑或 逻辑异或
累加器操作指令
累加器清零 CLR A 只影响P标志 累加器求反 CPL A 不影响标志
移位指令
移位指令必须经累加器A 所有移位都是循环移位,分左移,右移 可带进位移或不带进位移
RL RR A A RLC RRC A A
除带进位移位外,不影响标志
寻址外扩数据存储器,只能用寄存器间接寻 址方式 例: MOV A,@R0 MOVX @DPTR,A
基址加变址寻址方式
基址加变址寻址方式是以累加器A中内容加 上基址寄存器的值形成操作数地址 可用做基址寄存器的是
DPTR 或 PC
基址加变址寻址方式只用于读取程序存储 器中数据 例:MOVC A,@A+DPTR

位变量修改指令:
清"0" CLR C 置"1" SETB C 求反 CPL C
位变量逻辑操作指令
指定位变量与位累加器Cy进行逻辑操作,结 果在Cy中 逻辑与 ANL C,bit ANL C,/bit 逻辑或 ORL C,bit ORL C,/bit 注意区分位操作指令与字节操作指令 ANL C,20H ANL A,20H
目 A 的 Rn 操 作 @Ri 数 direct
A X * * *
Rn * X X *
#data * * * *
另有一条16位传送指令 MOV DPTR,#16
读写外部数据存储器
读写外部数据存储器指令助记符为MOVX 读写外部数据存储器必须通过累加器A 读写外部数据存储器指令只能用间接寻址 方式 间址单元为 DPTR 或 R0,R1
无条件转移指令 判零转移指令 比较转移指令 循环转移指令 调用返回指令
无条件转移指令
短转移指令 AJMP addr11
PC高5位与指令中给出的11位地址相加,可在2K 范围内转移
长转移指令
LJMP
addr16 rel @A+DPTR
转移范围为整个64K存储空间
相对转移指令 SJMP
转移范围为-128~+127
散转指令
JMP
散转指令
累加器A中内容与DPTR内容相加形成转移地址
A=?
A=0 AJMP
A=2 AJMP
A=4 AJMP
A=6 AJMP
A=8 AJMP
比较转移指令
比较转移指令
CJNE 操作数1,操作数2,操作数3 A , direct , rel A , #data , Rn rel @Ri , #data , rel 操作数1与操作数2比较,不等于零转移 A=B 操作数1<操作数2 则 Cy="1" Y A<B A>B , #data , CJNE Y N JC N
算术运算指令共有24条 算术运算指令将影响标志位 算术运算包括
加 ADD,带进位加 ADDC 带借位减 SUBB 增量 INC ,减量 DEC 乘 MUL,除 DIV 十进制调整 DA A
加减指令
操作 Rn ADD ADDC SUBB INC DEC * * * * * @Ri * * * * * 操作数 direct * * * * * #data * * * X X A X X X * *
相关文档
最新文档