最新单片机原理及应用MCS-51系列最新单片机的基本硬件.ppt_第1页
最新单片机原理及应用MCS-51系列最新单片机的基本硬件.ppt_第2页
最新单片机原理及应用MCS-51系列最新单片机的基本硬件.ppt_第3页
最新单片机原理及应用MCS-51系列最新单片机的基本硬件.ppt_第4页
最新单片机原理及应用MCS-51系列最新单片机的基本硬件.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1 单片机原理及应用 MCS 51系列单片机的基本硬件结构MCS 51指令系统MCS 51单片机的系统扩展与应用 2 硬件结构原理工作方式 一 MCS 51系列单片机的基本硬件结构 3 1 1硬件结构原理 1 1 1概述1 1 2CPU1 1 3存储器1 1 4并行I O口1 1 5串行I O口1 1 6定时器 计数器1 1 7中断1 1 8时钟 4 1 1硬件结构原理 1 1 1概述 1 基本特征A 产品简介Intel公司MCS 51系列高档8位单片机8051 80C518052 80C5287518031B 主要性能40脚双列直插式封装 一个8位CPU 片内振荡定时电路 内部数据存贮器 RAM 容量128B 256B 内部程序存贮器 ROM 容量2KB 4KB 特殊功能寄存器 SFR 21个 26个 具有位寻址功能寻址空间00H FFH 外部数据存贮器寻址空间64KB 外部程序存贮器寻址空间64KB 输入 输出口线32根 16位可编程定时器 计数2个 3个 可编程为2个优先级的中断源5个 6个 可通过编程选定的全双工同步 异步的串行口1个 5 1 1硬件结构原理 1 1 1概述 续 2 8051的内部总体结构 3 外部引脚功能2种封装形式 40引脚双列直插 DIP 44引脚的PLCC六大部分 数据总线 地址总线 控制总线 线 时钟 电源 数据总线P0 BUS 地址总线P0 BUS P2 控制总线ALE PROGPSENEA VDDRST VPD 线P0P1P2P3P R DP T DP32 INT0P33 INT1P34 T P35 T P36 WRP37 RD 时钟XTAL1XTAL2F 电源V V 6 7 VCC VSS XTAL1 XTAL2 PSEN ALE PROG EA VDD RST VPD MCS 51 8 8 8 P0 BUS P1 P2 AB P30 RXD P31 TXD P32 INT0 P33 INT1 P34 T0 P35 T1 P36 WR P37 RD 8 和布尔处理机 累加器 程序状态字寄存器 1 0 堆栈指针 数据指针 1 1 2CPU 1 1硬件结构原理 9 1 1 3存储器1 数据存储器分内部数据存储器 00H 7FH 00H FFH 和外部数据存储器 0000H FFFFH 内部数据存储器 作用 寻址空间内部数据 地址空间 00H FFH 特殊功能寄存器地址空间128 80H FFH 重叠地址的寻址内部 80H FFH 只能用寄存器间接寻址 80H FFH 只能用直接寻址 结构 1 1硬件结构原理 10 1 1 3存储器 续 主要功能 分类 名称 算术运算寄存器ABPSW 指针寄存器SPDPTR 并行 口 对应 P P P P 串行 口 对应 SCONSBUFPCON 定时器 计数器TMODTCONTH0TL0TH1TL1 T2CONTH2TL2RCAP2HRCAP2L 中断系统 对应中断控制逻辑 IEIP 1 1硬件结构原理 11 7FH FFH FFH数据缓冲区30H可直接位寻址2FH16个单元 位地址空间00H 7FH20H1FH工作寄存器区318H17H工作寄存器区210H0FH工作寄存器区108H07H工作寄存器区000H80H内部RAM特殊功能寄存器SFR 1 1硬件结构原理 12 1 1 3存储器 续 B 外部数据存储器 作用存储数据 地址空间0000H FFFFH64KB 寻址i DPTR间接寻址P0口 BUS 输出AB7 0 DPL值 P2口输出AB15 8 DPH值 在读写周期保持不变 此时P2口的SFR内容不变 并在读 写选通结束后将在P2口恢复其信息 R0 R1间接寻址P0口输出AB7 0 R0 R1中内容 P2口输出AB15 8 这不是R0 R1间接寻址本身的功能 而是寻址前用指令事先输出的 R0 R1间接寻址不访问内部RAM而访问外部数据存储器 是由于采用MOVX指令的缘故 这时将产生RD或WR信号 P3口 1 1硬件结构原理 13 1 1 3存储器 续 1 程序存储器A作用存放程序及一些常数 常为表格 B地址空间分为片内ROM EPROM FLASH4KB 0000H 0FFFH 和外部程序存储器64KB 0000H FFFFH C寻址 片内程序存储器寻址PC寻址 EA 1 PC中地址在0000H 0FFFH 或1FFFH 范围内 则不产生PSEN信号 从片内程序存储器寻址 外部程序存储器寻址PC寻址 两种情况iEA 1 当PC中地址 0FFFH 或1FFFH 时 产生PSEN信号 在外部程序存储器寻址 iiEA 0 无论PC中地址为何地址 均产生PSEN信号 在外部程序存储器寻址 1 1硬件结构原理 14 1 1 3存储器 续 D专用地址矢量0000H 复位矢量0000H 0002H 初始化程序0003H 外部中断0矢量0003H 000AH 外部中断0服务程序000BH 定时器0中断矢量000BH 0012H 定时器0中断服务程序0013H 外部中断1矢量0013H 001AH 外部中断1服务程序001BH 定时器1中断矢量001BH 0022H 定时器1中断服务程序0023H 串行中断矢量0023H 002AH 串行中断服务程序 002BH 定时器2中断矢量002BH 0032H 定时器2中断服务程序 在固定分配的矢量地址中 若放不下初始化程序或中断服务程序 可在相应矢量地址中放一条转移指令 转到相应程序入口地址 当不使用某种中断时 该中断的矢量地址8个单元可用作一般程序存储器单元使用 1 1硬件结构原理 15 1 1硬件结构原理 16 1 1 3存储器 续 B各地址空间寻址的区分FFFFHFFFFHFFHFFH RjDIRECTMOVCbit指令7FH Rj80HDIRECT特殊功能寄存器MOVX Rj指令 1FFFH DIRECT0FFFHbitMOVC Rj指令DIRECTRr0000H0000H00H0000H内部程序存储器外部程序存储器内部数据RAM外部数据存储器程序存储器数据存储器 17 1 1 4并行I O口1 结构与工作原理32根I O线4个双向并行I O口P0P1P2P3 P0 X引脚 地址 数据 CPU控制 VCC 1 1硬件结构原理 18 P1 X引脚 VCC P2 X引脚 地址 控制 VCC P2 X 19 I O引脚 第二输出功能 VCC 第二输入功能 2 输入 输出功能A输入功能a 读锁存器 读 改 写 指令ANL JBC CLRPXYb 读引脚B输出功能 1 1硬件结构原理 20 1 1 5串行I O口1 1 6定时器 计数器1 定时器 计数器功能 1 1硬件结构原理 21 1 1硬件结构原理 22 单片机原理及应用 MCS 51系列单片机的基本硬件结构MCS 51指令系统MCS 51单片机的系统扩展与应用 23 二 MCS 51指令系统 概述寻址方式指令系统汇编语言程序设计 24 2 1概述 2 1 1指令系统简况111条指令 其中单字节指令49条双字节指令45条三字节指令17条单周期指令64条双周期指令45条四周期指令2条组合情况单字节单周期单字节双周期单字节四周期双字节单周期双字节双周期三字节双周期2 1 2二级表达形式机器语言汇编语言2 1 3符号及含义A累加器AB乘除法寄存器对addr程序存储器地址rel相对地址Rj间接寻址用寄存器Rr工作寄存器 25 2 1概述 bit位C进位标志data立即数DIRECT直接寻址地址PC程序计数器PSW程序状态字SP堆栈指针X外部数据存储器 立即数前缀 寄存器间接寻址前缀 程序计数器的当前值 X X中的内容 X X中的内容为地址的单元中的内容 送入 26 2 2 1寻址方式总表直接寻址寄存器寻址间接寻址寄存器立即寻址方式直接寻址方式 间接寻址直接位寻址方式 变址寻址方式 立即寻址变址寻址相对寻址直接位寻址方式类页面寻址简表Rr RjDIRECT data A PCbit A DPTRrel AJMPACALL 2 2寻址方式 27 2 2寻址方式 A立即寻址类别 立即寻址概念 操作数包含于指令中 指令中直接给出操作数 表达 汇编语言 data机器语言nORnn例 MOVA 0FH74H 0FHMOVDPTR 1046H90H 10H 46H寻址区域 程序存储器寻址过程及时序 B寄存器寻址类别 直接寻址概念 指令中直接指明存放操作数的寄存器表达 汇编语言Rr r 0 7 机器语言 8H FH例 ADDA R42CH寻址区域 R0 R7 含4个工作寄存器区 区号以RS1 RS0表达 A B AB DPTR 一般隐含 SFR不是用寄存器寻址方式寻址过程及时序 2 2 2寻址方式 28 C直接寻址类别 直接寻址概念 指令中直接给出存放操作数的1字节地址 即操作数的有效地址EA存放于操作码后续的1个字节中表达 汇编语言m DIRECT 机器语言OPCODE m例 ADDCA 61H35H 61H寻址区域 内部数据RAM阵列中的任何一个单元 即00H 7FH特殊功能寄存器SFR 80H FFH寻址过程及时序 D寄存器间接寻址类别 间接寻址概念 指令中指出存放操作数的1或2字节地址由哪个寄存器给出 仅含Rj和DPTR 表达 汇编语言 R0 R1 DPTR 此外堆栈操作 机器语言略例 ADDA R0寻址区域 R0或 R1方式或堆栈指针访问的内部数据RAM区域 00H FFH R0 R1或 DPTR方式访问的外部数据存储器 0000H FFFFH 寻址过程及时序 2 2寻址方式 29 E变址寻址类别 变址寻址概念 基地址 PC和DPTR 和变址 偏移量 寄存器A中内容相加形成操作数的地址或转移地址 这里A中偏移量为无符号数 仅出现在MOVC及转移指令中 表达 汇编语言 A DPTR A PC机器语言OPCODE表示例 MOVCA A DPTRMOVCA A PCJMP A DPTR寻址区域 程序存储器 往往是表格形式 寻址过程及时序 F相对寻址类别 变址寻址概念 指令中给出偏移量 补码 以下条指令的PC值作基地址加上指令给定的相对偏移量即得转移地址表达 汇编语言标号机器语言rel例 JNZNEXT70H rel寻址区域 程序存储器寻址过程及时序 2 2寻址方式 30 H直接位寻址类别 位寻址概念 指令中指出存放位操作数 0或1 的直接位地址 00H FFH 该位地址由操作码中的相应位来表达 表达 汇编语言bit 00H FFH或ACC 4 PXY等 机器语言bit 00H FFH 例 MOVC P10A2H 90HANLC 90HB0H 90H寻址区域 内部数据RAM阵列中20 2FH单元中的位 00H 7FH特殊功能寄存器SFR中的可直接位寻址的位 80H FFH寻址过程及时序 G 类页面寻址 类别 变址寻址概念 以下条指令的PC值的高5位与指令中给出的11位相连接而获得所寻址地址 转移地址或子程序入口地址 表达 汇编语言AXXXX符号地址 AJMP符号地址 ACALL符号地址 机器语言mn 11位地址 A10 0 其中m A10 8 即OP码D7 5 而n在OP码后的一字节 表A7 0例 AJMPNEXT寻址区域 程序存储器寻址过程及时序 2 2寻址方式 31 I隐含寻址类别 隐含寻址概念 指令中以隐含方式指出存放操作数的地址 该地址以操作码来指定 而不提供地址的任何信息 隐含寻址方式是一种不可选择的寻址方式 表达 汇编语言指令本身机器语言无例 MOVA 51HMOVDPTR 4089HMULAB寻址区域 专对A B AB DPTR等 2 2寻址方式 32 2 3指令系统 MCS 51系列指令系统可分为四大类指令 即 数据传送类指令 算术 逻辑运算类指令 程序控制类指令 位操作类指令 学习指令系统必须掌握的内容 类别 大类 子类 次级子类 寻址方式 源地址 目标地址允许采用的寻址方式 指令结构及表达格式 单 双操作数指令 源 目地址 条件等 指令所提供的信息 汇编语言表达格式 机器语言表达格式 指令功能及对标志位的影响 指令执行过程及时序2 3 1数据传送类指令A通用传送指令 MOV目 源 目 源 1B 寻址 A data Rr DIRECT Rj PUSH源 SP SP 1 SP 源 1B DIRECT POP目 目 SP SP SP 1 1B DIRECTB累加器专用传送指令 33 2 3指令系统 B累加器专用传送指令 XCHA 源 A 源 同时源 A 1B 寻址 Rr DIRECT RjXCHDA 源 AD 源 D同时源D A D 高半字节不变 寻址 Rj MOVXA 源 A 源 外部 1B 寻址 Rj DPTRMOVX目 A 目 A 外部 1B 寻址 Rj DPTR MOVCA 源 A 源 源为程序存储器单元 1B 寻址 A DPTR A PCC目标地址传送指令MOVDPTR data DPTR data 2B本大类指令 除对PSW执行POP或MOV指令外 均不影响标志位 本系列单片机的并行I O操作 串行I O操作 定时 计数器操作 中断的某些控制处理 都归于统一的形式 直接寻址SFR的数据传送指令 其区别仅在于寻址不同的 相关的 SFR而已 直接地址与立即数的区别 立即数有前缀 34 2 3指令系统 2 3 2算术 逻辑运算类指令A算术运算指令算术运算指令分为一般算术运算 加 减 乘 除 指令和增量 减量指令两部分 a 一般算术运算指令 ADDA A A 寻址 data Rr DIRECT RjADDCA A A C 寻址 data Rr DIRECT Rj DAA 二 十进制调整 不能用于 二进制数转换为十进制数 减法的二 十进制调整 SUBBA A A C 寻址 data Rr DIRECT Rj MULAB AB A B 8位无符号整数相乘 积的低8位在A 高8位在B C 0 若积 FFH 则OV 1 DIVAB A A B 8位无符号整数相除 无符号整数商送A 无符号整数余送B C 0 若除数为0 则 A B 不定 且OV 1 35 2 3指令系统 b 增量 减量指令 INC 1 寻址 A DPTR Rr DIRECT Rj 其中仅INCDPTR为双字节运算 DEC 1 寻址 A Rr DIRECT RjB逻辑运算指令逻辑运算指令又分为双操作数指令和单操作数指令 a 双操作数逻辑运算指令 ORLA A A 寻址 data Rr DIRECT RjORLDIRECT DIRECT DIRECT 寻址 data A ANLA A A 寻址 data Rr DIRECT RjANLDIRECT DIRECT DIRECT 寻址 data A XRLA A A 寻址 data Rr DIRECT RjXRLDIRECT DIRECT DIRECT 寻址 data Ab 单操作数逻辑运算指令 36 2 3指令系统 b 单操作数逻辑运算指令 CLRA A 0CPLA A A RLA RLCA RRA RRCA SWAPA C C D7 D4 D3 D0 37 2 3指令系统 2 3 3控制转移类指令本大类指令分为三个子类 转移指令 无条件转移指令 条件转移指令 调用和返回指令 中断控制指令 A转移指令a 无条件转移指令 AJMPaddr10 0 PC PC 2 PC10 0 addr10 0 在2KB范围内跳转 仅当该指令处于2KB页面的最后2B时 方可转移入下一页 LJMPaddr15 0 PC15 0 addr15 0 可转移到任意处 SJMPrel PC PC 2 PC PC rel rel为补码 可转移到以下一条指令的首地址为中心的256B 128B 127B AJMP A DPTR PC A DPTR 可转移到64KB范围内的任意一处地址 NOP 空操作 用于调整地址空间或定时时间以及用作调试 修改程序时使用的缓冲单元b 条件转移指令 38 2 3指令系统 b 条件转移指令 JZrel 当 A 00H时 PC PC 2 PC PC rel rel为补码 当 A 00H时 PC PC 2JNZrel 当 A 00H时 PC PC 2 PC PC rel rel为补码 当 A 00H时 PC PC 2 DJNZ rel 1 寻址方式 Rr DIRECT 若 0 PC PC 2 Rr方式 或PC PC 3 DIRECT方式 PC PC rel rel为补码 若 0 PC PC 2 Rr方式 或PC PC 3 DIRECT方式 CJNE rel 寻址方式 A Rr Rj 为 data时 寻址方式 A 为DIRECT时 若 则PC PC 3 PC PC rel C 0 若 则PC PC 3B子程序调用和返回指令 39 2 3指令系统 B子程序调用和返回指令 ACALLaddr10 0 PC PC 2 SP SP 1 SP PC7 0 SP SP 1 SP PC15 8 PC10 0 addr10 0可调用下一条指令所在2KB页内任意指定地址处的子程序 该指令若位于2KB页面的最后2字节 则调用将转向下一页 LCALLaddr15 0 PC PC 3 SP SP 1 SP PC7 0 SP SP 1 SP PC15 8 PC addr15 0 RET PC15 8 SP SP SP 1 PC7 0 SP SP SP 1C中断控制指令RETI 主要功能同RET 区别在于 能恢复中断逻辑以准备接收与刚处理完的中断有相同优先级的其它中断 40 2 3指令系统 2 3 4位操作类指令本大类指令分为三个子类 位传送指令 位逻辑运算指令 位条件判转指令 A位传送指令MOVC C 寻址 bitMOV C C 寻址 bitB位逻辑运算指令a 基本的位逻辑运算指令ORLC C C 寻址 bit bitANLC C C 寻址 bit bitb 位状态控制指令SETB 1 寻址 C bitCLR 0 寻址 C bitCPL 寻址 C bit 41 2 3指令系统 C位条件判转指令 JCrel 若 C 0 PC PC 2 若 C 1 PC PC 2 PC PC relJNCrel 若 C 1 PC PC 2 若 C 0 PC PC 2 PC PC rel JB rel 若 0 PC PC 3 若 1 PC PC 3 PC PC rel 寻址 bitJBC rel 若 0 PC PC 3 若 1 PC PC 3 PC PC rel 0 寻址 bitJNB rel 若 1 PC PC 3 若 0 PC PC 3 PC PC rel 寻址 bit 42 2 4汇编语言程序设计 例 RAM中60H单元中存有一个带符号数 求其绝对值 存入外部数据存储器2460H单元 解 源程序可编制为 MOVA 60HJNBACC 7 DONECPLAINCADONE MOVDPTR 2460HMOVX DPTR A 简单程序设计 结构程序设计 算术运算程序设计 代码和数制转换程序设计 排序 搜索程序设计 浮点运算子程序设计 2 4 1简单程序设计 43 2 4汇编语言程序设计 例 外部数据存储器自2400H单元开始的区域中存储有100个带符号一字节数 找出其中最大的一个 存入RAM60H单元中 解 源程序可编制为 MOVDPTR 2400MOVR2 63HMOVXA DPTRMOVR0 AAGAIN INCDPTRMOVXA DPTRCLRCSUBBA R0JNBPSW 2 NEXTJNBACC 7 UNEXCHEXCH MOVXA DPTRMOVR0 ASJMPUNEXCHNEXT JNBACC 7 EXCHUNEXCH DJNZR2 AG

温馨提示

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

评论

0/150

提交评论