单片机原理及应用全册配套最完整精品课件3.ppt

上传人(卖家):罗嗣辉 文档编号:1760761 上传时间:2021-09-27 格式:PPT 页数:351 大小:3.87MB
下载 相关 举报
单片机原理及应用全册配套最完整精品课件3.ppt_第1页
第1页 / 共351页
单片机原理及应用全册配套最完整精品课件3.ppt_第2页
第2页 / 共351页
单片机原理及应用全册配套最完整精品课件3.ppt_第3页
第3页 / 共351页
单片机原理及应用全册配套最完整精品课件3.ppt_第4页
第4页 / 共351页
单片机原理及应用全册配套最完整精品课件3.ppt_第5页
第5页 / 共351页
点击查看更多>>
资源描述

1、单片机原理及应用全册配套最单片机原理及应用全册配套最 完整精品课件完整精品课件3 单片机原理及应用单片机原理及应用 知识点既分散又连贯,组成结构和指令系统是基础;知识点既分散又连贯,组成结构和指令系统是基础; 与电子技术尤其是数字电子技术关系密切;与电子技术尤其是数字电子技术关系密切; 预习、复习;预习、复习; 多动手(硬件、软件实验);多动手(硬件、软件实验); 多看参考书多看参考书( (包括利用网上资料包括利用网上资料) ); 其它(上课、作业、答疑)。其它(上课、作业、答疑)。 单片机的概念单片机的概念 单片机发展历史单片机发展历史 单片机的应用特点单片机的应用特点 单片机的应用领域单片

2、机的应用领域 典型单片机产品典型单片机产品 发展趋势发展趋势 开发条件开发条件 开发过程开发过程 随着微电子技术的不断发展,微处理器芯片的集成度随着微电子技术的不断发展,微处理器芯片的集成度 越来越高,已经可以在一块芯片上同时集成越来越高,已经可以在一块芯片上同时集成CPU、存、存 储器、定时器储器、定时器/计数器、并行和串行接口、甚至计数器、并行和串行接口、甚至A/D 转换器等。人们把这种超大规模集成电路芯片称作转换器等。人们把这种超大规模集成电路芯片称作 “微控制器微控制器”(MICROCONTROLLER),简称为单,简称为单 片机。单片机的出现,引起了仪器仪表结构的根本性片机。单片机的

3、出现,引起了仪器仪表结构的根本性 变革,以单片机为主体取代传统仪器仪表的常规电子变革,以单片机为主体取代传统仪器仪表的常规电子 线路,可以容易地将计算技术与测量控制技术结合在线路,可以容易地将计算技术与测量控制技术结合在 一起,组成新一代的所谓一起,组成新一代的所谓“智能化测量控制仪表智能化测量控制仪表”以以 及及 其他各种智能化仪器设备。其他各种智能化仪器设备。 单片机的概念单片机的概念 单片机的发展历史单片机的发展历史 初级阶段(初级阶段(19741976)FAIRCHILD 两片集成芯片(集成工艺限制)两片集成芯片(集成工艺限制) 低性能阶段(低性能阶段(19761978) INTEL

4、MCS-48 高性能阶段(高性能阶段(19781982) INTEL MCS51 更高性能阶段(更高性能阶段(1983) 多种机型并行发展多种机型并行发展 单片机的应用特点单片机的应用特点 软硬件结合、多学科交叉软硬件结合、多学科交叉 应用现场环境恶劣应用现场环境恶劣(电磁干扰、电源波动、电磁干扰、电源波动、 冲击振动、高低温湿度等冲击振动、高低温湿度等) 应用领域广泛且意义重大应用领域广泛且意义重大(硬件软化硬件软化-微控微控 制技术制技术) 在工业自动化方面在工业自动化方面(过程控制、数据采集和测控(过程控制、数据采集和测控 技术、机器人技术、机械电子计算机一体化技术)技术、机器人技术、机

5、械电子计算机一体化技术) 仪器仪表方面仪器仪表方面(测试仪表和医疗仪器(测试仪表和医疗仪器-数字化、智数字化、智 能能 化、高精度、小体积、低成本、便于增加显示报化、高精度、小体积、低成本、便于增加显示报 警和自诊断功能)警和自诊断功能) 在家用电器方面在家用电器方面(冰箱、洗衣机、空调机、微波炉、(冰箱、洗衣机、空调机、微波炉、 电视机、音像设备等)电视机、音像设备等) 信息和通信产品方面信息和通信产品方面(计算机的键盘、打印机、磁(计算机的键盘、打印机、磁 盘驱动器;传真机、复印机、电话机、考勤机)盘驱动器;传真机、复印机、电话机、考勤机) 在军事方面在军事方面(飞机、大炮、坦克、军舰、导

6、弹、火(飞机、大炮、坦克、军舰、导弹、火 箭、雷达等)箭、雷达等) 单片机的应用领域单片机的应用领域 典型单片机产品典型单片机产品 器件厂家器件厂家 美国:美国:Intel、 Motorola、 Microchip 、Atmel 荷兰荷兰: Philips 德国:德国:Siemens 日本:日本:Nec 中国台湾:中国台湾:Winbond、SST 典型单片机产品典型单片机产品 根据型号可确定单片机的存储器类型根据型号可确定单片机的存储器类型 无无ROM型型 :80C31 ROM型型: 80C51 EPROM型型:87C51 EEPROM型型:89C51 单片机的发展趋势单片机的发展趋势 性能不

7、断提高性能不断提高 CPU功能增强:速度、精度功能增强:速度、精度 内部资源增多:内部资源增多:A/D、D/A、EEPROM 单片机的多品种:单片机的多品种: 超微型化、低电压、低功耗超微型化、低电压、低功耗 CMOS工艺、空闲等待和掉电停机方式工艺、空闲等待和掉电停机方式 单片机系统开发条件单片机系统开发条件 单片机芯片单片机芯片 开发工具开发工具 资料手册资料手册 单片机系统的开发过程单片机系统的开发过程 通常开发一个单片机系统可按以下几个步骤进行。通常开发一个单片机系统可按以下几个步骤进行。 (1) 明确系统设计任务,完成单片机及其外围电路的选型工作。明确系统设计任务,完成单片机及其外围

8、电路的选型工作。 (2) 设计系统原理图和设计系统原理图和PCB板,经仔细检查板,经仔细检查PCB板后送工厂制作。板后送工厂制作。 (3) 完成器件的安装焊接。完成器件的安装焊接。 (4) 根据硬件设计和系统要求编写应用程序。根据硬件设计和系统要求编写应用程序。 (5) 在线调试软硬件。在线调试软硬件。 (6) 使用编程器烧写单片机应用程序,独立运行单片机系统。使用编程器烧写单片机应用程序,独立运行单片机系统。 8051单片机基本结构单片机基本结构 80518051单片机的特点单片机的特点 8051单片机可分为无ROM型和ROM型两种 无ROM型的芯片,必须外接EPROM才能应 用(典型芯片为

9、8031) ROM型芯片又分为EPROM型(典型芯片为 8751)、FLASH型(典型芯片为89C51)、 掩膜ROM型(典型芯片为8051 )、一次性 可编程ROM(One Time Programming,简 称OTP)的芯片(典型芯片为97C51)。 8051单片机的基本组成单片机的基本组成 时钟电路时钟电路SFR和和RAM ROM CPU 定时定时/计数器计数器 并行端口并行端口中断系统中断系统串行端口串行端口 系系 统统 总总 线线 时钟源时钟源 T0 T1 P0 P1 P2 P3 TXD RXD INT0 INT1 (1)一个)一个8位微处理器位微处理器CPU。 (2)片内数据存储

10、器)片内数据存储器RAM和特殊功能寄存器和特殊功能寄存器SFR。 (3)片内程序存储器)片内程序存储器ROM。 (4)两个定时)两个定时/计数器计数器T0、T1,可用作定时器,也可用以,可用作定时器,也可用以 对外部脉冲进行计对外部脉冲进行计 数。数。 (5)四个四个8 8位可编程的并行位可编程的并行I/OI/O端口,每个端口既可作输端口,每个端口既可作输 入,也可作输出。入,也可作输出。 (6 6)一个串行端口,用于数据的串行通信。)一个串行端口,用于数据的串行通信。 (7 7)中断控制系统。)中断控制系统。 (8 8)内部时钟电路。)内部时钟电路。 一个一个8051单片机包含下列部件单片机

11、包含下列部件 8051单片机内部结构单片机内部结构 通道通道0驱动器驱动器通道通道2驱动器驱动器 RAM地址地址 锁存器锁存器 RAM 通道通道0锁锁 存器存器 通 道通 道 2 锁锁 存器存器 ROM/ EPROM B寄存器寄存器 程序地址寄存器程序地址寄存器 缓冲器缓冲器 PC递增器递增器 程序计数器程序计数器PC 数据指针数据指针DPTR VCC GND P1.0P1.7 堆栈指针堆栈指针SP ACC TMP2 PSW 通道通道3锁存器锁存器 通道通道1锁存器锁存器 通道通道1驱动器驱动器通道通道3驱动器驱动器 TMP1 SCON TMODPCONTCON TL0TH1TH0TL1 IE

12、SBUF(TX/RX)IP 中断、串行口和定时器逻辑中断、串行口和定时器逻辑 振荡器振荡器 P3.0P3.7 RST EA ALE PSEN XTAL2 XTAL1 ALU (+5V) 指指 令令 寄寄 存存 器器 定时定时 和和 控制控制 逻辑逻辑 指指 令令 译译 码码 器器 CPU即中央处理器,是单片机的核心部件,它完成各种运算和控 制操作,CPU由运算器和控制器两部分组成。 (1 1)运算器)运算器 运算器以算术逻辑单元ALU为核心,加上累加器ACC、暂存 寄存器TMP和程序状态字寄存器PSW等所组成。ALU主要用于完成 二进制数据的算术和逻辑运算,并通过对运算结果的判断影响 程序状态

13、字寄存器PSW中有关位的状态。 D7 D0 PSWPSW: 80518051单片机的单片机的CPUCPU CY ACF0RS 1 RS 0 OVP PSWPSW中各位的意义如下:中各位的意义如下: CYCY:进位标志。在进行加法或减法运算时,若运算结 果的最高位有进位或借位,CY=1,否则CY=0,在执行 位操作指令时,CY作为位累加器。 ACAC:辅助进位标志。在进行加法或减法运算时,若低 半字节向高半字节有进位或借位, AC=1,否则AC=0, AC还作为BCD码运算调整时的判别位。 F0F0:用户标志。 RS1RS1和和RS0RS0:工作寄存器组选择,如下表所示。 RS1RS0工作寄存器

14、组片内RAM地址 00第0组 00H07H 01第1组 08H0FH 10第2组 10H17H 11第3组 18H1FH OVOV:溢出标志。当两个带符号的单字节数进行运算, 结果超出-128+127的范围时,OV=1,表示有溢出, 否则OV=0表示无溢出。 PSW中的D1位为保留位,对于8051来说没有意义,对于 8052来说为用户标志,与F0相同。 P P:奇偶校验标志。每条指令指行完毕后,都按照累加 器A中“1”的个数来决定P值,当“1”的个数为奇数 时,P=1,否则P=0。 (2)控制器)控制器 控制器包括程序计数器PC、指令寄存器、指令译码器、数据 指针DPTR、堆栈指针SP、缓冲器

15、以及定时与控制电路等。控 制电路完成指挥控制工作,协调单片机各部分正常工作。 程序计数器程序计数器PCPC:当一条指令按PC所指向的地址从程序存储器中 取出之后,PC的值会自动增量,即指向下一条指令。 堆栈指针堆栈指针SPSP:用来指示堆栈的起始地址。80C51单片机的堆栈 位于片内RAM中,而且属于“上长型”堆栈,复位后SP被初 始化为07H,使得堆栈实际上由08H单元开始。 指令译码器:指令译码器:当指令送入指令译码器后,由译码器对该指令进 行译码,CPU根据译码器输出的电平信号使定时控制电路产 生执行该指令所需要的各种控制信号。 数据指针寄存器数据指针寄存器DRTRDRTR:它是一个16

16、位寄存器,由高位字节DPH 和低位字节DPL组成,用来存放16位数据存储器的地址,以 便对片外64kB的数据RAM区进行读写操作。 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8031 8051 8751 40 39 38 37 36 35 34 33 32 31 30 2

17、9 28 27 26 25 21 22 23 24 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/Vpp ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 8051单片机引脚描述单片机引脚描述 电源引脚电源引脚VccVcc和和VssVss Vcc:电源端,接5V。 Vss:接地端。 时钟电路引脚时钟电路引脚XTAL1XTAL1和和XTAL2XTAL2 XTAL1:接外部晶振和微调电容的一端,在片内它是 振荡器倒相放大器的输入,若使用外部TTL时钟时,该 引脚必须接地。 XTAL2:接外部晶

18、振和微调电容的另一端,在片内它 是振荡器倒相放大器的输出,若使用外部TTL时钟时, 该引脚为外部时钟的输入端。 地址锁存允许地址锁存允许ALEALE 系统扩展时,ALE用于控制地址锁存器锁存P0口输出的 低8位地址,从而实现数据与低位地址的复用。 外部程序存储器读选通信号外部程序存储器读选通信号PSENPSEN PSEN是外部程序存储器的读选通信号,低电平有效。 程序存储器地址允许输入端程序存储器地址允许输入端EA /VEA /VPP PP 当EA为高电平时,CPU执行片内程序存储器指令,但当 PC中的值超过0FFFH时,将自动转向执行片外程序存储 器指令。当EA为低电平时,CPU只执行片外程

19、序存储器 指令。 复位信号复位信号RSTRST 该信号高电平有效,在输入端保持两个机器周期的高电 平后,就可以完成复位操作。 输入输入/ /输出端口引脚输出端口引脚P P0 0,P P1 1, ,P P2 2和 和P P3 3 P0口(口(P0.0P0.7):):该端口为漏极开路的8位准双向 口,它为外部低8位地址线和8位数据线复用端口, 驱动能力为8个LSTTL负载。 P1口(口(P1.0P1.7):):它是一个内部带上拉电阻的8位 准双向I/O口,P1口的驱动能力为4个LSTTL负载。 P2口(口(P2.0P2.7):):它为一个内部带上拉电阻的8位 准双向I/O口,P2口的驱动能力也为4

20、个LSTTL负载。 在访问外部程序存储器时,作为高8位地址线。 P P3 3口(口(P P3.0 3.0 P P3.7 3.7): ):为内部带上拉电阻的8位准双向 I/O口,P3口除了作为一般的I/O口使用之外,每个引 脚都具有第二功能。 特 殊 功 能 寄 存 器 通用 RAM区 位寻址区 00H 1FH 20H 2FH 30H 7FH 80H FFH 80H 88H 90H 98H A0H A8H B0H B8H D0H E0H F0H 特殊功能寄存器地址 外部 ROM 内部 ROM (EA=1) 外部 ROM (EA=0) 0000H 0000H 0FFFH0FFFH 1000H FF

21、FFH 外 部 RAM (I/O口 地址) 0000H FFFFH 内部数据存储器外部数据存储器 程序存储器 工作寄 存器区 8051单片机的存储器配置单片机的存储器配置 片内数据存储器RAM 。 片外数据存储器RAM 。 程序存储器ROM 。 程序存储器ROM地址空间为64kB,片外数 据存储器RAM也有64kB的寻址区,在地址 上是与ROM重迭的。8051单片机通过不同 信号来选通ROM或RAM。当从外部ROM中 取指令时,采用选通信号PSEN,而从外部 RAM中读写数据时则采用读RD和写WR信 号或来选通,因此不会因地址重迭而发生混 乱。 80518051在物理上有在物理上有3 3个存储

22、器空间个存储器空间 片内数据存储器片内数据存储器RAM 片内RAM有256个字节,其中00H7FH地址空间是直 接寻址区,该区域内从00H1FH地址为工作寄存器 区,安排了4组工作寄存器,每组都为R0R7,在 某一时刻,CPU只能使用其中任意一组工作寄存器, 由程序状态字PSW中RS0和RS1的状态决定。 片内RAM的20H2FH地址单元为位寻址区,其中每 个字节的每一位都规定了位地址。每个地址单元除 了可进行字节操作之外,还可进行位操作。 片内RAM的80HFFH地址空间是特殊功能寄存器SFR 区,对于51子系列在该区域内安排了21个特殊功能 寄存器,对于52子系列则在该区域内安排了26个特

23、 殊功能寄器,同时扩展了128个字节的间接寻址片 内RAM,地址也为80FFH,与SFR区地址重迭。 片内数据存储器中的位地址片内数据存储器中的位地址 特殊功能寄存器地址及功能表特殊功能寄存器地址及功能表 片外数据存储器片外数据存储器RAM 当片内RAM不能满足数量上的要求时, 可通过总线端口和其他I/O口扩展外部 RAM,其最大容量可达64KB字节。 在片内数据存储器中,数据区和扩展 的I/O口是统一编址的,使用的指令也完 全相同,因此,用户在应用系统设计时, 必须合理地进行外部RAM和I/O端口的地 址分配,并保证译码的唯一性。 程序存储器程序存储器ROM 程序存储器ROM包括片内ROM和

24、片外 ROM两个部分。主要用来存放编好的用 户程序和表格常数,它以16位的程序计 数器PC作为地址指针,寻址空间为 64KB。当EA接高电平时,单片机从片内 ROM的4kB字节存储器区取指令,当指 令地址超过0FFFH后,自动地转向片外 ROM取指令。当EA接低电平时,所有的 取指操作均对片外程序存储器进 行。 8051单片机的单片机的CPU时序时序 1 单片机的时钟电路 2 振荡周期、时钟周期、机器周期 和指令周期 3 单片机指令的取指和执行时序 单片机的时钟电路单片机的时钟电路 单片机时钟电路通常有两种形式: 1内部振荡方式:8051单片机片内有一个用于构成 振荡器的高增益反相放大器,引脚

25、XTAL1和XTAL2 分别是此放大器的输入端和输出端。把放大器与作 为反馈元件的晶体振荡器或陶瓷谐振器连接,就构 成了内部自激振荡器并产生振荡时钟脉冲。 2外部振荡方式:外部振荡方式就是把外部已有的 时钟信号引入单片机内。 XTAL2 XTAL1 MCS-51 C1 C2 CYS XTAL2 XTAL1 MCS-51 +5V VSS TTL 外部时钟源外部时钟源 内部振荡方式内部振荡方式 外部振荡方式外部振荡方式 P1P2 S1 振荡周期振荡周期 时钟周期时钟周期 机器周期机器周期机器周期机器周期 指令周期指令周期 XTAL2 (OSC) S2S3S4S5S6S1S2 S4 S5S3S6 P

26、1P1 P1 P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2 8051单片机各种周期的相互关系单片机各种周期的相互关系 振荡周期、时钟周期、机器周期、指令周振荡周期、时钟周期、机器周期、指令周 期期 P2 1振荡周期:为单片机提供时钟信号的振 荡源的周期。 2时钟周期:振荡源信号经二分频后形成 的时钟脉冲信号,为振荡周期的2倍。 3机器周期:完成一个基本操作所需的时 间,通常为12个振荡周期。 4指令周期:指CPU执行一条指令所需要 的时间,一个指令周期通常含有14 个机器周期。 振荡周期1/12s 时钟周期1/6s 机器周期1s 指令周期14s 8051单片机外接晶

27、振为单片机外接晶振为12MHz时时 四个周期的具体值四个周期的具体值 复位电路及复位状态复位电路及复位状态 1 1复位电路复位电路 单片机复位电路包括片内、片外两部分。 外部复位电路就是为内部复位电路提供 两个机器周期以上的高电平而设计的。 8051单片机通常采用上电自动复位和按 键手动复位两种方式。单片机运行出错 或进入死循环时,可按复位键重新运行。 C 1 22F RST R1 1K +5V +5V 8031 8051 8751 (a)上电复位电路)上电复位电路 (b)按键复位电路)按键复位电路 C 1 22F RST R2 200 8031 8051 8751 R1 1K 上电复位和按键

28、复位电路上电复位和按键复位电路 特殊功能寄存器特殊功能寄存器初始状态初始状态特殊功能寄存器特殊功能寄存器初始状态初始状态 ACC00HTMOD00H PC0000HTCON00H PSW00HTH000H SP07HTL000H DPL00HTH100H DPH00HTL100H P0P3FFHSBUF不定不定 IP00000BSCON00H IE000000BPCON00000B 2 2复位状态复位状态 8051单片机的并行单片机的并行I/O口口 8051单片机有4个双向并行的8位I/O 口P0P3。P0口为三态双向口,可驱 动8个TTL电路,P1、P2、P3口为准 双向口(作为输入时,需要

29、先向口锁 存器写入1,故称为准双向口),其 负载能力为4个TTL电路。 1P0口的结构口的结构 VCC P0.X 锁存器锁存器 读锁存器读锁存器 地址地址/数据数据 控制控制 D 读引脚读引脚 写锁存器写锁存器 内部总线内部总线 Q Q MUX T2 P0.X T1 CL 2P1口的结构口的结构 VCC P1.X 锁存器锁存器 读锁存器读锁存器 D 读引脚读引脚 写锁存器写锁存器 内部总线内部总线 Q Q T P1.X 内部上拉电阻内部上拉电阻 CL 3P2口的结构口的结构 VCC P2.X 锁存器锁存器 读锁存器读锁存器 地址地址 控制控制 D 读引脚读引脚 写锁存器写锁存器 内部总线内部总

30、线 Q Q MUX T P2.X 内部上拉电阻内部上拉电阻 CL 4P3口的结构口的结构 VCC P3.X 锁存器锁存器 读锁存器读锁存器 第二输出功能第二输出功能 D 读引脚读引脚 写锁存器写锁存器 内部总线内部总线 Q Q T P3.X 内部上拉电阻内部上拉电阻 第二输入功能第二输入功能 CL P3.2 P3.3 位线位线引脚引脚第二功能第二功能 P3.010RXD(串行输入口)(串行输入口) P3.111TXD(串行输出口)(串行输出口) 12INT0(外部中断(外部中断0) 13INT1(外部中断(外部中断1) P3.414T0(定时器(定时器0的计数输入)的计数输入) P3.515T

31、1(定时器(定时器1的计数输入)的计数输入) 16WR(外部数据存储器写脉冲)(外部数据存储器写脉冲) 17RD(外部数据存储器读脉冲)(外部数据存储器读脉冲)P3.7 P3.6 P3口的第二功能口的第二功能 (1)地址总线(AB):地址总线宽度为16位, 由P0口经地址锁存器提供低8位地址(A0 A7);P2口直接提供高8位地址(A8A15)。 地址信号是由CPU发出的,故地址总线是单方 向的。 (2)数据总线(DB):数据总线宽度为8位, 用于传送数据和指令,由P0口提供。 (3)控制总线(CB):控制总线随时掌握各种 部件的状态,并根据需要向有关部件发出命令, 主要有PSEN、WR、 R

32、D信号。 8051单片机的片外总线结构单片机的片外总线结构 8051与外部存储器、与外部存储器、I/O端口的连接端口的连接 8051单片机的指令系统单片机的指令系统 指令和助记符指令和助记符 指令本身是一组二进制数代码,为了便于 记忆,将这些代码用具有一定含义的指令助记 符来表示,助记符一般采用英文单词的缩写 。 例:例: 指令代码指令代码 助记符助记符 功能功能 740A MOV A,#0AH 将十六进制数将十六进制数0AH放放 入累加器入累加器A中中 指令的字节数指令的字节数 一条指令由操作码和操作数组成。操作码 指明执行什么操作,例如数的传送、加法、减 法等。操作数则表示这条指令所完成的

33、操作对 象,即是对谁进行操作。操作数可以是一个数, 或者是一个数所在的内存地址。指令由指令字 节组成,不同的指令,指令的字节数不相同。 有单字节指令、双字节指令和三字节指令。 寻址方式寻址方式 1 寄存器寻址 2 直接寻址 3 立即寻址 4 寄存器间接寻址 5 变址寻址 6 相对寻址 7 位寻址 1寄存器寻址寄存器寻址 以通用寄存器的内容为操作数的寻址方式。 通用寄存器为A、B 、DPTR以及R0R7 。 例:例: CLR A ;A0 INC DPTR ;DPTRDPTR+1 ADDR5,# 20H ;R5#20H+R5 2直接寻址直接寻址 指令中直接给出操作数地址的寻址方式, 能进行直接寻址

34、的存储空间有SFR寄存器和内 部数据RAM。 例:例: MOVPSW,# 20H ;PSW#20H MOVA,30H ;A(30H) 3立即寻址立即寻址 指令中直接给出操作数的寻址方式。立即操 作数用前面加有#号的8位或16位数来表示。 例:例: MOVA,# 60H ;A#60H MOVDPTR,# 3400H ;DPTR#3400H MOV30H,# 40H;30H单元单元#40H 4寄存器间接寻址寄存器间接寻址 以寄存器中内容为地址,以该地址中内容为操 作数的寻址方式。间接寻址的存储器空间包括内 部数据RAM和外部数据RAM。能用于寄存器间接 寻址的寄存器有R0,R1和DPTR。在寄存器

35、名称 前面加一个符号来表示寄存器间接寻址。 例:例: MOV A , R0 ;A (R0) MOVX DPTR,A ;外部;外部RAM(DPTR)A 片内片内RAM 30H R0 34H A 30H 34H MOV A ,R0 操作示意图操作示意图 片外片外RAM 2000HDPTR 30HA 2000H 30H MOVX DPTR,A 操作示意图操作示意图 5 5 变址寻址变址寻址 变址寻址是以某个寄存器的内容为基本地 址,然后在这个基址上加以地址的偏移量,才是 真正的操作数地址。 例:例: MOVC A, A+DPTR ;A(A+DPTR) MOVC A, A+PC ;A(A+PC) MO

36、VC A, A+DPTR 操作示意图操作示意图 程序存储器程序存储器 02F1H DPTR A 0302H 1EH 11H A执行前执行前 1EH A执行后执行后 + 6相对寻址相对寻址 以当前程序计数器PC的内容为基础,加上 指令给出的一字节补码数(偏移量)形成新的 PC值的寻址方式。相对寻址用于修改PC值, 主要用于实现程序的分支转移。 例:例: SJMP 08H ;PCPC+2+08H SJMP 08H 操作示意图操作示意图 程序存储器程序存储器 SJMP 200AH 08H 2000H+208H 执行前执行前PC 2000H 执行后执行后PC 7 位寻址位寻址 位寻址只能对有位地址的单

37、元作位寻址操 作。位寻址其实是一种直接寻址方式,不过其 地址是位地址。 例:例: SETB 10H ;将;将10H位置位置1 MOV 32H,C ;32H进位位进位位C CLR PSW.4 ;将;将RS1位清位清0 指令分类说明指令分类说明 1 数据传送类指令 2 算术运算类指令 3 逻辑运算与循环类指令 4 程序转移类指令 5 子程序调用及返回指令 6 位操作指令 数据传送类指令数据传送类指令 助记符助记符 说明说明 MOVMOV、MOVXMOVX、MOVC MOVC 传送操作传送操作 XCHXCH、XCHDXCHD、SWAP SWAP 交换操作交换操作 PUSHPUSH、POP POP 堆

38、栈操作堆栈操作 v 源操作数寻址方式源操作数寻址方式: 立即寻址、直接寻址、寄存器寻址、立即寻址、直接寻址、寄存器寻址、 寄存器间接寻址、变址寻址。寄存器间接寻址、变址寻址。 v 目的操作数寻址方式目的操作数寻址方式: 直接寻址、寄存器寻址、寄存器间接寻址直接寻址、寄存器寻址、寄存器间接寻址 除了目的操作数为除了目的操作数为ACCACC的指令影响奇偶标志的指令影响奇偶标志P P外,一般不影外,一般不影 响标志位。响标志位。 直接地址直接地址 direct 累加器累加器 A 直接地址直接地址 direct 间接地址间接地址 Ri 寄存器寄存器 Rn 立即数立即数 #data 寄存器寄存器 DPT

39、R 8051单片机片内数据传送图单片机片内数据传送图 1 1 以累加器为目的操作数的指令以累加器为目的操作数的指令(4 4条)条) MOV AMOV A,RnRn MOV AMOV A,directdirect MOV AMOV A,RiRi MOV AMOV A,#data#data 这组指令功能将源操作数指定内容送到这组指令功能将源操作数指定内容送到A A中。中。 2 2 以寄存器以寄存器RnRn为目的操作数的指令为目的操作数的指令 (3 3条)条) MOV Rn MOV Rn,A A MOV RnMOV Rn,directdirect MOV RnMOV Rn,#data#data 这组

40、指令功能是把源操作数指定的内容送入当前工作寄存这组指令功能是把源操作数指定的内容送入当前工作寄存 器,源操作数不变。器,源操作数不变。 3 3 以直接地址为目的操作数的指令以直接地址为目的操作数的指令(5 5条)条) MOV directMOV direct,A A MOV directMOV direct,RnRn MOV direct1MOV direct1,direct2direct2 MOV directMOV direct,RiRi MOV directMOV direct,#data#data 这组指令功能是把源操作数指定的内容送入由直接这组指令功能是把源操作数指定的内容送入由直接

41、 地址指出的片内存储单元。地址指出的片内存储单元。 例:例: MOV 20H,A MOV 20H,R1 MOV 20H,30H MOV 20H,R1 MOV 0A0H,#34H MOV P2,#34H 4 以间接地址为目的操作数的指令以间接地址为目的操作数的指令(3条) MOV RiMOV Ri,A A MOV RiMOV Ri,directdirect MOV RiMOV Ri,#data#data 功能:把源操作数指定的内容送入以功能:把源操作数指定的内容送入以R0R0或或R1R1中内容为中内容为 地址的片内存储单元。地址的片内存储单元。 例:例: MOV R0,A MOV R1,20H

42、MOV R0,#34H 5 5 十六位数的传递指令十六位数的传递指令(1 1条)条) MOV DPTRMOV DPTR,#data16#data16 80518051是是8 8位机,这是唯一的一条位机,这是唯一的一条1616位立即数传递指令。位立即数传递指令。 功能:将一个功能:将一个1616位的立即数送入位的立即数送入DPTRDPTR中去。其中高中去。其中高8 8位位 送入送入DPHDPH,低,低8 8位送入位送入DPLDPL。 例:例:MOV DPTR,#1234H 执行完了之后执行完了之后DPHDPH中的值为中的值为12H12H,DPLDPL中的值为中的值为34H34H。 如果我们分别向

43、如果我们分别向DPHDPH,DPLDPL送数,则结果也一样。送数,则结果也一样。 如下面两条指令:如下面两条指令: MOV DPH,#35H MOV DPL,#12H。 相当于执行了相当于执行了 MOV DPTR,#3512H。 6 6 累加器累加器A A与片外与片外RAMRAM之间的数据传递类指令之间的数据传递类指令(4(4条条) ) MOVX AMOVX A,RiRi MOVX Ri MOVX Ri,A A MOVX A MOVX A,DPTRDPTR MOVX DPTR MOVX DPTR,A A 说明: 1.在8051中,与外部RAM存储器打交道的只可以是累加器A 。所 有需要送入外部

44、RAM的数据必需要通过A送去,而所有要读入的外部 RAM中的数据也必需通过A A读入。 在此我们可以看出内外部RAM的区别了,内部RAM间可以直接进 行数据的传递,而外部则不行。 比如,要将外部RAM中某一单元(设为0100H单元的数据)送入 另一个单元(设为0200H单元),也必须先将0100H单元中的内容读 入A,然后再送到0200H单元中去。 2.要读或写外部RAM,必须要知道RAM的地址,采用DPTR时,地址 被直接放在DPTR中的。采用Ri(R0或R1)时,由于Ri只是8位的寄 存器,所以只提供低8位地址。高8位地址由P2口来提供。 3.使用时应先将要读或写的地址送入DPTR或Ri中

45、,然后再用读写 命令。 例:将外部RAM中100H单元中的内容送入外部RAM中200H单元中。 MOV DPTR,#0100H MOVX A,DPTR MOV DPTR,#0200H MOVX DPTR,A 7 读程序存储器指令读程序存储器指令(2条)条) MOVC A MOVC A,A+DPTRA+DPTR MOVC A MOVC A,A+PCA+PC 本组指令是将ROM中的数送入A中。本组指令也被称为查表指 令,常用此指令来查一个已做好在ROM中的表格 说明:查找到的结果被放在A中,因此,本条指令执行前后,A 中的值不一定相同。 例:有一个数在R0中,要求用查表的方法确定它的平方值(此 数

46、的取值范围是0-5) MOV DPTR,#100H MOV A,R0 MOVC A,A+DPTR ORG 0100H DB 0,1,4,9,16,25 8 堆栈操作堆栈操作(2 2条)条) PUSH directPUSH direct POP directPOP direct 第一条为压入指令,将第一条为压入指令,将directdirect中的内容送入堆栈中,第二条为中的内容送入堆栈中,第二条为 弹出指令,将堆栈中的内容送回到弹出指令,将堆栈中的内容送回到directdirect中。中。 例:例: MOV SP,#10H MOV 40H,#50H PUSH 40H POP 30H 执行第一条P

47、USH 40H指令是这样的:将SP中的值加1,变为11H, 然后将40H中的值送到11H单元中,因此执行完本条指令后,内存 11H单元的值是50H,同样,执行POP 30H时,是将11H中的值送入到 30H单元中,即执行完本条指令后,30H单元中的值变为50H。 9 9 交换指令交换指令(5 5条)条) XCH AXCH A,RnRn XCH AXCH A, directdirect XCH AXCH A, RiRi XCHD AXCHD A, RiRi SWAP ASWAP A 例:例: 已知A中的内容为34H MOV R6, #29H XCH A, R6 SWAP A XCH A, R6

48、XCHD A, R0 算术运算类指令算术运算类指令 主要用于主要用于8 8位无符号数运算;也可用于带符号数运位无符号数运算;也可用于带符号数运 算。包括:加、减、乘、除、加算。包括:加、减、乘、除、加1 1、减、减1 1运算指令,运算指令, 指令操作将影响指令操作将影响PSWPSW中有关状态位。中有关状态位。 1 加法指令 ADD AADD A,#data #data ADD AADD A,direct direct ADD AADD A,Rn Rn ADD AADD A,Ri Ri 用途:将用途:将A A中的值与源操作数所指内容相加,最终结果中的值与源操作数所指内容相加,最终结果 存在存在A

49、 A中。中。 (1)不带进位位的加法指令(4 4条)条) 例例1 1:ADD AADD A,#47H#47H ADD AADD A,34H34H ADD AADD A,R7R7 ADD AADD A,R0R0 例例2 2:MOV AMOV A,#0AEH ;-82#0AEH ;-82 ADD AADD A,#81H ;-127#81H ;-127 则执行完本条指令后,则执行完本条指令后,A A中的值为中的值为2FH2FH PSWPSW中状态位中状态位 C=1C=1, ,AC=0AC=0, ,OV=1OV=1, ,P=1P=1 对无符号数:结果为对无符号数:结果为12FH;12FH; 对带符号数

50、:对带符号数:OV=1OV=1,有错,有错。 (2)带进位位的加法指令(4 4条)条) ADDC AADDC A,RnRn; A ARnRnCYACYA ADDC AADDC A,directdirect ; A A(direct )(direct )CYACYA ADDC AADDC A,RiRi; A A(Ri)(Ri)CYACYA ADDC AADDC A,#data#data; A AdatadataCYACYA 用途:将用途:将A A中的值和其后面的值以及进位位中的值和其后面的值以及进位位C C中的值相加,中的值相加, 最终结果存在最终结果存在A A,常用于多字节数运算中。,常用于多

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(单片机原理及应用全册配套最完整精品课件3.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|