单片机(全套220张课件)_第1页
单片机(全套220张课件)_第2页
单片机(全套220张课件)_第3页
单片机(全套220张课件)_第4页
单片机(全套220张课件)_第5页
已阅读5页,还剩215页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机概述1.1 单片机的概念控制器运算器存储器输入/输出设备CPU单片机电子管晶体管集成电路大规模、超大规模集成电路甚大规模集成电路发展方向:1.高速度、大容量、高性能2.体积小、价格廉、稳定可靠 单片机概述1.1 单片机的概念控制器运算器存储器输入 单片机概述1.1 单片机的概念1.1.1 单片机的名称一片芯片相当于一个计算机系统单片机Single Chip MicroComputer微控制器Micro Control Unit国内通称国际通称嵌入式微控制器Embed 单片机概述1.1 单片机的概念1.1.1 单片机的 单片机概述1.1 单片机的概念1.1.1 单片机的名称1.1.2 通

2、用单片机和专用单片机ASIC1.1.3 单片机和单片机系统(1)单片机:芯片本身(2)单片机系统:以单片机为中心组成的一定功能的 计算机系统。1.1.5 单片机的程序设计语言和软件(1)单片机的程序设计语言:机器语言、汇编语言、C语言(2)单片机的软件:编程软件、仿真软件、编译软件、写入软件、监控软件。1.1.4 单片机的应用系统和开发系统(1)应用系统(2)开发系统:仿真器 单片机概述1.1 单片机的概念1.1.1 单片机的 单片机概述1.1 单片机的概念1.2 单片机的发展1.2.1 单片机的发展概述1946 第一台计算机诞生1971 第一个微处理器诞生1976 MCS-48(8位)198

3、0 MCS-51(8位)80年代末 Motorola 680X Zilog Z-8 Rockwell 650X1983 MCS-96(16位)当前:(1) MCS-51、MCS-96系列发展。(2) PIC (Microchip公司)(3) DSP (公司) 单片机概述1.1 单片机的概念1.2 单片机的发展 单片机概述1.2 单片机的发展1.2.1 单片机的发展概述1.2.2 MCS-51单片机系列1.2.3 80C51单片机系列80C51是MCS-51系列单片机的发展:性能、功耗 单片机概述1.2 单片机的发展1.2.1 单片机的 单片机概述1.1 单片机的概念1.2 单片机的发展1.3

4、单片机的应用1.3.1 单片机应用的特点1. 控制系统的在线应用(1) 控制系统中的离线应用。(2) 控制系统中的在线应用。2. 软硬件结合3. 应用现场环境恶劣4. 应用的广泛性极其重要意义民用级 0+70 工业级 -40 +85 军用级 -65 +125 单片机概述1.1 单片机的概念1.2 单片机的发展1.3 单片机的应用1.3.1 单片机应用的特点1.3.2 单片机的应用领域1. 工业自动化方面2. 仪器仪表方面3. 家用电器方面4. 信息和通信产品方面5. 军事装备方面1.3 单片机的应用1.3.1 单片机应用的特点1.3.单片机芯片的硬件结构2.1 MCS-51单片机的逻辑结构及信

5、号引脚2.1.1 MCS-51单片机结构框图2.1.2 MCS-51单片机芯片内部逻辑结构中央处理器(CPU)运算器控制器:ALU(算术逻辑单元)、ACC(累加器)、B寄存器、程序状态字、暂存寄存器:PC(程序计数器)、PC加1寄存器、指令寄存器、指令译码器、定时与控制电路单片机芯片的硬件结构2.1 MCS-51单片机的逻辑结构及信2.1.2 MCS-51单片机芯片内部逻辑结构中央处理器(CPU)2. 内部数据寄存器RAM(128*8)、RAM地址寄存器3. 内部程序寄存器ROM(4K*8)、程序地址寄存器4. 定时器/计数器2个16位的定时器/计数器5. 并行I/O口4个8位的I/O口(P0

6、、P1、P2、P3)2.1.2 MCS-51单片机芯片内部逻辑结构中央处理器(C2.1.2 MCS-51单片机芯片内部逻辑结构6. 串行口7. 中断控制系统5个中断源:外中断2个、定时/计数中断2个、串行中断1个。8. 时钟电路9. 位处理器10. 总线2.1.2 MCS-51单片机芯片内部逻辑结构6. 串行口2.1 MCS-51单片机的逻辑结构及信号引脚2.1.1 MCS-51单片机结构框图2.1.2 MCS-51单片机芯片内部逻辑结构2.1.3 MCS-51的信号引脚40引脚双列直插式2.1 MCS-51单片机的逻辑结构及信号引脚2.1.1 M2.1 MCS-51单片机的逻辑结构及信号引脚

7、2.1.1 MCS-51单片机结构框图2.1.2 MCS-51单片机芯片内部逻辑结构2.1.3 MCS-51的信号引脚40引脚双列直插式1. 信号引脚介绍 输入/输出口线P0.0P0.7 P0口8位双向口线P1.0P1.7 P1口8位双向口线P2.0P2.7 P2口8位双向口线P3.0P3.7 P3口8位双向口线 ALE 地址锁存控制信号(1) P0口输出的低8位地址锁存控制信号(2) 作为外部时钟或外部定时脉冲2.1 MCS-51单片机的逻辑结构及信号引脚2.1.1 M2.1.3 MCS-51的信号引脚1. 信号引脚介绍 PSEN 外部程序存储器读选通信号 EA 访问程序存储器控制信号0:仅

8、访问外部程序存储器1:从内部程序存储器开始访问,并可延续至外部程序存储器。 RST 复位信号:连续2个周期以上的高电平。 XTAL1、XTAL2 外接晶体引线端 VSS 地线 VCC +5V电源2.1.3 MCS-51的信号引脚1. 信号引脚介绍 PSE2.1.3 MCS-51的信号引脚1. 信号引脚介绍2. 信号引脚的第二功能 P3口线的第二功能外部RAM读选通RDP3.7外部RAM写选通WRP3.6定时器/计数器1计数输入T1P3.5定时器/计数器0计数输入T0P3.4外部中断1申请INT1P3.3外部中断0申请INT0P3.2串行数据发送TXDP3.1串行数据接受RXDP3.0信号名称第

9、二功能口线2.1.3 MCS-51的信号引脚1. 信号引脚介绍2. 信2.1.3 MCS-51的信号引脚1. 信号引脚介绍2. 信号引脚的第二功能 P3口线的第二功能 EPROM存储器程序固化所需要的信号(1) 编程脉冲:30引脚(ALE/PROG)(2) 编程电压:31引脚(EA/VPP) 备用电源引入9 引脚(RST/VPD)2.1.3 MCS-51的信号引脚1. 信号引脚介绍2. 信2 单片机芯片的硬件结构2.1 MCS-51单片机的逻辑结构及信号引脚2.2 MCS-51单片机的内部存储器2.2.1 内部数据存储器低128单元以80C51为例数据存储器程序存储器低128单元(单元地址00

10、H-7FH)高128单元(单元地址80H-FFH)1. 通用寄存器区 (00H-1FH)(1) 分成四组0,1,2,3,每组8个寄存器(R7-R0),每个寄存器为8位。(2) 任意时刻,CPU只能使用其中的一组寄存器。(3) 运用通用寄存器,可以简化程序设计,提高运行速度。2 单片机芯片的硬件结构2.1 MCS-51单片机的逻辑结2.2.1 内部数据存储器低128单元1. 通用寄存器区 (00H-1FH)2.2 MCS-51单片机的内部存储器2. 位寻址区 (20H-2FH)3. 用户RAM区 (30H-7FH)2.2.2 内部数据存储器高128单元专用寄存器(SFR)、特殊功能寄存器1. 专

11、用寄存器简介:22个,可寻址21个。(1) 程序计数器(PC):16位,不可寻址。(2) 累加器A(或ACC):8位,寻址地址0E0H。(3) B寄存器:8位,寻址地址0F0H。(4) 程序状态字(PSW):8位,寻址地址0D0H。2.2.1 内部数据存储器低128单元1. 通用寄存器区 (2.2.2 内部数据存储器高128单元1. 专用寄存器简介(4) 程序状态字(PSW):8位,寻址地址0D0H。位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/PCY: 进位标志位。AC: 辅助进位标志位。F0: 用户标志位。RS1和R

12、S0 : 寄存器组选择位。OV: 溢出标志位。P: 奇偶标志位。(5) 数据指针(DPTR):16位,寻址地址82H(DPL), 83H(DPH)。2.2.2 内部数据存储器高128单元1. 专用寄存器简介(2.2.2 内部数据存储器高128单元1. 专用寄存器简介2. 专用寄存器的字节寻址(21个)3. 专用寄存器的位寻址(1) 21个专用寄存器不连续分布在内部RAM的高128个单元,空余单元不能使用。(2) 程序计数器(PC)不可寻址。(3) 对专用寄存器采用直接寻址方式,指令中使用寄存器符号或寄存器地址。(1) 11个专用寄存器可位寻址(83个寻址位)。(2) 与内部数据存储器低128单

13、元中的位寻址区(20H-2FH),共同组成数据位存储区。2.2.2 内部数据存储器高128单元1. 专用寄存器简介22.2 MCS-51单片机的内部存储器2.2.1 内部数据存储器低128单元2.2.2 内部数据存储器高128单元2.2.3 MCS-51的堆栈操作术语:出栈、入栈、栈底、栈顶、后入先出1、堆栈的功能:保护断点、保护现场2、堆栈的开辟:内部数据存储器3、堆栈指示器:SP(复位后为07H, 初始化为30H)4、堆栈类型:向上生长型入栈SP30H或4AH或78H(1) SPSP+12.2 MCS-51单片机的内部存储器2.2.1 内部数据存2.2 MCS-51单片机的内部存储器2.2

14、.1 内部数据存储器低128单元2.2.2 内部数据存储器高128单元2.2.3 MCS-51的堆栈操作术语:出栈、入栈、栈底、栈顶、后入先出1、堆栈的功能:保护断点、保护现场2、堆栈的开辟:内部数据存储器3、堆栈指示器:SP(复位后为07H, 初始化为30H)4、堆栈类型:向上生长型入栈30H或4AH或78H(1) SPSP+1SP(2) 写入数据出栈(1) 读出数据(2) SPSP-12.2 MCS-51单片机的内部存储器2.2.1 内部数据存2.2 MCS-51单片机的内部存储器2.2.1 内部数据存储器低128单元2.2.2 内部数据存储器高128单元2.2.3 MCS-51的堆栈操作

15、术语:出栈、入栈、栈底、栈顶、后入先出1、堆栈的功能:保护断点、保护现场2、堆栈的开辟:内部数据存储器3、堆栈指示器:SP(复位后为07H, 初始化为30H)4、堆栈类型:向上生长型入栈30H或4AH或78H(1) SPSP+1SP(2) 写入数据出栈(1) 读出数据(2) SPSP-1、向下生长型(8086)2.2 MCS-51单片机的内部存储器2.2.1 内部数据存2.2 MCS-51单片机的内部存储器2.2.1 内部数据存储器低128单元2.2.2 内部数据存储器高128单元2.2.3 MCS-51的堆栈操作术语:出栈、入栈、栈底、栈顶、后入先出1、堆栈的功能:保护断点、保护现场2、堆栈

16、的开辟:内部数据存储器3、堆栈指示器:SP(复位后为07H, 初始化为30H)4、堆栈类型:向上生长型、向下生长型(8086)5、堆栈使用方式:自动方式指令方式2.2 MCS-51单片机的内部存储器2.2.1 内部数据存2.2 MCS-51单片机的内部存储器2.2.4 内部程序存储器80C51:4K ROM程序存储器,地址0000H-0FFFH80C52:8K ROM程序存储器,地址0000H-1FFFH启动单元: 0000H-0002H中断地址区:0003H-002AH2.2.5 MCS-51单片机系统的存储器结构特点1. 数据存储器和程序存储器分开3. 存储器扩展16位地址线-寻址范围64

17、KB地址 0000H-FFFFH2. 内部存储器和外部存储器分开2.2 MCS-51单片机的内部存储器2.2.4 内部程序单片机(全套220张课件)2 单片机芯片的硬件结构2.1 MCS-51单片机的逻辑结构及信号引脚2.2 MCS-51单片机的内部存储器2.3 MCS-51单片机并行输入/输出口电路P0.0P0.7 P0口8位双向口线P1.0P1.7 P1口8位双向口线P2.0P2.7 P2口8位双向口线P3.0P3.7 P3口8位双向口线2.3.1 P0口字节地址:80H; 位地址:80H-87H.1. 双向I/0接口输出(写):加上拉电阻输入(读)低8位地址接口 双向数据接口2 单片机芯

18、片的硬件结构2.1 MCS-51单片机的逻辑结2.3 MCS-51单片机并行输入/输出口电路2.3.1 P0口MUX选择端V1V2地址/数据推拉式输出I/O输出,控制端为0,与门封锁,V2截止。外接上拉电阻传送指令都是读引脚2.3 MCS-51单片机并行输入/输出口电路2.3.1 2.3 MCS-51单片机并行输入/输出口电路2.3.1 P0口2.3.2 P1口字节地址:90H; 位地址:90H-97H.1. 准双向I/0接口(无三态)2. 输出时不需上拉电阻2.3.3 P2口字节地址:0A0H; 位地址:0A0H-0A7H.1. 高8位地址接口2. 准双向I/O接口3. 输入时先写“1”2.

19、3 MCS-51单片机并行输入/输出口电路2.3.1 2.3 MCS-51单片机并行输入/输出口电路2.3.1 P0口2.3.2 P1口2.3.3 P2口2.3.4 P3口字节地址:0B0H; 位地址:0B0H-0B7H.1. 准双向I/0接口2. 第二功能信号2.3.5 MCS-51口电路小结1. 都是双向I/0接口P0口可同时用为地址和数据总线P2口可用为地址总线2. P0口三态门, P1、P2、P3口准双向口。3. P3口具有第二功能2.3 MCS-51单片机并行输入/输出口电路2.3.1 2 单片机芯片的硬件结构2.1 MCS-51单片机的逻辑结构及信号引脚2.2 MCS-51单片机的

20、内部存储器2.3 MCS-51单片机并行输入/输出口电路2.4 MCS-51单片机时钟电路与时序1. 时钟信号的产生XTAL2XTAL1C2C1组成:晶体振荡器、电容(2个)1.2MHz-12MHz取6M取30pF内部时钟电路2. 引入外部脉冲信号2.4.1 时钟信号2 单片机芯片的硬件结构2.1 MCS-51单片机的逻辑结2.4 MCS-51单片机时钟电路与时序2.4.1 时钟信号2.4.2 时序定时单位振荡脉冲例:12M、6M2分频时钟脉冲6M、3M3分频ALE6分频机器周期1M、0.5M1. 拍节与状态一个时钟脉冲一个拍节(S)一个拍节(S) 两个状态(P)2. 机器周期1M-1us0.

21、5M -2us3. 指令周期一个指令周期包含若干个机器周期2.4.3 典型指令周期2.4 MCS-51单片机时钟电路与时序2.4.1 时钟信2 单片机芯片的硬件结构2.5 MCS-51单片机工作方式2.5.1 复位方式和复位电路2. 复位状态1. 复位信号及其产生(1) 复位信号 :RST(2) 复位信号产生:上电复位、按键电平复位、按键脉冲复位2.5.2 程序执行方式PC(0000H)-程序从0000H开始执行2.5.3 掉电保护方式2.5.4 低功耗方式2 单片机芯片的硬件结构2.5 MCS-51单片机工作方MCS-51单片机指令系统3.1 MCS-51单片机指令格式和寻址方式3.1.1

22、指令系统概述3.1.2 MCS-51单片机指令格式3.1.3 MCS-51单片机寻址方式操作码:规定指令进行什么操作。操作数:规定指令操作的对象。寻址方式:指定操作数所在单元的方式。(共七种)3。寄存器寻址方式MOV A,R02。直接寻址方式MOV A,3AH4。寄存器间接寻址方式MOV A,R01。立即寻址方式MOV A,#3AHMOV DPTR,#123AHMOV A,R1MCS-51单片机指令系统3.1 MCS-51单片机指令3.1.3 MCS-51单片机寻址方式3.1 MCS-51单片机指令格式和寻址方式5。变址寻址方式MOVC A,A+DPTRMOVC A,A+PCJMP A,A+D

23、PTR6。位寻址方式MOV C,3AHMOV C,0F0HMOV C,PSW.57。相对寻址方式目的地址=转移指令地址+转移指令字节书+rel用于转移指令3.1.3 MCS-51单片机寻址方式3.1 MCS-53 MCS-51单片机指令系统3.1 MCS-51单片机指令格式和寻址方式3.2 MCS-51单片机指令分类介绍数据传送类指令(29条)算术运算类指令(24条)逻辑运算及移位类指令(24条)控制转移类指令(17条)位操作类指令(17条)3 MCS-51单片机指令系统3.1 MCS-51单片3.2 MCS-51单片机指令分类介绍3.2.1 指令格式中符号意义说明direct:8位直接地址。

24、#data :8位立即数。#data16:16位立即数。DPTR:数据指针。bit:内部RAM中的直接寻址位。:间址寄存器的前缀标志。/:位地址前表示对该位取反。Rn:通用寄存器R0-R7。Ri:间接寻址寄存器R0、R1。3.2 MCS-51单片机指令分类介绍3.2.1 指令格3.2 MCS-51单片机指令分类介绍3.2.1 指令格式中符号意义说明3.2.2 数据传送类指令1. 概述MOV 目的操作数,源操作数目的操作数:累加器A、通用寄存器Rn、直接地址direct、 间址寄存器源操作数:累加器A、通用寄存器Rn、直接地址direct、 间址寄存器、立即数3.2 MCS-51单片机指令分类介

25、绍3.2.1 指令格3.2 MCS-51单片机指令分类介绍3.2.2 数据传送类指令1. 概述2. 内部RAM数据传送指令组(1) 立即数传送指令MOV A,#dataMOV direct,#dataMOV Rn,#dataMOV Ri,#data8位立即数传送指令MOV DPTR,#data1616位立即数传送指令例:MOV DPTR,#1234HDPH: 12HDPL: 34H3.2 MCS-51单片机指令分类介绍3.2.2 数据传3.2 MCS-51单片机指令分类介绍3.2.2 数据传送类指令2. 内部RAM数据传送指令组(1) 立即数传送指令(2) 内部RAM单元之间的数据传送指令MO

26、V direct2,direct1MOV direct,RnMOV Rn , directMOV direct,RiMOV Ri , direct例:MOV P2,R2MOV 0A0h,R2MOV 0D0h,R1MOV R5,70h3.2 MCS-51单片机指令分类介绍3.2.2 数据传MOV 0D0h,R1位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/PMOV 0D0h,R1位序PSW.7PSW.6PSW.5位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS

27、0OV/PMOV 0D0h,R1位序PSW.7PSW.6PSW.5PSW.4PSW.3PSWMOV 0D0h,R1MOV 0D0h,R13.2 MCS-51单片机指令分类介绍3.2.2 数据传送类指令2. 内部RAM数据传送指令组(1) 立即数传送指令(2) 内部RAM单元之间的数据传送指令(3) 通过累加器的数据传送指令MOV A,RnMOV Rn ,AMOV A,directMOV direct, AMOV A,RiMOV Ri , A3.2 MCS-51单片机指令分类介绍3.2.2 数据传3.2.2 数据传送类指令2. 内部RAM数据传送指令组3. 外部RAM数据传送指令组对外部RAM单

28、元只能使用间接寻址(1) 使用DPTR进行间接寻址MOVX A,DPTRMOVX DPTR , A(2) 使用Ri进行间接寻址MOVX A,RiMOVX Ri ,A4. 程序存储器数据传送指令组MOVC A,A+DPTRMOVC A,A+PC单向变址寻址3.2.2 数据传送类指令2. 内部RAM数据传送指令组3.3.2.2 数据传送类指令5. 数据交换指令组(1) 整字节交换指令XCH A,RnXCH A,directXCH A,Ri(2) 半字节交换指令XCHD A,Ri低四位数据交换(3) 累加器高低半字节交换指令SWAP A6. 堆栈操作指令组PUSH directPOP directS

29、P:(SP)+1,(SP):(direct)direct :(SP),SP:(SP)-13.2.2 数据传送类指令5. 数据交换指令组(1) 整字节说明: 只有指令表中的指令才有对应指令代码,计算机才能执行。编程时,不能随意创造发明指令。1. 一条指令中不能同时出现两个工作寄存器:2. 间址寄存器只能使用 R0、R1。3. SFR区只能直接寻址,不能用寄存器间接寻址。4. 指令表:非法指令:MOV R0,#80H MOV A,R0非法指令:MOV A,R2非法指令:MOV R1,R2MOV R2,R0说明: 只有指令表中的指令才有对应指令代码,计算机才能执行将片内RAM60H单元与61H单元的

30、数据交换。XCH 60H,61H查表法求Y=X2。设X(0X15)在片内RAM的20H单元中,要求将查表求Y,存入片内RAM21H单元。 ORG 1000HSQU:MOV DPTR,#TAB ;确定表首地址(基地址)MOV A,20H;取X(偏移量)MOVC A,A+DPTR;查表求Y=X2MOV 21H,A;保存YRET;子程序结束;其它程序段ORG 3000H;常数表格首地址TAB:DB 00,01,04,09,225;平方表将片内RAM60H单元与61H单元的数据交换。XCH 603.2 MCS-51单片机指令分类介绍3.2.1 指令格式中符号意义说明3.2.2 数据传送类指令3.2.3

31、 算术运算类指令1. 加法指令组(不带进位)ADD A,源操作数ADD A,#dataADD A,RnADD A,directADD A,Ri位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/P3.2 MCS-51单片机指令分类介绍3.2.1 指令格ADD A,R2A=? PSW=?02H位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/P0000010181HADD A,R2A=? PSW=3.2 MCS-51单片机指令分类介绍3.2.3 算术运算类指令

32、1. 加法指令组(不带进位)2. 加法指令组(带进位)ADDC A,源操作数ADDC A,#dataADDC A,RnADDC A,directADDC A,Ri3. 带借位减法指令组SUBB A,源操作数SUBB A,#dataSUBB A,RnSUBB A,directSUBB A,Ri3.2 MCS-51单片机指令分类介绍3.2.3 算术运3.2.3 算术运算类指令4. 加1指令组INC AINC RnINC directINC RiINC DPTR不影响程序状态字PSW5. 减1指令组DEC ADEC RnDEC directDEC Ri3.2.3 算术运算类指令4. 加1指令组INC

33、 A3.2.3 算术运算类指令6. 乘除指令组(1) 乘法指令MUL AB位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/P000:结果255奇偶位MOV A,0FHMOV B,0FHMUL ABA=? PSW=?0E1H00H3.2.3 算术运算类指令6. 乘除指令组(1) 乘法指令M3.2.3 算术运算类指令6. 乘除指令组(1) 乘法指令(2) 除法指令DIV AB位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/P001:除数为0(B=0)0:其

34、它奇偶位A商;B 余数3.2.3 算术运算类指令6. 乘除指令组(1) 乘法指令(3.2.3 算术运算类指令1. 加法指令组(不带进位)2. 加法指令组(带进位)3. 带借位减法指令组4. 加1指令组5. 减1指令组6. 乘除指令组7. 十进制调整指令DA A十进制调整指令原理:略MOV A,#56HMOV R5,#67HADD A,R5DAA 23HCY 13.2.3 算术运算类指令1. 加法指令组(不带进位)2. 带进位加法指令ADDC用于多字节运算 设双字节数 X 存在片内RAM 41H、40H单元,Y存在42H、43H单元,编程求 Z=X+Y,并存入片内RAM单元44H、45H、46H

35、。ADDS:MOV A,40HADD A,42HMOV 44H,AMOV A,41HADDC A,43HMOV 45H,AMOV A,#0ADDC A,#0MOV 46H,ARET;取被加数低字节;加上加数低字节;保存和的低字节;取被加数高字节;加上加数高字节;保存和的高字节;求高字节进位;子程序结束;低字节相加;高字节相加;计算高字节进位;子程序结束带进位加法指令ADDC用于多字节运算 设双字节数 X 3.2 MCS-51单片机指令分类介绍3.2.1 指令格式中符号意义说明3.2.2 数据传送类指令3.2.3 算术运算类指令3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、ORL(或)

36、、XRL(异或)1. 逻辑与运算指令组ANL A,RnANL A,directANL A,RiANL A,#dataANL direct,AANL direct,#dataMOV C,P1.0ANL C,P1.1ANL C,/P1.2MOV P3.0,CP3.0=(P1.0)&(P1.1)&(P1.2)3.2 MCS-51单片机指令分类介绍3.2.1 指令格3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、ORL(或)、XRL(异或)1. 逻辑与运算指令组2. 逻辑或运算指令组ORL A,RnORL A,directORL A,RiORL A,#dataORL direct,AORL d

37、irect,#data3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、OR3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、ORL(或)、XRL(异或)1. 逻辑与运算指令组2. 逻辑或运算指令组XRL A,RnXRL A,directXRL A,RiXRL A,#dataXRL direct,AXRL direct,#data3. 逻辑异或运算指令组3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、OR3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、ORL(或)、XRL(异或)4. 累加器清“0”和取反指令组CLR A ; A 0(1)累加器清“0”指令(2)累加

38、器取反指令CPL A ; A A例:P1.0-3 A的低四位MOVR0,A;保护AANLA,#0FH;保留A的低四位ANLP1,#0F0H;保留P1的高四位ORLP1,A;MOVA,R0;恢复A P1.0-3 A的低四位3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、ORA7 A03.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、ORL(或)、XRL(异或)4. 累加器清“0”和取反指令组(CLR、CPL)5. 移位指令组( 累加器A )(1)循环左移指令RL A ;(2)循环右移指令RR A ;A7 A0A7 A03.2.4 逻3.2.4 逻辑运算及移位类指令逻辑运算:ANL(

39、与)、ORL(或)、XRL(异或)4. 累加器清“0”和取反指令组(CLR、CPL)5. 移位指令组( 累加器A )(1)循环左移指令RL A ;(2)循环右移指令RR A ;(3)带进位循环左移指令RLC A ;A7 A0CY(4)带进位循环右移指令RRC A ;A7 A0CY3.2.4 逻辑运算及移位类指令逻辑运算:ANL(与)、OR3.2 MCS-51单片机指令分类介绍3.2.5 控制转移类指令1. 无条件转移指令组(1)长转移指令LJMP addr16 ; PC addr16 指令机器码: 02 nnH nnL指令转移范围:64KB(2)绝对转移指令AJMP addr11 ;指令机器码

40、:A10A9A8 00001 A70指令转移范围:2KB推 荐 使 用3.2 MCS-51单片机指令分类介绍3.2.5 3.2 MCS-51单片机指令分类介绍3.2.5 控制转移类指令1. 无条件转移指令组(3)短转移指令SJMP rel ;PC PC+2+rel指令机器码: 80H rel相对偏移量 rel为8位补码rel= 目的地址-(源地址+2)= 地址差-2增地址转移:指令地址 源程序 2130H SJMP 2132H 2150H NEXT:MOV A,R21EHNEXT3.2 MCS-51单片机指令分类介绍3.2.5 指令转移范围:前128后127字节rel= (目的地址-(源地址+

41、2)补 = 0FFH-(目的地址-(源地址+2)+1 = 0FEH-地址差3.2.5 控制转移类指令1. 无条件转移指令组(3)短转移指令SJMP rel ;PC PC+2+rel减地址转移:取 反指令地址 源程序 2130H NEXT:MOV A,R2 2150H SJMP0DEHNEXT指令转移范围:前128后127字节rel= (目的地址-(3.2 MCS-51单片机指令分类介绍3.2.5 控制转移类指令1. 无条件转移指令组(4)变址寻址转移指令JMP A+DPTR. ;PC A+DPTR指令机器码 73H,指令转移范围64KB。(1)长转移指令LJMP(2)绝对转移指令AJMP(3)

42、短转移指令SJMPMOVA,#02HMOVDPTR,#0006JMPA+DPTR3.2 MCS-51单片机指令分类介绍3.2.5 单片机(全套220张课件)P.77 10.MOVP2,#20HMOV R0,#00HMOV A,R0P.77 10.MOVP2,#20H3.2 MCS-51单片机指令分类介绍3.2.5 控制转移类指令1. 无条件转移指令组(4)变址寻址转移指令 JMP(1)长转移指令 LJMP(2)绝对转移指令 AJMP(3)短转移指令 SJMP2. 条件转移指令组(1)累加器判零转移指令JZ rel ;若A=00H,PCPC+e(转移), ;若A00H,PCPC+2 (不转移)J

43、NZ rel ;若A00H,PCPC+e(转移), ;若A=00H, PCPC+2(不转移)3.2 MCS-51单片机指令分类介绍3.2.5 2. 条件转移指令组(1)累加器判零转移指令(2)数值比较转移指令CJNE 操作数1,操作数2,relCJNEA,#data,relCJNEA,direct,relCJNERn,#data,relCJNERi,#data,rel操作数1操作数2,转移PC PC+3+rel对CY的影响操作数1=操作数2,CY=0;操作数1操作数2,CY=0;操作数1操作数2,CY=1;2. 条件转移指令组(1)累加器判零转移指令(2)数值比较转DJNZ 操作数,rel2.

44、 条件转移指令组(1)累加器判零转移指令(2)数值比较转移指令(3)减1条件转移指令若(操作数-1)=0,则转移PCPC+2 ,顺序执行; 若(操作数-1)0 ,则PCPC+2+rel 。指令机器码: D8-DFH rel (两个字节)DJNZ Rn,rel指令1DJNZ direct ,rel指令2指令机器码: D5 direct rel (三个字节)若(操作数-1)=0,则转移PCPC+3,顺序执行; 若(操作数-1)0,则PCPC+3+rel 。DJNZ 操作数,rel2. 条件转移指令组(1)累加器判查表法求Y=X2。设在片内RAM的20H开始连续5个单元存放5个数X(0X15) ,要

45、求将查表求Y,存入片内RAM30H开始的五个单元。ORG 0000HAJMP 0020HORG 0020HSQU:MOV DPTR,#TABMOV R0,#20HMOV R1,#30H MOV 78H,#5LOOP: MOV A,R0MOVC A,A+DPTRMOV R1,AINC R0 INC R1DJNZ 78H,LOOPORG 0040HTAB: DB 00,01,04,09,16,25,36,49,64,81,100,121,144,169,196,225END查表法求Y=X2。设在片内RAM的20H开始连续5个单元存放3. 子程序调用与返回指令组ACALL addr11 指令机器码:

46、A10A9A8 10001 A70(1)绝对调用指令3.2.5 控制转移类指令1. 无条件转移指令组2. 条件转移指令组操作内容: PC PC+2 SP SP+1,(SP) PC7-0 SP SP+1,(SP) PC15-8 PC10-0 addr11例: 8100H ACALL label 问: label 的地址范围?8000H87FFH3. 子程序调用与返回指令组ACALL addr13. 子程序调用与返回指令组(1)绝对调用指令(2)长调用指令LCALL addr16 (3)返回指令RET :子程序返回指令RETI:中断服务子程序返回指令操作内容: PC PC+3 SP SP+1,(S

47、P) PC7-0 SP SP+1,(SP) PC15-8 PC addr16PC15-8 SP,SP SP-1PC7-0 SP,SP SP-14. 空操作指令NOP ;PC PC+13. 子程序调用与返回指令组(1)绝对调用指令(2)长调用指3.2.6 位操作类指令1. 位传送指令组MOV C,bitMOV bit ,C例:MOV 10H,C MOV C,20H MOV 54H,C MOV C,10H3.2.6 位操作类指令1. 位传送指令组MOV 3.2.6 位操作类指令1. 位传送指令组2. 位(CY)置位、复位指令组SETB C ;CY 1SETB bit ;bit 1CLR C ;CY

48、 0CLR bit ;bit 03. 位运算指令组ANL C,bit(/bit)ORL C,bit(/bit)CPL CCPL bit3.2.6 位操作类指令1. 位传送指令组2. 位(C例:MOVC,BANL C,/E ;CYMOV D,CMOV C,EANLC,/B ;CYORLC,D ;CYMOVD,C ;异或结果送D例:MOVC,B3.2.6 位操作类指令1. 位传送指令组2. 位(CY)置位、复位指令组3. 位运算指令组4. 位控制转移指令组(1)以C状态为条件的转移指令JCrel JNCrel (2)以位状态为条件的转移指令JBbit,rel JNBbit,rel JBCbit,r

49、el ;若(b)=1转移,且(b)=0; 否则不转移3.2.6 位操作类指令1. 位传送指令组2. 位(C3.2.7 I/O口访问指令使用说明1. 口操作指令MOVPm,A MOVPm,#dataMOVPm,direct 口输出指令MOV A ,PmMOV direct ,Pm口输入指令2. 口线操作指令(位)MOV Pm.n ,CMOV C,Pm.nSETB Pm.nCLR Pm.nANL C,Pm.nORL C,Pm.nJB Pm.n ,relJBC Pm.n ,rel3.2.7 I/O口访问指令使用说明1. 口操作指令M3.2.7 I/O口访问指令使用说明3. 读引脚数据01?注:读口前

50、先写入1例:ORLP1,#03H MOVA,P1.0 MOVB,P1.13.2.7 I/O口访问指令使用说明3. 读引脚数据0MCS-51汇编语言程序设计4.1 汇编语言程序设计概述汇编语言程序:用汇编语言编写的、完成特定功能的指令序列。汇编程序: 能将汇编语言源程序转换成机器语言目标程序的系统软件。汇编: 汇编语言程序到机器语言程序的转换过程称为汇编。汇编方式: 1.手工汇编:人工查指令表汇编。用于设计短小程序或调试程序的场合。早期行为。2.机器汇编:用汇编程序进行汇编。 PC机普及后。MCS-51汇编语言程序设计4.1 汇编语言程序设计概述4 MCS-51汇编语言程序设计4.1 汇编语言程

51、序设计概述汇编的主要任务:1)确定程序中每条汇编语言指令的指令机器码。2)确定每条指令在存储器中的存放地址。3)提供错误信息。4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。汇编语言的语句格式:: ;4 MCS-51汇编语言程序设计4.1 汇编语言程序设4 MCS-51汇编语言程序设计4.1 汇编语言程序设计概述汇编语言的语句格式:: ; 标号:以字母开头的1-8个字符(字母、数字等)和“:” 组成。不能使用本汇编语言已定义的符号。1BT:BEGINTA+TB:ADD: 操作码:语句执行的操作内容,不能空缺。 操作数:为指令的操作提供数据或地址;可缺省,也可包括二项、三

52、项;各操作数之间以逗号分隔。 注释:以“;”开头,如换行还应加“;”。BEGIN:BT1:TATB:ADD1:4 MCS-51汇编语言程序设计4.1 汇编语言程序设4 MCS-51汇编语言程序设计4.1 汇编语言程序设计概述4.4 MCS-51汇编语言的伪指令源程序使用机器汇编要考虑汇编程序的约定1)按指令格式和语法规则编写程序。常数的表示:十进制数: 20十六进制数:87H,0F0H二进制数: 01011001B字符:H字符串:“Hello”。2)使用伪指令提供汇编信息。伪指令是汇编程序的命令,有作用,无相对应的机器码。4 MCS-51汇编语言程序设计4.1 汇编语言程序设汇编语言指令类型4

53、 MCS-51汇编语言程序设计4.1 汇编语言程序设计概述4.4 MCS-51汇编语言的伪指令1.机器指令:指令系统中的全部指令,每条指令有对应的机器代码。2.伪指令:汇编控制指令,仅提供汇编信息,没有指令代码。3.宏指令:宏汇编功能:将需要多次反复执行的程序段定义成一个宏 指令名(宏定义),编程时,可在程序中使 用宏指令名来替代一段程序(宏调用)。汇编语言指令类型4 MCS-51汇编语言程序设计4.1 4.4 MCS-51汇编语言的伪指令汇编语言伪指令起始地址指令:指明程序和数据块起始地址。1. ORG指令地址 机器码源程序ORG 2000H 2000H 78 30MAIN:MOV R0,#

54、30H 2002H E6MOV A,R0 ORG 3000H 3000H 23DB 23H,100,A 3001H 64 3002H 414.4 MCS-51汇编语言的伪指令汇编语言伪指令起始4.4 MCS-51汇编语言的伪指令汇编语言伪指令1. ORG2. END结束汇编指令。(1)整个源程序只有一条“END”指令。(2)如“END”指令在中间,其后的源程序汇编程序将不予处理。3. EQU等值。为标号或标识符赋值。X1 EQU 2000HX2 EQU 0FH MAIN:MOV DPTR,#X1ADD A,#X24.4 MCS-51汇编语言的伪指令汇编语言伪指令1. 4.4 MCS-51汇编语

55、言的伪指令汇编语言伪指令1. ORG2. END3. EQU4. DB定义字节型常数指令。例: DB 12H,100,A5. DW定义字型常数指令。4.4 MCS-51汇编语言的伪指令汇编语言伪指令1. 4.4 MCS-51汇编语言的伪指令汇编语言伪指令1. ORG2. END3. EQU4. DB5. DW6. DS定义存储区命令。 DS 例:ADDRTABL:DS20ORG 8100HDS 08H7. BIT位定义命令。 BIT 例:AQ BIT P1.0;保留20个地址单元;从8100H开始保留8个地址单元;将P1.0位地址赋予AQ4.4 MCS-51汇编语言的伪指令汇编语言伪指令1.

56、压缩式BCD码分解成为单字节BCD码片内RAM42H0 十41H0 个40H 十 个MOV R0,#40H;设指针MOV A,R0;取一个字节MOV R2,A;暂存ANL A,#0FH;清0高半字节INC R0MOV R0,A ;保存数据个位MOV A,R2SWAP A ;十位换到低半字节ANL A,#0FHINC R0MOV R0,A;保存数据十位压缩式BCD码分解成为单字节BCD码片内RAM42H0 十求R2中补码绝对值,正数不变,负数变补。 MOV A,R2 JNB ACC.7,NEXT ;判断,转移 DEC A ;减一 CPL A ;取反 MOV R2,ANEXT:SJMP NEXT

57、;结束求R2中补码绝对值,正数不变,负数变补。 MOV A 为一串7位ASCII码数据的D7位加上奇校验,设数据存放在片外RAM的2101H起始单元,数据长度在2100H单元。MOV DPTR,#2100HMOVX A,DPTR ;取数据长度MOV R2,A ;循环次数NEXT:INC DPTRMOVX A,DPTR ;开始取数ORL A,#80H ;高位置1,同 ;时影响奇偶位JNB P,PASS ;奇偶位为0不保存MOVX DPTR,A ;保存新数PASS:DJNZ R2,NEXT ;判断是否循环DONE:SJMP DONE ;结束 为一串7位ASCII码数据的D7位加上奇校验,设数据单片

58、机存储器扩展 存储器是用来存储二值数字信息的大规模集成电路,是进一步完善数字系统功能的重要部件。它实际上是将大量存储器按一定规律结合起来的整体。单片机存储器扩展 存储器是用来存储二值数字信息的大规模 读写存储器又称随机存储器。 读写存储器的特点是:在工作过程中,既可从存储器的任意单元读出信息,又可以把外界信息写入任意单元,因此它被称为随机存储器,简称 RAM 。Random Access Memory.5.1 随机存取存储器(RAM) 单片机存储器扩展 读写存储器又称随机存储器。 读写存储器的特点是:在5.1 随机存取存储器(RAM) RAM 按功能可分为 静态、动态两类 RAM 按所用器件又

59、可分为双极型和 MOS型两种1.双极型:由TTL电路组成基本存储单元,存取速度快。2.MOS型:由CMOS电路组成基本存储单元,集成度高、功耗低。1.SRAM:静态RAM。存储单元使用双稳态触发器,可带电信息可长期保存。2.DRAM: 动态RAM。使用电容作存储元件,需要刷新电路。集成度高,反应快,功耗低,但需要刷新电路。 单片机存储器扩展5.1 随机存取存储器(RAM) RAM 按功能可分为 5.1.1 RAM的电路结构与工作原理WiDD符号1. RAM存储单元(1) 静态RAM存储单元(位)X:行选择线Y:列选择线5.1 随机存取存储器(RAM) 5.1.1 RAM的电路结构与工作原理Wi

60、DD符号1. R5.1.1 RAM的电路结构与工作原理1. RAM存储单元(1) 静态RAM存储单元(位)(2) 动态RAM存储单元(位)四管MOS动态存储单元 电容作存储元件设:C1上充有电荷,且C1上的电压达到T1的开启电压,则T1导通,Q为低电平0,它使C2放电,使C2上的电压为0,因此T2截止,为高电平1,这是存储单元的一个稳定状态,表示存储单元存储了数据0。 电容有漏电流,需定时刷新。5.1.1 RAM的电路结构与工作原理1. RAM存储单元5.1.1 RAM的电路结构与工作原理1. RAM存储单元2. RAM的基本结构存储器容量表示方法:mkXn5.1.1 RAM的电路结构与工作原

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论