第2章+++单片机基础.ppt_第1页
第2章+++单片机基础.ppt_第2页
第2章+++单片机基础.ppt_第3页
第2章+++单片机基础.ppt_第4页
第2章+++单片机基础.ppt_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

第2章单片机芯片的基本结构 2 1MCS 51系列单片机逻辑结构2 2MCS 51单片机存储器及存储空间2 3并行输入 输出接口2 4MCS 51单片机的时钟电路与时序2 5MCS 51单片机的工作方式 图2 1MCS 51系列单片机内部结构框图 2 1MCS 51系列单片机内部结构及功能部件 2 1 1内部结构 图2 2MCS 51系列单片机内部结构简化框图 MCS 51系列单片机的内部结构框图如图2 1所示 分析图2 1 并按其功能部件划分可以看出 MCS 51系列单片机是由8大部分组成的 图2 2为按功能划分的MCS 51系列单片机内部结构简化框图 这8大部分是 一个8位中央处理机CPU 128个字节 MCS 52子系列为256字节 的片内数据存储器RAM 4KB MCS 52子系列为8KB 的片内程序只读存储器ROM或EPROM 8031和8032无 18个 MCS 52子系列为21个 特殊功能寄存器SFR 4个8位并行输入输出I O接口 P0口 P1口 P2口 P3口 共32线 用于并行输入或输出数据 1个串行I O接口 2个 MCS 52子系列为3个 16位定时器 计数器 1个具有5个 MCS 52子系列为6个或7个 中断源 可编程为2个优先级的中断系统 它可以接收外部中断申请 定时器 计数器中断申请和串行口中断申请 中央处理器CPU 中央处理器是单片机内部的核心部件 它决定了单片机的主要功能特性 它由运算部件和控制部件两大部分组成 运算部件运算部件是以算术逻辑单元ALU为核心 加上累加器A 寄存器B 暂存器TMP1和TMP2 程序状态寄存器PSW及专门用于位操作的布尔处理机组成的 见图2 1 它能实现数据的算术逻辑运算 位变量处理和数据传送操作 1 算术逻辑单元ALU与累加器ACC 寄存器B算术逻辑单元ALU不仅能完成8位二进制数的加 带进位加 减 带借位减 乘 除 加1 减1及BCD加法的十进制调整等算术运算 还能对8位变量进行逻辑 与 或 异或 求补 清零等逻辑运算 并具有数据传送 程序转移等功能 累加器ACC简称累加器A 为一个8位寄存器 它是CPU中使用最频繁的寄存器 进入ALU作算术和逻辑运算的操作数多来自于A 运算结果也常送回A保存 寄存器B是为ALU进行乘除法设置的 CY PSW 7 进位标志位 AC PSW 6 辅助进位 或称半进位 标志 F0 PSW 5 由用户定义的标志位 RS1 PSW 4 RS0 PSW 3 工作寄存器组选择位 OV PSW 2 溢出标志位 由硬件置位或清零 PSW 1 未定义位 P PSW 0 奇偶标志位 PSW 7 PSW 0 2 程序状态字程序状态字寄存器PSW 8位 是一个标志寄存器 它保存指令执行结果的特征信息 以供程序查询和判别 其程序状态字格式及含义如下 3 布尔处理机布尔处理 即位处理 是MCS 51单片机ALU所具有的一种功能 单片机指令系统中的布尔指令集 17条位操作指令 存储器中的位地址空间 以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作 累加器 构成了单片机内的布尔处理机 2 1 2单片机外部引脚说明MCS 51系列单片机芯片均为40个引脚 HMOS工艺制造的芯片采用双列直插 DIP 方式封装 其引脚示意及功能分类如图2 3所示 CMOS工艺制造的低功耗芯片也有采用方型封装的 但为44个引脚 其中4个引脚是不使用的 图2 3MCS 51系列单片机引脚及总线结构 a 管脚图 b 引脚功能分类 1 主电源引脚Vcc和VssVCC 40脚 接 5V电源正端 VSS 20脚 接 5V电源地端 2 外接晶体引脚XTAL1和XTAL2XTAL1 19脚 接外部石英晶体的一端 在单片机内部 它是一个反相放大器的输入端 这个放大器构成了片内振荡器 当采用外部时钟时 对于HMOS单片机 该引脚接地 对于CHMOS单片机 该引脚作为外部振荡信号的输入端 XTAL2 18脚 接外部晶体的另一端 在单片机内部 接至片内振荡器的反相放大器的输出端 当采用外部时钟时 对于HMOS单片机 该引脚作为外部振荡信号的输入端 对于CHMOS芯片 该引脚悬空不接 图2 4HMOS型MCS 51单片机时钟产生方式 a 内部振荡器方式 b 外部振荡器方式 80C51外部脉冲信号需从XTAL1引脚注入 而XTAL2引脚悬空 3 控制信号或与其它电源复用引脚控制信号或与其它电源复用引脚有RST VPD 和等4种形式 1 RST VPD 9脚 RST即为RESET VPD为备用电源 所以该引脚为单片机的上电复位或掉电保护端 2 30脚 当访问外部存储器时 ALE 允许地址锁存信号 以每机器周期两次的信号输出 用于锁存出现在P0口的低8位地址 3 29脚 片外程序存储器读选通信号输出端 低电平有效 4 31脚 为访问外部程序存储器控制信号 低电平有效 4 输入 输出 I O 引脚P0口 P1口 P2口及P3口 1 P0口 39脚 32脚 P0 0 P0 7统称为P0口 2 P1口 1脚 8脚 P1 0 P1 7统称为P1口 可作为准双向I O接口使用 3 P2口 21脚 28脚 P2 0 P2 7统称为P2口 一般可作为准双向I O接口 4 P3口 10脚 17脚 P3 0 P3 7统称为P3口 表2 3P3口第2功能表 2 2MCS 51单片机存储器及存储空间 2 2 1MCS 51单片机存储器分类及配置MCS 51单片机存储器的分类从物理结构上可分为 片内 片外程序存储器 8031和8032没有片内程序存储器 与片内 片外数据存储器4个部分 从寻址空间分布可分为 程序存储器 内部数据存储器和外部数据存储器3大部分 从功能上可分为 程序存储器 内部数据存储器 特殊功能寄存器 位地址空间和外部数据存储器5大部分 图2 5MCS 51单片机存储器空间结构图 a 程序存储器 b 内部数据存储器 c 外部数据存储器 MCS 51系列单片机存储器系统空间结构如图2 5所示 2 2 2内部数据存储器1 内部数据存储器的编址MCS 51系列单片机的内部数据存储器由读写存储器RAM组成 用于存储数据 它由RAM块和特殊功能寄存器 SFR 块组成 其结构如图2 5 b 所示 2 内部数据存储器RAM块由图2 5 b 可见 内部数据存储器RAM块共分为工作寄存器区 位寻址区和数据缓冲区3个部分 1 工作寄存器区内部RAM块的00H 1FH区 共分4个组 每组有8个工作寄存器R0 R7 共32个内部RAM单元 寄存器和RAM地址的对应关系如表2 5所示 表2 5工作寄存器和RAM地址对照表 工作寄存器共有4组 但程序每次只用1组 其它各组不工作 哪1组寄存器工作由程序状态字PSW中的PSW 3 RS0 和PSW 4 RS1 两位来选择 其对应关系如表2 6所示 CPU通过软件修改PSW中RS0和RS1两位的状态 就可任选一个工作寄存器工作 这个特点使MCS 51单片机具有快速现场保护功能 对于提高程序的效率和响应中断的速度是很有利的 若程序中并不要4个工作寄存器组 那么剩下的工作寄存器组所对应的单元也可以作为一般的数据缓冲区使用 表2 6工作寄存器组的选择表 2 位寻址区20H 2FH单元为位寻址区 这16个单元 共计128位 的每1位都有一个8位表示的位地址 位地址范围为00H 7FH 如表2 7所示 位寻址区的每1位都可当作软件触发器 由程序直接进行位处理 通常可以把各种程序状态标志 位控制变量存于位寻址区内 同样 位寻址的RAM单元也可以按字节操作作为一般的数据缓冲 表2 7内部RAM中位地址表 3 数据缓冲区 用户RAM区 30H 7FH是数据缓冲区 也即用户RAM区 共80个单元 MCS 52子系列片内RAM有256个单元 前两个的单元数与地址都和MCS 51子系列一致 用户RAM区从30H FFH 共208个单元 2 2 3 特殊功能寄存器SFR块特殊功能寄存器SFR 又称为专用寄存器 它专用于控制 管理单片机内算术逻辑部件 并行I O口锁存器 串行口数据缓冲器 定时器 计数器 中断系统等功能模块的工作 SFR的地址空间为80H FFH 表2 8特殊功能寄存器名称 标识符 地址一览表 1 专用寄存器简介 1 程序计数器PC16位计数器 内容为将要执行的指令地址 寻址范围64KB 能自动加1 以实现程序的顺序执行 执行转移 调用 返回等指令能自动改变其内容 以改变程序的执行顺序 PC没有地址 是不可寻址的 累加器ACC简称累加器A 为一个8位寄存器 它是CPU中使用最频繁的寄存器 进入ALU作算术和逻辑运算的操作数多来自于A 运算结果也常送回A保存 还可用作变址寄存器 使用非常频繁 3 寄存器B寄存器B是为ALU进行乘除法设置的 2 累加器A CY PSW 7 进位标志位 AC PSW 6 辅助进位 或称半进位 标志 F0 PSW 5 由用户定义的标志位 RS1 PSW 4 RS0 PSW 3 工作寄存器组选择位 OV PSW 2 溢出标志位 由硬件置位或清零 PSW 1 未定义位 P PSW 0 奇偶标志位 PSW 7 PSW 0 4 程序状态字程序状态字寄存器PSW 8位 是一个标志寄存器 它保存指令执行结果的特征信息 以供程序查询和判别 其程序状态字格式及含义如下 16位寄存器 唯一一个供拥护使用的16位寄存器 既可以按16位寄存器使用 又可以按8位寄存器使用 DPH高8位DPL低8位在访问外部数据存储器时做指针使用变址寻址方式中 用作基址寄存器 用于对程序存储器进行访问 如MOVCA A DPTR 5 数据指针DPTR 2 位寻址空间在MCS 51单片机的内部数据寄存器RAM块和特殊功能寄存器SFR块中 有一部分地址空间可以按位寻址 按位寻址的地址空间又称之为位寻址空间 位寻址空间一部分在内部RAM的20H 2FH的16个字节内 共128位 另一部分在SFR的80H FFH空间内 凡字节地址能被8整除的专用寄存器都有位地址 共93位 因此 MCS 51系列单片机共有221个可寻址位 其位地址见表2 7 表2 8所示 2 2 4堆栈与堆栈指针所谓堆栈就是只允许在其一端进行数据插入 入栈 和删除操作 出栈 的线性表 最大的特点 后进先出堆栈的功用 子程序调用和中断操作时的保护断点和保护现场 堆栈就是内部RAM存储器的一部分MCS 51单片机堆栈区不是固定的 原则上可设在内部RAM的任意区域内 但为了避开工作寄存器区和位寻址区 一般设在30H以后的范围内栈顶的位置由专门设置的堆栈指针寄存器SP 8位 指出 使用方式 自动方式 指令方式 图2 6MCS 51单片机堆栈 MCS 51单片机的堆栈属向上生长型 如图2 6所示 进栈操作 先SP加1 后写入数据 出栈操作 先读出数据 后SP减1 2 2 5外部数据存储器外部数据存储器一般由静态RAM芯片组成 扩展存储器容量的大小 由用户根据需要而定 但MCS 51单片机访问外部数据存储器可用1个特殊功能寄存器 数据指针寄存器DPTR进行寻址 由于DPTR为16位 可寻址的范围可达64KB 所以扩展外部数据存储器的最大容量是64KB 2 2 6程序存储器1 程序存储器的编址计算机的工作是按照事先编制好的程序命令一条条循序执行的 程序存储器就是用来存放这些已编好的程序和表格常数 它由只读存储器ROM或EPROM组成 2 程序运行的入口地址80C51芯片内有4KROM 地址是0000H 0FFFH 其中0000H 002AH 使用时应该特别注意 实际应用时 程序存储器的容量由用户根据需要扩展 而程序地址空间原则上也可由用户任意安排 但程序最初运行的入口地址 MCS 51单片机是固定的 用户不能更改 表2 4MCS 51单片机复位 中断入口地址 程序存储器中有复位和中断源共7个固定的入口地址见表2 4 单片机复位后程序计数器PC的内容为0000H 故必须从0000H单元开始取指令来执行程序 0000H单元是系统的起始地址 一般在该单元存放一条无条件转移指令 用户设计的程序是从转移后的地址开始存放执行的 2 3并行输入 输出接口 2 3 1P0口1 P0口结构P0口是一个三态双向口 可作为地址 数据分时复用口 也可作为通用I O接口 其1位的结构原理如图2 7所示 P0口由8个这样的电路组成 锁存器起输出锁存作用 8个锁存器构成了特殊功能寄存器P0 场效应管 FET V1 V2组成输出驱动器 以增大带负载能力 三态门1是引脚输入缓冲器 三态门2是用于读锁存器端口 与门3 倒相器4及模拟转换开关构成输出控制电路 图2 7P0口1位结构原理图 2 地址 数据分时复用功能当P0口作为地址 数据分时复用总线时 可分为两种情况 一种是从P0口输出地址或数据 另一种是从P0口输入数据 在访问片外存储器需从P0输出地址或数据信号时 控制信号应为高电平1 使转换开关MUX把反向器4的输出端与V1接通 同时把与门3打开 3 通用I O接口功能当P0口作为通用I O接口使用 在CPU向端口输出数据时 对应的控制信号为0 转换开关把输出级与锁存器端接通 同时因与门3输出为0使V2截止 此时 输出级是漏极开路电路 当P0口作为通用I O接口时 要注意两点 第一 在输出数据时 由于V2截止 输出级是漏极开路电路 要使 1 信号正常输出 必须外接上拉电阻 第二 P0口作为通用I O使用时是一准双向口 4 端口操作MCS 51单片机有不少指令可直接进行端口操作 例如 ANLP0 A P0 P0 A ORLP0 data P0 P0 dataDELP0 P0 P0 1 2 3 2P1口P1口为准双向口 其1位的内部结构如图2 8所示 它在结构上与P0口的区别在于输出驱动部分 其输出驱动部分由场效应管V1与内部上拉电阻组成 当其某位输出高电平时 可以提供拉电流负载 不必象P0口那样需要外接电阻 从功能上来看P1只有一种功能 对MCS 51子系列 即通用输入输出I O接口 具有输入 输出 端口操作3种工作方式 每1位口线能独立地用作输入或输出线 图2 8P1口的结构原理图 2 3 3P2口P2口也是一准双向口 其1位的内部结构如图2 9所示 它具有通用I O接口或高8位地址总线输出两种功能 所以其输出驱动结构比P1口输出驱动结构多了一个输出模拟转换开关MUX和反相器3 图2 9P2口的结构原理图 当作为准双向通用I O接口使用时 控制信号使转换开关接向左侧 锁存器Q端经反相器3接V1 其工作原理与P1相同 也具有输入 输出 端口操作三种工作方式 负载能力也与P1口相同 2 3 4P3口P3口的1位结构如图2 10所示 它的输出驱动由与非门3 V1组成 比P0 P1 P2口结构多了一个缓冲器4 P3口除了可作为通用准双向I O接口外 每1根线还具有第2功能 图2 10P3口的结构原理图 当P3口作为通用I O接口时 第2功能输出线为高电平 使与非门3的输出取决于口锁存器的状态 在这种情况下 P3口仍是1个准双向口 它的工作方式 负载能力均与P1 P2口相同 当P3口作为第2功能 各引脚功能见表2 3 使用时 其锁存器Q端必须为高电平 否则V1管导通 引脚被箝位在低电平 无法输入或输出第2功能信号 当Q端为高电平时 P3口的口线状态就取决于第2功能输出线的状态 小结 1 P0 P1 P2 P3都是并行I O口 都可以进行数据的输入 输出传送 但是P0口和P2口除了可进行数据的输入 输出外 通常是用来构建系统的数据总线和地址总线 P0口可输送低8位地址和8位数据 只有P0口是真正的双向口 其余3个口是准双向口 双向口与准双向口的区别为双向口有高阻态 输入为真正的外部信号 准双向口内部有上拉 故高电平为内部给出不是真正的外部信号 软件做处理时都要先向口写 1 P3口的口线具有第二功能 为系统提供一些控制信号 表2 3P3口第2功能表 2 4 1CPU时序计算机在执行指令时 通常将一条指令分解为若干基本的微操作 这些微操作所对应的脉冲信号在时间上的先后次序称为计算机的时序 为便于理解时序 先介绍几个常用名词 振荡周期 为单片机提供定时信号的振荡源的周期 晶振周期或外加振荡源周期 状态周期 2个振荡周期为1个状态周期 用S表示 2 4MCS 51单片机时钟电路与时序 机器周期 1个机器周期含6个状态周期 用S1 S2 S6表示 共有12个节拍 例如 外接晶振为12MHz时 MCS 51单片机的4个时间周期的具体值为 振荡周期 1 12 s 状态周期 1 6 s 机器周期 1 s 指令周期 1 4 s MCS 51单片机的CPU取指令和执行指令的时序如图2 11所示 图2 11MCS 51单片机CPU取指 执行时序 单周期指令的执行从S1P2开始 在S1P2期间读入操作码并把它锁存到指令寄存器中 双字节指令 则在同一机器周期的S4期间读出第2个字节 对于单字节指令在S4处仍有一次读操作 但这时读出的字节 下一条指令的操作码 是不予考虑的 而且程序计数器PC也不加1 对于单周期指令 在上述任何情况下 指令都在S6P2期间完成操作 图2 11中的 a 和 b 分别表示单字节单周期和双字节单周期指令的执行时序 图2 11 c 表示单字节双周期指令的时序 单字节双周期指令在两个机器周期内作4次读操作码的操作 由于是单字节指令 后3次读操作是无效的 图2 11 d 表示执行访问外部数据存储器指令MOVX的时序 这是一条单字节双周期指令 具有其特殊性 2 4 2控制部件及振荡器控制部件是单片机的神经中枢 它包括定时和控制电路 指令寄存器 译码器以及信息传送控制等部件 单片机的定时控制功能是由片内的时钟电路和定时电路来完成的 而片内的时钟产生有两种方式 一种是内部时钟方式 一种是外部时钟方式 如图2 4 a b 所示 图2 4HMOS型MCS 51单片机时钟产生方式 a 内部振荡器方式 b 外部振荡器方式 80C51外部脉冲信号需从XTAL1引脚注入 而XTAL2引脚悬空 采用内部时钟方式时 如图2 4 a 所示 片内的高增益反相放大器通过XTAL1 XTAL2外接作为反馈元件的片外晶体振荡器 呈感性 与电容组成的并联谐振回路构成一个自激振荡器 向内部时钟电路提供振荡时钟 振荡器的频率主要取决于晶体的振荡频率 一般晶体可在1 2 12MHz之间任选 电容C1 C2可在5 30pF之间选择 电容的大小对振荡频率有微小的影响 可起频率微调作用 2 5 1复位电路与复位状态1 复位电路通过某种方式 使单片机内各寄存器的值变为初始状态的操作称为复位 MCS 51单片机在时钟电路工作以后 在RST VPD端持续给出2个机器周期的高电平就可以完成复位操作 一般复位正脉冲宽度大于10ms 复位分为上电自动复位和按键手动复位两种方式 2 5MCS 51单片机工作方式 上电自动复位是通过外部复位电路的电容充电来实现的 图2 14各位复位电路 按键手动复位有电平方式和脉冲方式电平复位是通过使复位端经电阻与VCC电源接通而实现的脉冲复位是利用RC微分电路产生的正脉冲来实现的 2 复位状态MCS 51单片机复位后 程序计数器PC和特殊功能寄存器复位的状态如表2 9所示 复位不影响片内RAM存放的内容 而ALE 在复位期间将输出高电平 由表2 9可以看出 1 PC 0000H表示复位后程序的入口地址为0000H 2 PSW 00H 其中RS1 PSW 4 0 RS0 PSW 3 0 表示复位后单片机选择工作寄存器0组 3 SP 07H表示复位后堆栈在片内RAM的08H单元处建立 4 P0口 P3口锁存器为全1状态 说明复位后这些并行接口可以直接作输入口 无须向端口写1 5 定时器 计数器 串行口 中断系统等特殊功能寄存器复位后的状态对各功能部件工作状态的影响 将在后续有关章节介绍 表2 9PC与SFR复位状态表 程序执行方式是单片机的基本工作方式 由于复位后PC 0000H 因此程序窒息总是从地址0000H开始的 2 5 2程序执行方式 2 5 3节电运行状态和掉电运行状态 对于采用CHMOS工艺生产的增强型MCS 51内核CPU 如8XC5X系列 8XC5XX2系列 除了正常的操作方式外 还具有掉电运行方式和节电运行方式 且后备电源可直接加入VCC端 掉电数据保护容易现实 8XC5X系列单片机工作方式由特殊功能寄存器PCON内的b1 b0位控制 该寄存器各位含义如下 b7b6b5b4b3b2b1b0 SMOD1 即b7位 SMOD0 即b6位 与串行通信有关 其中SMOD1是波特率倍增位 当该位为 时 设置的波特率 SMOD0是帧错误 模式识别选择位 GF1 GF0为通用标志 由用户置位或复位 POF 即b4 为上电标志位 当电源引脚Vcc由0V升到 5V工作过程中 POF被硬件置1 只要VCC维持在3 0V以上 POF位就不变 PD 即b1位 为掉电操作方式位 当PD 1时 进入掉电操作方式 IDL 即b0位 为节电操作方式位 当IDL 1时 进入节电运行方式 当PD和IDL位同时有效 即PD IDL位均为1时 进入掉电方式 即掉电方式优先权高于节电方式 复位后 PCON寄存器初值为00XX0000B 即PD IDL均为0 处于正常操作方式 由于PCON寄存器不具备位寻址功能 因此只能通过或指令对PCON寄存器中的某一位进行置位操作 如 ORLPCON 01H 和立即数01H进行逻辑或运算 使b0位

温馨提示

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

评论

0/150

提交评论