第3章 单片机讲义

合集下载

单片机 第三章课件

单片机 第三章课件

第六讲课题:第三章MCS-51指令系统一教学目的:了解指令系统概述、熟练掌握数据传送指令教学难点、重点:指令的用法作业:实验预习I、课程复习、引入单片机硬件方面的内容告一段落,以下开始学习指令系统II、本课内容第三章MCS-51指令系统3.1概述●计算机能直接识别的只能是由0和1编码组成的指令,这种编码称为机器码或称为机器语言指令●由机器码编制的计算机能识别和执行的程序称为目标程序。

●每一条指令包含两个基本部分:操作码和操作数。

操作码表明指令要执行的操作性质;操作数说明参与操作的数据或数据所存放的地址。

●MCS-51机器语言指令有单字节指令,双字节指令和三字节指令三种格式1.单字节指令单字节指令格式由8位二进制编码表示,有两种形式:(1)8位编码全表示操作码。

例:NOP(2)8位编码中包含操作码和寄存器编码,例如:MOV A ,Rn 11101xxx xxx=0~72.双字节指令MOV A, # DATA 74H DATA 三字节指令三字节指令格式中第一个字节为操作码,其后两个字节为操作数。

例如:MOV direct, #DATA 75H direct DATA一条汇编语言指令中最多包含 4 个区段, 如下所示:[标号:]操作码助记符[操作数][,操作数][;注释]例:START: MOV A, #0F0H ;将F0H赋值给A寄存器4 个区段之间要用分隔符分开:标号与操作码之间用“:”隔开,操作码与操作数之间用空格隔开,操作数与注释之间用“;”隔开, 如果操作数有两个以上,则在操作数之间要用逗号“,”隔开(乘法指令和除法指令除外)。

注意:所有标点、空格都不能是中文标点!::;;,,3.2 寻址方式●有操作数的指令中,操作数可能在指令、寄存器、存储器、I/O接口中●地址:寄存器,存储器和I/O接口进行的编号寄存器一般可以用寄存器名表达I/O接口和程序存储器以及外部数据存储器用16位地址表达内部RAM用8位地址表达●指令中所规定的寻找操作地址的方式称为寻址方式。

单片机入门第3章

单片机入门第3章

10:15:52
10/135
PLA控制器
组合逻辑与存储逻辑结合型的控制器称为PLA 控制器,它是吸收前两种控制器的设计思想来 实现的。 PLA控制器实际上也是一种组合逻辑控制器, 但它又与常规的组合逻辑控制器的硬连结构不 同,它是程序可编的,某一微操作控制信号由 PLA的某一输出函数产生。 PLA控制器是组合逻辑技术和存储逻辑技术结 合的产物,它克服了两者的缺点,是一种较有 前途的方法。
10:15:52
23/135
执行第一条指令的示意图如图所示。
2 PC 02H 1 AR 01H 00 01 02 03 04 A 07H B0H 07H 04H 0AH F4H MOSG ALU B 7 DR 07H 6 ID IR 控制信号
3 4 读命令
5
10:15:52
24/135
执行第二条指令的取指过程与第一条相同, 只是指令码地址不同。 经过对第二条指令操作码的分析(译码) 得知第二条指令为加法指令,执行过程如 下:
10:15:52
5/135
(2)控制器
功能:控制器用于控制和指挥计算机内各 功能部件协调动作,完成计算机程序功能。
10:15:52
6/135
控制器组成
程序计数器PC(Program Counter):用于存放将要 取出的指令地址,指令取出后,其内容自动加1。 指令寄存器IR(Instruction Register):用于存放指令 的操作码。 指令译码器ID(Instruction Decode):用于将指令的 操作码翻译成机器能识别的命令信号。 微 操 作 信 号 发 生 器 MOSG ( Microoperation Signal Generator):用于产生一系列微操作控制信号。 地址寄存器AR(Address Register):用于存放操作数 或结果单元的地址。 数据寄存器DR(Data Register):用于存放操作数。

单片机第3章讲义C1

单片机第3章讲义C1
MOS管的标准符号
和简化符号都要会。
MOS管除分N沟道、P沟道外,还分增强型和耗尽型。 增强型栅压为0无沟道,耗尽型栅压为0也有沟道。 1、MOS管的基本结构 以N沟道增强型为例 源、漏极结构对称,可以互换使用
P衬
P型衬底,N型沟道
2、 N沟道增强型MOS管的工作特点为: • 栅极电压VGS小于开启电压VGS(th)时,无沟道形 成,漏极电流ID为0。VDS爱多大多大!(截止区) • 栅极电压VGS大于等于开启电压VGS(th)时,沟道形 成,有ID形成,分两种情况: a、VDS较大,大于 VGS — VGS(th),ID随VGS的 增加而增加。VDS 已使 ID 饱和,没什么影响了。 (饱和区) b、VDS较小,小于VGS — VGS(th),ID随VGS的 增加也增加,但与VDS的大小密切相关。 或者 也可以这样说:对某一VGS,ID随VDS线性增加, 且VGS越大,斜率越大,等效电阻越小。 (非饱和区 or 可调电阻区)
5、直流导通电阻RON 直流导通电阻是指MOS管导通时,漏源电压和漏源 电流的比值: RON= VDS / IDS (二)、MOS 反相器 MOS反相器有四种形式,我们只简单讲一下E/E型, 在下一节重点讲CMOS反相器。 E/E MOS 反相器有两个增强型MOS 管组成,一个作 为输入管,一个作为负载管,两个管子的特性(如跨导) 完全不同。 由N沟道管构成的反相器叫NMOS反相器。 见图:
三、 发射极耦合逻辑(ECL)门 了解基本原理 主要特点: • ECL 门的优点是速度快,因为它不用饱和态。 另一优点是工作电流平稳,没有动态尖峰。 • ECL 门的缺点是高、低电平太接近(约0.8V) 抗干扰能力差。另一个缺点是功耗较大。
附:集成注入逻辑(I2L)

单片机基础3

单片机基础3
第3章 指令系统
单片机基础3
第3章 指令系统
第3章 指令系统
第3章 指令系统
3.1 寻址方式
所谓寻址方式, 就是寻找操作数地址的方式, 在用汇编语言编程时, 数据的存放、传送、运算 都要通过指令来完成。 编程者必须自始至终都 要十分清楚操作数的位置, 以及如何将它们传送 到适当的寄存器去参与运算。每一种计算机都 具有多种寻址方式。寻址方式的多少是反映指 令系统优劣的主要指标之一。
7. 位寻址
该种寻址方式中, 操作数是内部RAM单元中某一位的 信息。 MOV C,30H
第3章 指令系统
3.2 指令系统
3.2.1 指令分类
按指令的功能, MCS -51 指令系统可分为下列 5 类: (1) 数据传送; (2) 算术运算; (3) 逻辑运算; (4) 位操作; (5) 控制转移。
#data——指令中的 8 位常数。
#data16——指令中的 16 位常数。 addr16——16 位的目的地址, 用于LJMP, LCALL指令, 可 指向 64 KB程序存储器地址空间。
பைடு நூலகம்
第3章 指令系统
addr11——11位的目的地址, 用于AJMP, ACALL指令。 目的地址必须与下一条指令的第一个字节在同一个 2 KB程 序存储器地址空间之内。
第3章 指令系统
5. 基址寄存器加变址寄存器间接寻址 这种寻址方式用于访问程序存储器中的数据表 格, 它以基址寄存器DPTR或PC的内容为基本地址, 加上变址寄存器A的内容作为操作数的地址, 例如: MOVC A, @A+DPTR MOVC A, @ A+PC JMP @A+DPTR;散转指令
第3章 指令系统
在MCS -51 单片机指令系统中, 直接寻址方式中可以访问 3 种存储器空间:

单片机原理课件第3章

单片机原理课件第3章

第三章数字输入/输出端口3.1 标准8051的数字输入/输出端口3.2 STC15F2K60S2的数字输入/输出端口3.1 标准8051的数字输入/输出端口3.1.1 MCS-51单片机的数字输入/输出端口结构MCS-51单片机有4组8位I/O口:P0、P1、P2和P3口。

8051的某些I/O口具有复用功能•数据总线和地址总线低8 位分时使用P0口。

•地址总线高8 位使用P2口。

•控制总线使用P3口中的2 位,片内子系统也使用P3口作为输入输出口。

四个端口都包含一个锁存器,即特殊功能寄存器P0~P3,一个输出驱动器和两个(P3口为3个)三态缓冲器。

这种结构在数据输出时可以锁存,但对输入信号是不锁存的。

一般P1,P2,P3口的输出能驱动3个LS TTL输入,P0口的输出能驱动8个LS TTL输入。

1.P0口在P0口的一个位中包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。

其中,输出驱动电路由一对FET (场效应管)组成,其工作状态受输出控制电路的控制。

P0口与低8 位地址/数据复用总线AD0-AD8复用。

双向和准双向•P0口做地址/数据总线口使用时是一个真正的双向口,输入为高阻抗结构,输出为推挽结构,不必外加上拉电阻。

•P0口作为一般I/O口使用时,是一个准双向口,即输入数据时,应先向口写“1”,使输出下拉FET截止,然后方可作高阻抗输入;输出数据时,接口为开漏输出结构,输出高电平时需外加上拉电阻。

读锁存器和读引脚•所谓“读锁存器”操作,读出输出锁存器内容。

针对“读-修改-写”指令,如ANL;ORL;XRL;JBC;CPL;INC;DEC;DJNZ;MOV PX.Y,C;CLR PX.Y 和SETB PX.Y等•所谓“读引脚”操作,直接读出引脚电平状态。

2.P2口在P2口的一个位中包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。

其中,输出驱动电路由配有上拉电阻的FET组成。

(单片机完整课件PPT)第三章

(单片机完整课件PPT)第三章

寻址范围包括:
(1)内部RAM中的位寻址区。位有两种表示方法,例如, 40H;另一种是单元地址加上位,例如,(28H).0,指 的是28H单元中的最低位。它们是等价的。 (2)特殊功能寄存器中的可寻址位
可寻址位在指令中有如下4种的表示方法:
a. 直接使用位地址。例如PSW.5的位地址为0D5H。
b. 位名称的表示方法。例如:PSW.5是 F0 标志位,可使 用F0表示该位。 c.单元地址加位数的表示方法。例如 :(0D0H).5。 d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。
课堂练习:
指出下列指令中划线的操作数的寻址方式: Mov r0,#60h Mov a,30h Mov a, @r0 Movc a, @a+dptr Cjne a,#00h,one Cpl c Mov c,30h
如: MOV
A,Rn
;(Rn)→A,n=0~7
表示把寄存器Rn的内容传送给累加器A
寻址范围:ACC,B,DPTR,PSW,R0~R7,C
三、存储器寻址 寻址空间:64K 外RAM、64K ROM、128B 内RAM
1.直接寻址方式
操作数直接以单元地址的形式给出: MOV A,40H 寻址范围:内部RAM的256个单元 2.寄存器间接寻址方式 寄存器中存放的是操作数的地址 在寄存器的名称前面加前缀标志“@” 如: MOV A,@Ri ;i=0或1
单片机原理与应用技术
厦门理工学院电子与电气工程系 陈志英
第3章 单片机汇编语言编程技术
机器语言:是计算机可以识别和直接执行的语言,它是由一 组二进制代码组成。 汇编语言:是用助记符代替机器语言的操作码,用16进制 数代替二进制代码。 高级语言:是采用类似自然语言并与具体计算机类型基本无

单片机基础(第3版)——第3章

单片机基础(第3版)——第3章

第3章 MCS-51系列单片机指令系统
例如
0000H START
ORG LJMP
ORG 2000H START:-------------------
. . .
主程序实际从2000H开始存放,复位后,通过 跳转指令LJMP转移至2000H开始执行。
第3章 MCS-51系列单片机指令系统
[标号]: 操作码
1)数据传送指令 2)算术运算指令 3)逻辑运算指令
4)位操作指令
5)控制转移指令
第3章 MCS-51系列单片机指令系统
2、符号的说明
(1)Rn:表示当前选中的寄存器区的8个工作寄 存器,(n=0-7)中的一个。 (2) @ Ri: 表 示 寄 存 器 间 接 寻 址 , Ri 只 能 是R0或R1。 (3)#data:8 位 直 接 地 址 , 实 际 使 用 时 data应是00H-FFH中的一个。 (4)#data16: 表 示 包 含 在 指 令 中 的 16 位 立 即数。
第3章 MCS-51系列单片机指令系统
3.2.5
相对寻址
说明
寻址空间:程序存储器
偏移量rel的范围是:–128 ~ +127
转移公式:
PC目的地址 = PC当前地址 + rel
第3章 MCS-51系列单片机指令系统
3.2.6
变址寻址
以DPTR和PC基址寄存器 和累加器A变址寄存器的内 容和为地址,寻址该地址单 元,读取数据。

指令字节数少。单字节指令有49条,双字 节指令有45条,三字节指令仅有17条。

位操作指令丰富。
第3章 MCS-51系列单片机指令系统
§3.1 MCS-51系统单片机指令格式

单片机魏第3章-讲义

单片机魏第3章-讲义


开始
• 20H
A
• 10H
B

A/B
• B+30H
B
•B
22H
• A+30H
A
ORG 0000H MOV A, 20H MOV B, #10H DIV AB ORL B, #30H MOV 22H, B ORL A, #30H MOV 21H, A SJMP $
•A
21H

结束
程序设计的基本步骤:
“标号名称”在源程序中可以作数值使用,也可以作数据地址、
位地址使用。
先定义后使用,放在程序开头。
4、定义字节伪指令 DB
告诉汇编程序从指定的地址单元开始,定义若干字节存储单
元并赋初值。
格式: [标号:] DB 字节数据或字节数据表
5、定义字伪指令 DW
从指定地址开始,定义若干个16个位数据,高八位存入低地址; 低八位存入高地址。
为备用空间。
格式:
[标号:]
DS 表达式
例2、 ORG 1000H
DS 0AH
DB 71H,11H,11H ;从100BH开始存放
;71H、11H、11H。
注:DB、DW、DS 只能用于程序存储器; 而不能用于数据存储器。
8、位地址赋值伪指令 BIT 将位地址赋予规定的字符名称。 格式: 字符名称 BIT 位地址
源程序
ORG 1000H START:MOV R0,2FH
MOV R2,#00H MOV A,@R0 MOV R3,A INC R3 SJMP NEXT LOOP:INC R0 CJNE @R0,#44H,NEXT INC R2 NEXT:DJNZ R3,LOOP MOV 2AH,R2 SJMP $

第3章单片机课件

第3章单片机课件

压栈时,堆栈指针先加1,然后压入数据; 出栈时,数据先弹出,然后堆栈指针减1。
例3.9 设(A)=30H,(B)=31H, 执行以下各条指令后,堆 栈指针及堆栈内容变化。 MOV PUSH PUSH POP POP SP, #3FH A B A; B;
;(SP)=3FH ;(SP)=40H(40H)=30H ;(SP)=41H(41H)=31H ;(SP)=40H(A)=31H ;(SP)=3FH(B)=30H
2).以Rn为目的字节的传送指令
• MOV • MOV • MOV Rn,A Rn,direct Rn,#data
; n=0~7
3).以直接地址为目的字节的传送指令
• • • • • MOV MOV MOV MOV MOV dcrect, dcrect, dcrect1, dcrect, dcrect, A Rn ; n=0~7 direct2 @Ri ;i=0,1 #data
SUBB SUBB SUBB SUBB A, #data A, direct A, @Ri A, Rn
例3.12 设(A)=0C9H,(R2)=54H,Cy=1 执行指令:SUBB A,R2 结果:(A)=74H Cy=0 AC=0 OV=1 P=0
例3.13 将(31H)、(30H)和 (41H)、(40H)中两个双字节 无符号数相加,结果送51H、50H。 • • • • • • MOV A,30H ADD A,40H MOV 50H,A MOV A,31H ADDC A,41H MOV 51H,A
3.3 算术运算指令
共有24条。 主要完成加、减、乘、除四则运算 以及增量、减量和十 进制调整操作。 大多数的算术运算指令都对 PSW 的标志位有影 响。

《单片机原理与实用技术》第3章

《单片机原理与实用技术》第3章
汇编语言
汇编语言具有高效、灵活和可移植性强的特点,适用于对性能要求较高的场合。
汇编语言的优势
汇编语言编写复杂,可读性差,开发效率低,且移植性较差。
汇编语言的缺点
汇编语言
C语言
C语言
C语言是一种中级编程语言,既具有高级语言的抽象性,又具有低级语言的可操作性。
C语言的优势
C语言具有高效、可移植性强、可读性好、易于维护等优点。
其他编程语言的缺点
其他编程语言
单片机的开发环境
05
安装与配置
介绍Keil软件的安装步骤,以及如何配置开发环境,包括选择合适的单片机型号和设置工程属性等。
编译与调试
介绍如何使用Keil软件进行代码编译,以及如何使用调试器进行程序调试,包括断点设置、单步执行、观察变量值等操作。
编写代码
阐述如何使用Keil软件编写C语言或汇编语言代码,包括新建工程、添加源文件、编写代码等步骤。
确定系统性能指标
根据系统功能,确定系统的性能指标,如处理速度、输入输出接口等。
制定系统设计方案
根据需求分析和性能指标,制定系统的整体设计方案,包括硬件和软件方案。
系统需求分析
03
02
01
根据系统需求和设计方案,选择合适的单片机型号,并了解其功能和特性。
选择单片机型号
根据系统需求和单片机特性,设计外围电路,包括电源电路、输入输出接口电路等。
烧写程序
说明如何将编译好的程序烧写到单片机中,包括选择合适的烧写工具、配置烧写参数、执行烧写操作等步骤。
Keil软件的使用
烧写程序
说明如何将编译好的程序烧写到单片机中,包括选择合适的烧写工具、配置烧写参数、执行烧写操作等步骤。
安装与配置

单片机课件第3章

单片机课件第3章

ROM指令(2条 指令(2 ⒋ 读ROM指令(2条)
① MOVC ② MOVC A,@A+DPTR A,@A+PC ;(A+DPTR)→A PC+1 ;PC+1→PC,(A+PC)→A
三个不同的存储空间用三种不同的指令传送: 三个不同的存储空间用三种不同的指令传送: 内RAM(包括特殊功能寄存器): RAM(包括特殊功能寄存器): 外RAM: ROM: 用MOV指令传送; MOV指令传送; 指令传送 用MOVX指令传送; MOVX指令传送; 指令传送 用MOVC指令传送。 MOVC指令传送。 指令传送
⒋ 寄存器间接寻址
间接寻址是根据操作数地址的地址寻找 间接寻址是根据操作数地址的地址寻找 操作数地址的地址 操作数。 操作数。 间接寻址用间址符“ 作为前缀。 间接寻址用间址符“@”作为前缀。 【例】 A,@R0 将以R MOV A,@R0 ;将以R0中内容为地址的存储单元中的数据
传送至A 传送至A中
操作码:表示指令的操作功能。 ⑵ 操作码:表示指令的操作功能。
操作码用助记符表示, ① 操作码用助记符表示, 的操作功能。 它代表了指令 的操作功能。 操作码是指令的必需部分, ② 操作码是指令的必需部分, 是指令的核心,不可缺少。 是指令的核心,不可缺少。
操作数:参加操作的数据或数据地址。 ⑶ 操作数:参加操作的数据或数据地址。
⒉ 直接寻址 直接寻址是给出操作数的直接地址 给出操作数的直接地址。 直接寻址是给出操作数的直接地址。 直接寻址范围为内RAM 128B和特殊功能寄 直接寻址范围为内RAM 128B和特殊功能寄 存器。 存器。
【例】 MOV MOV A,3 A,3AH A,P0
单元中的数据传送至A ;将内RAM 3AH单元中的数据传送至A中 将内RAM AH单元中的数据传送至 ;将特殊功能寄存器P0口中的数据传送至A中 将特殊功能寄存器P0口中的数据传送至A P0口中的数据传送至
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章MCS-51的指令系统介绍MCS-51汇编语言的指令系统。

3.1 指令系统概述MCS-51的基本指令共111条,按指令所占的字节来分:的本指令共条按指令所占的字节来分(1)单字节指令49条;双字节指令45条(2)双字节指令45条;(3)三字节指令17条。

按指令的执行时间来分:(1)1个机器周期(12个时钟振荡周期)指令64条(2) 2个机器周期(24个时钟振荡周期)指令45条线路人生|Ci r c ui tyL if e(3)只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。

s12MHz晶振:机器周期为1μs。

3.2指令格式两部分组成,即操作码和操作数。

操作码用来规定指令进行什么操作操作数则是指令操作的对象有单字节指令、双字节指令、三字节不同长度的指令,格式不同:(1)单字节指令:指令只有一个字节,操作码和操作数同在一个字节中。

线路人生|C i r c ui tyL if e(2)双字节指令:一个字节为操作码,另一个字节个字节为操作码,另个字节是操作数。

操作码占一个字节操作数占二(3)三字节指令:操作码占个字节,操作数占二个字节。

其中操作数既可能是数据,也可能是地址。

33指令系统的寻址方式3.3 指令系统的寻址方式寻址方式就是在指令中说明操作数所在地址的方法。

共7种寻址方式。

1.寄存器寻址方式寄存器寻址方式操作数在寄存器中MOV A Rn (Rn)→A n=0~7MOV A,Rn ;(Rn)→A,n=0~7表示把寄存器Rn的内容传送给累加器A线路人生|C i r c ui tyL if e寻址范围包括:(1)4组通用工作寄存区共32个工作寄存器。

(2)部分特殊功能寄存器例如A B 以及数据指针(2)部分特殊功能寄存器,例如A、B 以及数据指针寄存器DPTR等。

2直接寻址方式2.直接寻址方式操作数直接以单元地址的形式给出:MOV A,40H寻址范围:(1) 内部RAM的128个单元(2) 特殊功能寄存器。

除了以单元地址的形式外,还可用寄存器符号的形式给出。

例如:MOV A,80H 与MOV A,P0是等价的。

线路人生|C i r c ui tyL if e3. 寄存器间接寻址方式寄存器中存放的是操作数的地址前缀标志“@”在寄存器的名称前面加前缀标志@访问内部RAM或外部数据存储器的低256个字节时,只例如能采用R0或R1作为间址寄存器。

例如:MOV A,@Ri;i=0或1其中Ri中的内容为40H,把内部RAM40H单元内容送A。

寻址范围寻址范围:(1)访问内部RAM低128个单元,其通用形式为@Ri (2)对片外数据存储器的64K字节的间接寻址,例如:MOVX A,@DPTR MOVX A,@DPTR线路人生|Ci r c ui tyL if e(3)片外数据存储器的低256字节例如:MOVX A,@Ri(4)堆栈区堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指针(SP)作间址寄存器4.立即寻址方式操作数在指令中直接给出,需在操作数前面加前缀“#”。

例如:MOV A,#40H基址寄存器加变址寄存器间址寻址方式5.基址寄存器加变址寄存器间址寻址方式本寻址方式是以DPTR或PC作基址寄存器,以累加器A 作为变址寄存器。

线路人生|C i r c ui tyL if e例如:指令MOVC A,@A+DPTR 其中A的原有内容为05H,DPTR的内容为0400H,该指令执行的结果是把程序存储器0405H单元的内容传送给A。

说明:(1)本寻址方式是专门针对程序存储器的寻址方式,寻址范围可达到64KB。

(2)本寻址方式的指令只有3条:MOVC A,@A+DPTRA @A+PC MOVC A,@A+PCJMP@A+DPTR线路人生|Ci r c ui tyL if e6.位寻址方式MCS-51有位处理功能,可以对数据位进行操作,例如:MOV C,40H MOV C,40H是把位40H的值送到进位位C。

寻址范围包括寻址范围包括:(1)内部RAM中的位寻址区。

位有两种表示方法,例如,种是单地址加上位例如()指40H;另一种是单元地址加上位,例如,(28H).0,指的是28H单元中的最低位。

它们是等价的。

(2)特殊功能寄存器中的可寻址位可寻址位在指令中有如下4种的表示方法:a. 直接使用位地址。

例如PSW.5的位地址为0D5H。

线路人生|C i r c ui tyL if eb.位名称的表示方法。

例如:PSW.5是F0标志位,可使用F0表示该位。

c.单元地址加位数的表示方法。

例如:(0D0H).5。

d.特殊功能寄存器符号加位数的表示方法。

例如:PSW.5。

7相对寻址方式7.相对寻址方式在相对寻址的转移指令中,给出了地址偏移量,以“表示把的当前值加上偏移量就构成了程“rel ”表示,即把PC的当前值加上偏移量就构成了程序转移的目的地址:目的地址=转移指令所在的地址+转移指令的字节数+rel偏移量rel是一带符号的8位二进制数补码数。

线路人生|C i r c ui tyL if e范围是:–128 ~+127向地址增加方向最大可转移(127+转移指令字节)个单元地址,向地址减少方向最大可转移(128-转移指令字节)个单元地址。

7种寻址方式及寻址空间,见表3-1(P43)。

7种寻址方式及寻址空间,见表31(P43)。

3.4MCS-51指令系统分类介绍111条指令按功能分类可分为下面,按功能分类,可分为下面5大类:(1)数据传送类(28条)(2)算术操作类(24条(3)逻辑运算类(25条)(4)控制转移类(17条)(5)位操作类(17条)线路人生|C i r c ui tyL if e指令中符号的意义:Rn 当前寄存器区的8个工作寄存器R0~R7(n=0~7)。

Ri 当前选中的寄存器区中可作间接寻址寄存器的2当前选中的寄存器区中可作间接寻寄存器的个寄存器R0、R1(i=0,1)。

Direct 直接地址,即8位的内部数据存储器单元或接即位的内部数据存储器单元或特殊功能寄存器的地址。

#data 包含在指令中的8位立即数。

含在指令中的位即数#data16包含在指令中的16位立即数。

rel 相对转移指令中的偏移量,为8位的带符号补码数DPTR 数据指针,可用作16位的数据地址寄存器。

bit 内部RAM或特殊功能寄存器中的直接寻址位。

进位标志位或位处理机中的累加器C(或Cy)进位标志位或位处理机中的累加器。

线路人生|Ci r c ui tyL if eaddr1111位目的地址addr1616位目的地址@间接寻址寄存器前缀,如@Ri,@A+DPTR(X)X中的内容。

((X))由X寻址的单元中的内容。

→箭头右边的内容被箭头左边的内容所取代。

3.4.1 数据传送类指令使用最频繁的一类指令,通用格式:MOV <目的操作数>,<源操作数>目的操作数源操作数属“复制”性质,而不是“搬家”数据传送类指令C A 和OV 但不包不影响标志位,Cy、Ac和OV,但不包括奇偶标志位P。

线路人生|C i r c ui tyL if e1.以累加器为目的操作数的指令MOV A,Rn ;(Rn)→A,n=0~7A @Ri ((Ri))→A i=01MOV A,@Ri ;((Ri))A,i=0,1MOV A,direct ;(direct)→A MOV A,#data ;#data→A 例如:MOV A,R6;(R6)→A,寄存器寻址A 70H (70H)A 直接寻址MOV A,70H ;(70H)→A,直接寻址MOV A,@R0;((R0))→A,间接寻址MOV A,#78H ;78H→A,立即寻址22.以Rn为目的操作数的指令线路人生|Ci r c ui tyL if eMOV Rn,A ;(A)→Rn,n=0~7MOV Rn,direct ;(direct)→Rn,n=0~7Rn #dat #data→Rn n=0~7MOV Rn,#dat ;#data Rn,n=07功能:是把源操作数的内容送入当前一组工作寄存器中某个寄存区的R0~R7中的某一个寄存器。

3.以直接地址direct为目的操作数的指令令MOV direct,A ;(A)→direct di t R (R )di t =07MOV direct,Rn;(Rn)→direct,n=0~7MOV direct1,direct2;MOV direct,@Ri ;((Ri))→direct direct #data;#data→direct MOV direct,#data;#data direct线路人生|Ci r c ui tyL if e功能:把源操作数送入直接地址指出的存储单元。

direct指的是内部RAM或SFR的地址。

44.以寄存器间接地址为目的操作数的指令MOV @Ri,A ;(A)→((Ri)),i=0,1MOV @Ri,direct ;(direct)→((Ri))@Ri #data MOV @Ri,#data;#data→((Ri))5.16位数传送指令MOVDPTR,#data16;#data16→DPTR唯一的16位数据的传送指令立即数的高8位送入DPH,唯的16位数据的传送指令,立即数的高8位送入DPH,立即数的低8位送入DPL。

线路人生|Ci r c ui tyL if e6.堆栈操作指令MCS-51内部RAM中可以设定一个后进先出(LIFO-Last In First Out)的区域称作堆栈.堆栈指针SP指出堆栈的栈顶位置。

(1)进栈指令PUSH direct先将栈指针SP加1然后把di t中的内容送到栈指先将栈指针SP加1,然后把direct中的内容送到栈指针SP指示的内部RAM单元中。

例如时例如:当(SP)=60H,(A)=30H,(B)=70H时,执行:PUSH A CC ;(SP)+1=61H→SP,(A)→61H(SP)161H SP,(A)61H PUSH B ;线路人生|Ci r c ui tyL if e(SP)+1=62H→SP,(B)→62H结果:(61H)=30H,(62H)=70H,(SP)=62H(2)出栈指令POPdirectSP指示的栈顶(内部RAM单元)内容送入direct字节单元中,栈指针SP减1.例如:当(SP)=62H,(62H)=70H,(61H)=30H,执行执行:POPDPH ;((SP))→DPH,(SP)-1→SP POPDPL ;((SP))→DPL,(SP)-1→SP结果(DPTR)=7030H (SP)=60H结果:(DPTR)=7030H,(SP)=60H 线路人生|Ci r c ui tyL if e7.累加器A与外部数据存储器传送指令MOVX A,@DPTR ;((DPTR))→A,读外部RAM/IO ;((Ri))→A,读外部RAM/IO MOVX A,@Ri ;((Ri))A,读外部RAM/IOMOVX @DPTR,A;(A)→((DPTR)),写外部RAM/IO @Ri A (A)((Ri))写外部RAM/IOMOVX @Ri,A ;(A)→((Ri)),写外部RAM/IO 功能:读外部RAM存储器或I/O中的一个字节,或把A中一个字节的数据写到外部RAM存储器或I/O中。

相关文档
最新文档