




已阅读5页,还剩123页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章将以C8051F系列单片机中功能较全面 应用较广泛的C8051F02x子系列为典型例子 重点介绍以CIP 51为内核的C8051F系列单片机的结构 工作原理 存储器组织 时钟系统及复位源等 第二章C8051F单片机结构及原理 第二章C8051F单片机结构及原理 C8051F系列单片机的微控制器内核称为CIP 51 是在Intel公司标准8位8051单片机的组织结构和功能的基础上加以改进和提高形成的 所有C8051F系列单片机的微控制器内核都完全相同 2 1C8051F的CIP 51内核 2 1C8051F的CIP 51内核 CIP 51内核是C8051F的中央处理器 CPU 部分 主要完成运算和控制功能 管理整个单片机系统的各个外设的工作 CIP 51的原理框图如下图所示 其组成与结构和8051的原理结构图比较相似 图的上半部分几乎和8051完全一样 下半部分也有近一半组成和8051 样 2 1 1CIP 51内核的组成及结构 2 1C8051F的CIP 51内核 不同的部分主要是增加了流水线结构 存储器和特殊功能寄存器SFR接口部分 电源控制与管理寄存器等 CIP 51微控制器中的SFR接口用于控制与管理模拟和数字外设功能部件 大大增强了处理能力 2 1 1CIP 51内核的组成及结构 2 1C8051F的CIP 51内核 1 主要功能部件及组成与8051相同 2 与MCS 51指令系统完全兼容 3 时钟频率为0 25MHz 执行速度一般可达25兆指令 秒 有的型号最高执行速度可达100兆指令 秒 2 1 2CIP 51内核的特点 2 1C8051F的CIP 51内核 4 增加了流水线结构 70 指令的执行时间为1个或2个系统时钟周期 5 与模 数 数字外设有关的SFR移到核外 通过SFR接口与CPU交换信息 6 中断系统扩展为可处理22个中断源 7 复位与时钟电路不包括在核内 8 具有程序和数据存储器安全管理功能 2 1 2CIP 51内核的特点 2 1C8051F的CIP 51内核 2 1 2CIP 51内核的特点 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 1 中央处理器 CPU 中央处理器是单片机最核心的部分 主要完成运算和控制功能 与通用微处理器是基本相同的 只是它的控制功能更强 C8051F系列的CPU是一个字长为8位的中央处理单元 即它对数据的处理是以字节为单位进行的 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 2 数据存储器 内部RAM 数据存储器用于存放变化的数据 C8051F内核中数据存储器的地址空间为00 FFH 作为数据存储器供用户使用 共256个RAM单元 C8051F中把控制与管理用的寄存器统称为特殊功能寄存器SFR 在逻辑地址上划分在内部RAM中 其地址为80H FFH 与部分RAM的地址是重叠的 需要通过不同的指令区分 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 3 SFR总线接口特殊功能寄存器SFR的总线接口用于控制与管理核外的数字与模拟功能模块 以及所有的I O端口等 通过编程可用于实现与外部设备中数据的并行或串行数字量的输入输出 有些I O端口还可实现模拟量的输人输出 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 4 存储器接口C8051F单片机中大部分系列都有位于片上的外部数据存储器空间RAM 称为XRAM 除此 还可以向片外扩展64KBRAM 存储器接口就是用于控制与管理C8051F单片机片上和片外的数据存储器 它们都需用MOVX指令访问 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 5 流水线结构CIP 51采用了流水线处理结构 用于控制和管理取指令和执行指令的过程 其已经没有机器周期时序 指令执行的最小时序单位为系统时钟 大部分指令只要1个 2个系统时钟即可完成 在流水线结构中包括指令寄存器和指令译码器 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 一般的8051系列单片机是取一条指令 然后译码执行 执行完之后再取下一条指令 但C8051F的取指令和执行指令是同时进行的 即在译码执行当前指令的同时 取下一条待执行指令放在指令寄存器中 这样在每个时钟周期都有一条指令在执行 同时又在取下一条指令 这种流水线结构大大提高了单片机的执行速度 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 6 中断系统中断系统的主要作用是对外部或内部的中断请求进行管理与处理 C8051F系列单片机的中断系统可以满足一般控制应用的需要 C8051F系列单片机的中断源最多可达22个 2 1C8051F的CIP 51内核 2 1 3CIP 51内核的基本部件 数据总线缓冲器的作用是在CPU内外数据传送时予以缓冲 地址寄存器用于存放存储器或输入输出端口的地址值 内核的复位源与时钟信号由核外的片上系统提供 2 2C805lF单片机的结构与原理 C8051F系列单片机的各子系列结构与原理基本相同 只是有一些小差别 如外部引脚数不同 封装形式不同 功能模块数量不同等 本课程以应用较多 较典型的C8051F02x x为0 1 2 3 系列为主要实例 介绍C8051F单片机的结构与原理 2 2 1C8051F02x单片机的组成与结构 C8051F020单片机以8051内核为中心 通过SFR总线 外部数据存储器总线 系统时钟线 复位线等与64KB闪存 4KBXRAM 数字功能模块 UART SPI 定时器等 模拟功能模块 比较器 A D D A等 片上时钟系统和JTAG逻辑电路等相连 是一个完整的单片机片上系统 可以用作为一个闭环测量控制系统 2 2C805lF单片机的结构与原理 2 2 1C8051F02x单片机的组成与结构 下面对片上除CIP 51核外的功能模块予以简介1 存储器 1 4KB片上RAM 如果包括核内的256BRAM则C8051F02x总共有4352BRAM 2 64KBFLASH存储器 可以在线编程 每个扇区为512B 3 外部64KB数据存储器接口 编程方式为复用方式或非复用方式 2 2C805lF单片机的结构与原理 2 2 1C8051F02x单片机的组成与结构 2 数字外设C8051F02x单片机共有以下3种数字功能模块 这些模块的主要性能特点如下 1 并行数字I O端口C8051F02x单片机的数字I O端口均为8位 所有端口线均耐3V 5V电压 通过软件编程大部分数字I O端口除可作为一般的通用I O端口外 还可以作为其他功能模块的输入或输出引脚 2 2C805lF单片机的结构与原理 2 2C805lF单片机的结构与原理 2 2C805lF单片机的结构与原理 2 2 1C8051F02x单片机的组成与结构 2 串行口C805lF02x单片机具有3种串行口 即SMBus 与I2C兼容 串行总线接口 SPI串行总线接口及2个增强型UART异步串行接口 这3个串行接口可同时与外界进行串行数据通信 2 2C805lF单片机的结构与原理 2 2 1C8051F02x单片机的组成与结构 3 计数器 定时器C8051F02x的计数器 定时器有以下3类 1 可编程的16位计数器 定时器阵列PCA 5个捕捉 比较模块 6种工作方式 2 5个通用16位计数器 定时器 3 专用的看门狗定时器 2 2C805lF单片机的结构与原理 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 3 模拟外设C8051F02x有6种模拟功能模块 这些模块的主要性能特点如下 1 12位逐次逼近型模 数转换器ADC0 1 转换位数为12位 C8051F020 1 10位 C8051F022 3 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 2 转换速率可编程 最大为100ksps 3 模拟输入为8路 可编程为单端输入或差分输入 通过模拟多路选择器选择通道 4 放大器增益可编程为 16 8 4 2 1 0 5 5 数据越限检测器 6 内置温度传感器 3 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 2 8位逐次逼近型模 数转换器ADC1 1 转换位数为8位 2 转换速率可编程 最大为500ksps 3 模拟输入为8路 通过模拟多路选择器选择通道 4 放大器增益可编程为 4 2 1 0 5 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 3 两路12位数 模转换器把12位数字量转换为电压量 可以产生连续变化的波形 2路信号可同步输出 4 两个模拟比较器 1 具有正向与负向等8种可编程回差电压值 2 可用于产生中断或复位 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 5 电压基准电压基准主要用于给模 数和数 模转换电路提供电压 1 内部基准 2 4V 温度漂移为15x10 6 2 外部基准输入 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 6 精确的VDD监视器和降压检测器可通过MONEN引脚允许或禁止VDD监视器的工作 芯片内JTAG调试和边界扫描 1 片内调试电路通过JTAG接口可提供高速 方便的在系统调试 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 2 支持断点 单步 观察点 堆栈监视器 支持观察 修改存储器和寄存器 3 完全符合IEEE1149 1边界扫描标准 这个标准可用于对器件引脚和SFR总线进行控制 观察和测试 2 2 1C8051F02x单片机的组成与结构 2 2C805lF单片机的结构与原理 5 系统时钟C8051F系列单片机的系统时钟用于给单片机提供时序信号 可以选择内部或外部时钟电路 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 8051F系列单片机不同子系列单片机的引脚数量有较大差别 以C8051F02x为例 以引脚数量分为2种 即64个和100个 封装形式是TQFP64 TQFP100 方形芯片 它的体积很小 很薄 是一种表面贴焊的封装形式 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 2 2C805lF单片机的结构与原理 2 2C805lF单片机的结构与原理 2 2C805lF单片机的结构与原理 2 2 2引脚定义及功能 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 C8051F02x单片机的大部分I O引脚都有2种或3种功能 但在复位时 一部分专用引脚的功能不变 例如电源 晶振 JTAG和部分模拟输入引脚的功能是固定不变的 其他大部分引脚在复位时均为通用I O端口的输入状态 当需要把它们作为其他功能模块的输入或输出引脚时 需要对它们进行配置 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 下面对部分专用引脚的功能进一步说明 1 VDD和GND各为3个引脚 使用时建议全部接上 这样可提高抗干扰能力 2 如果在系统中没有使用模拟部分 芯片的模拟电源V 和模拟地AGND也要连接 3 VREF端也可以作为带隙电压基准输出驱动其他电路 但要加一个24k 左右的电阻把电流限制在100uA 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 4 模拟功能模块的引脚大部分为固定的专用引脚 例如8路模拟输入AIN0 AIN7 比较器输入和DAC输出等 但有8路模拟输人是采用复用方式 即AIN1 0 AIN1 7 对于A D输入端最好加限压或限流保护 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 5 TMS TCK TDI和TDO引脚是专门用于JTAG接口的 所有的C8051F单片机都有这4个引脚 在片内集成了一个以JTAG协议为基础的调试电路 C8051F2xx等有的型号的JTAG接口没有边界扫描功能 2 2 2引脚定义及功能 2 2C805lF单片机的结构与原理 通过JTAG接口PC机实现对单片机闪存的读 写操作 并实现对单片机的在系统调试 且不需要专用仿真芯片 目标仿真头及目标RAM等 程序代码直接下载到用户的单片机闪存中 应用既经济又方便 不使用JTAG接口时 TMS TCK和TDI要直接接地或通过下拉电阻接地 6 MONEN引脚不能悬空 接VDD或地 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 C8051F单片机是一个完整的数据采集与控制系统 CIP 51内核 8051核 实际是这个单片机系统的核心控制部分 这部分起关键作用的是CPU 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 CPU主要是由运算器和控制器两大部分组成 控制器根据指令码产生控制信号 统一指挥和控制计算机工作 使运算器 存储器 输入输出端口之间能自动协调地工作 它由指令部件和控制逻辑部件等部件组成 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 CPU的功能是接收来自存储器中的逐条指令 进行指令译码 并通过定时和控制电路 在规定的时刻发出各种操作所需的全部内部控制信息及CPU外部所需的控制信号 使各部分协调工作 完成指令所规定的各种操作 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 运算器是用于对数据进行算术运算和逻辑操作的执行部件 包括算术 逻辑部件 ALU 累加器 ACC 暂存寄存器 程序状态字寄存器 PSW 通用寄存器等 为了提高数据处理和位操作功能 片内增加了一个通用寄存器区和一些专用寄存器 还增加了位处理逻辑电路的功能 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 单片机加电后 内部时钟电路立即开始工作 如果需要采用外部时钟电路 启动后可通过软件切换到外部时钟电路 在CPU启动后 首先从程序存储器的0000H地址取指令 开始执行程序 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 单片机的工作实质就是执行程序的过程 即逐条执行指令的过程 每执行一条指令都可分为3个阶段进行 即取指令 分析指令和执行指令 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 取指令取指令的任务是根据程序计数PC中的值 从程序存储器读出现行指令 送到指令寄存器 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 分析指令分析指令的任务是将指令寄存器中的指令操作码取出后 存放到指令译码器进行译码 分析其指令性质 如指令要求操作数 则寻找操作数地址 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 执行指令执行指令的任务是取出操作数 然后按照操作码的性质对操作数进行操作 即执行指令 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 在C8051F 单片机中的流水线结构使得取指令与执行指令是同步进行的 即在执行当前指令的同时 取下一条指令 这大大提高了指令运行速度 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 单片机刚加电时 外部或内部复位信号首先使单片机复位 多数各功能模块的初始复位状态均为停机等待 为最小功耗状态 如果要使哪些功能模块工作 则在程序的初始化部分首先通过软件对需要使用的各模块如定时器 模 数转换器等进行配置 使它们进入工作模式 对于所采用的行些模块的I O引脚 需要通过功能选择开关寄存器进行配置后 才能与外部联系 2 2 3C8051F单片机的工作原理 2 2C805lF单片机的结构与原理 一些功能模块的引脚是固定的 例如DAC CP0 CPO AIN0 AIN7等 当片上的4KBRAM不能满足要求 还需要增加数据存储器时 则在初始化部分还要配置存储器接口和相应的I O端门 显然 C8051F单片机的初始化过程要比其他单片机复杂 2 3存储器 存储器是计算机的主要组成部分 其用途是存放程序和数据 使计算机具有记忆功能 程序和数据在存储器中是以二进制代码表示的 根据计算机的命令 按照指定地址 可以把代码取出来或存入新代码 2 3存储器 C8051F系列单片机的存储器结构与一般通用计算机不同 一般通用计算机通常只有一个逻辑空间 即它的程序存储器和数据存储器是统一编址的 访问存储器时 同一地址对应惟一的存储空间 可以是ROM也可以是RAM 并用同类访问指令 这种存储器结构称为冯 诺伊曼结构 2 3 1存储器结构和地址空间 2 3存储器 而C8051F系列单片机的存储器结构与80C51系列是类似的 其程序存储器和数据存储器在物理结构上是分开的 这种结构称为哈佛结构 下图为C8051F02x的存储器结构与地址空间 图中虚线框内为片内存储器 可见 C8051F02x系列单片机的存储器在物理结构上可以分为以下4个存储空间 2 3 1存储器结构和地址空间 2 3存储器 2 3 1存储器结构和地址空间 2 3存储器 2 3存储器 在物理结构上分为以下4个存储空间 1 片内统一编址的64KB的程序存储器地址空间 用16位地址 2 256字节的CIP 51核内数据存储器地址空间 寻址范围为00H FFH 3 4KB片内数据存储器地址空间 4 64KB片外数据存储器地址空间 2 3 1存储器结构和地址空间 2 3存储器 通过采用不同形式的指令和不同的配置寄存器产生不同存储空间的选通信号 可以访问4个不同的逻辑空间 2 3 1存储器结构和地址空间 2 3存储器 程序存储器用于存放编好的程序和非易失性数据表格等 在C8051F系列单片机中 所有的程序存储器都采用可在系统编程的FLASH存储器 一般擦写次数为10万次 擦除时间为10ms 写入时间为50uS 2 3 2程序存储器 2 3存储器 1 程序存储器的结构和地址分配C8051F单片机的程序存储器容量不同 分别有8KB 16KB 32KB和64KB几种 例如C8051F02x片内有64KB 则程序计数器PC在0000H 0FFFFH范围内执行程序 C8051F02x的所有取指令操作均在片内程序存储器中进行 2 3 2程序存储器 2 3存储器 程序存储器中有512B FE00H FFFFH 保留给工厂使用 不能用于存储用户程序 位于地址010000H 01007FH的128B扇区可以作为非易失性数据存储器使用 但不能用于存储用户程序 该128B的扇区在程序存储器空间的逻辑地址为0000H 00FFH 将PSCTL寄存器中的AD FLASH位置1时 可以访问该扇区 2 3 2程序存储器 2 3存储器 2 程序存储器的人口地址在程序存储器中 以下22个单元具有特殊用途 0000H 单片机上电复位后 程序将自动从0000H开始执行指令 0003H 外部中断0入口 000BH 定时器0溢出中断入口 2 3 2程序存储器 2 3存储器 0013H 外部中断1入口 001BH 定时器1溢出中断入口 0023H UART0串行口中断入口 002BH 定时器2溢出中断入口 0033H SPI串行口中断入口 003BH SMBus中断入口 2 3 2程序存储器 2 3存储器 0043H ADC0中断入口 004BH 可编程计数器阵列中断入口 0053H 比较器0下降沿中断入口 005BH 比较器0上升沿中断入口 0063H 比较器1下降沿中断入口 006BH 比较器1上升沿中断入口 2 3 2程序存储器 2 3存储器 0073H 定时器3溢出中断入口 007BH ADC0转换结束中断入口 0083H 定时器4溢出中断入口 008BH ADC0转换结束中断入口 0093H 外部中断6中断入口 009BH 外部中断7中断入口 2 3 2程序存储器 2 3存储器 00A3H UARTl中断入口 00ABH 外部晶振准备好中断入口 上述地址中 0000H是单片机复位后的起始地址 通常设计程序时 应该在0000H 0002H存放一条无条件跳转指令 跳转到用户设计的主程序人口地址 2 3 2程序存储器 2 3存储器 0003H 000ABH之间的22个单元是外部中断0等的中断程序人口地址 通常在这些人口地址处存放一条绝对跳转指令 使程序跳转到用户安排的中断程序起始地址 虽然这22个地址是固定的 但有些型号没有22个中断源 因而有些地址对这些型号是空的 建议这些地址也最好保留备用 主程序人口地址最好从B3H开始 2 3 2程序存储器 2 3存储器 3 FLASH存储器编程寄存器通常程序存储器是只读的 而FLASH存储器可以通过JTAG接口或由软件使用MOVX指令对FLASH存储器进行在系统编程 每次一个字节 大大方便地重新编写程序 并可把程序存储器空间用于非易失性数据存储 2 3 2程序存储器 2 3存储器 对FLASH存储器编程的最简单的方法是使用由Silabs公司或第三方供应商提供的编程工具 通过JTAG接口编程 这是对未初始化过的单片机的唯一编程方法 2 3 2程序存储器 2 3存储器 也可以使用MOVX指令对FLASH存储器编程 像一般的操作数一样 为MOVX指令提供待编程的地址和数据 在使用MOVX指令对FLASH存储器写入之前 必须对PSCTL寄存器和FLSCL寄存器进行适当设置 下面介绍这2个寄存器 2 3 2程序存储器 2 3存储器 1 程序存储器读写控制寄存器 PSCTL 这个寄存器主要用于控制对程序存储器的读写操作 其复位值为00000000B 为可读写寄存器 其各位名及格式如下 2 3 2程序存储器 2 3存储器 下面说明各标志位的作用 位7 3未使用 读为0 写忽略 位2SFLE 临时闪存访问控制位 当SFLE 0时 用软件访问闪存时 将访问64KB的程序 数据闪存扇区 2 3 2程序存储器 2 3存储器 当SFLE 1时 用软件访问闪存时 将访问128B的临时闪存扇区 即10000H 1007FH范围的临时存储器 此时 所访问的00H 7FH地址 即10000H 1007FH范围的临时存储器 此时不应访问00H 7FH以外的地址范围 例如 不能访问82H等地址 对该地址范围以外的地址进行读 写操作可能产生不可预料的结果 2 3 2程序存储器 2 3存储器 位1PSEE 闪存擦除控制位 当PSEE 0时 禁止擦除闪存 当PSEE 1时 允许擦除闪存中的一页 前提是PSWE位也被置1 在将该位置1后 用MOVX指令进行一次写操作 将擦除包含MOVX指令寻址地址的那个闪存页 用于写操作的数据可以是任意值 2 3 2程序存储器 2 3存储器 位0PSWE 闪存写控制位 当PSWE 0时 禁止写闪存 当PSWE 1时 允许写闪存 此时可以用MOVX指令向闪存写一个字节 在写数据之前必须先进行擦除 2 3 2程序存储器 2 3存储器 2 闪存定时预分频寄存器 FLSCL 这个寄存器主要用于选择对程序存储器的读写操作时的预分频值 其复位值为10001111B 为可读写寄存器 其各位名称及格式如下 2 3 2程序存储器 2 3存储器 下面说明各标志位的作用 位7FOSE 闪存单稳态定时器控制位 位6FRAE 闪存一直读控制位 位5 0对于C8051F02x和其他单片机意义不同 具体使用时查手册 2 3 2程序存储器 2 3存储器 4 用软件对闪存编程的方法C8051F可以用MOVX指令可对闪存编程 但在使用MOVX指令前 必须把PSCTL寄存器中的程序存储写控制位PSWE设置为逻辑1 以允许对闪存的写操作 在用软件清除PSWE位之前 将一直允许写操作 为了避免对闪存的误写 建议在PSWE为1期间禁止中断 2 3 2程序存储器 2 3存储器 一旦把闪存中的某位清0 必须经过擦除才能恢复为1 所以在重新编程之前 必须先擦除待编程的地址空间 置为0FFH 为了保证操作正确 写和擦除操作由硬件自动定时 不需要进行数据查询来判断写 擦除操作何时结束 注意 不同型号单片机对于FLASH擦除和写入的具体时间是由FLSCL中的FLASCL位设定 2 3 2程序存储器 2 3存储器 闪存是以512B的扇区为单位组织的 一次擦除操作将擦除整个扇区 置为FFH 将程序存储擦除允许位PSEE PSCTL 1 和PSWE PSCTL 0 设置为逻辑1后 用MOVX命令写一个数据字节到扇区内的任何地址 将擦除整个512B的扇区 写入的数据字节可以是任意值 因为不是真正对闪存写入 2 3 2程序存储器 2 3存储器 下面是用软件对闪存编程的步骤 1 禁止中断 2 用FLSCL寄存器中的FLWE FLSCL 0 以允许闪存的写 擦除操作 对于C8051F02x 3 置位PSEE PSCTL 1 以允许擦除闪存扇区 2 3 2程序存储器 2 3存储器 4 置位PSWE PSCTL 0 以允许写入闪存 5 用MOVX指令向待擦除扇区内的任何一个地址写入一个字节数据 6 清除PSEE以禁止擦除闪存扇区 2 3 2程序存储器 2 3存储器 7 用MOVX指令向刚擦除的扇区中所期望的地址写入数据字节 并重复该步骤直到结束 8 清除PSWE以禁止FLASH写 9 重新允许中断 2 3 2程序存储器 2 3存储器 注意 在对闪存编程或擦除期间 CPU暂时停止执行程序 外设如串行口 AD和定时器等仍可继续工作 外设产生的中断此时将被挂起 在擦写完成后将按优先级顺序响应 对于C8051F02x单片机 写 擦除时序完全由硬件自动控制 2 3 2程序存储器 2 3存储器 5 非易失性临时数据存储区闪存除了用于存储程序代码之外 还可以用于非易失性数据存储 这一特性允许在程序运行时计算和存储一些不常改动的数据 如类似标定系数这样的数据 数据写入时用MOVX指令 读出时用MOVC指令 2 3 2程序存储器 2 3存储器 5 非易失性临时数据存储区C8051F02x单片机的闪存中有一个附加的128B扇区 称为临时存储器 可以用于存储非易失性数据 有的也可以存储程序 不同型号地址范围不同 如C8051F00 x 01X型号位于8000H 0807FH C8051F02x型号位于10000H 1007FH 对于C8051F00 x 01x和C8051F2xx型号 该扇区可用于存储程序代码或数据 而对于C8051F02x型号 该扇区只能用于存储数据 2 3存储器 5 非易失性临时数据存储区由于这个附加的扇区容量较小 所以更适合作为通用的非易失性临时存储器 闪存每次写一个字节 但首先必须擦除整个扇区 为了修改一个多字节数据列中的某一个字节 首先必须把整个数据列保存到一个临时存储区 然后将扇区擦除 更新数据列 最后将更新后的数据列写回到原扇区 2 3存储器 5 非易失性临时数据存储区对于C8051F02x单片机 这个附加的128B扇区与在64KB闪存中的部分地址是重叠的 它们共同的逻辑地址范围是0000H 007FH 为了访问该扇区 必须把PSCTL寄存器中的SFLE位设置为逻辑1 该扇区不能用于存储程序代码 2 3 2程序存储器 2 3存储器 6 安全选项C8051F系列单片机具有保密功能的安全选项 可以保护闪存不会被软件意外修改 并防止读取程序代码和常数 从而能保护知识产权 闪存读写控制寄存器PSCTL就是用于保护闪存不被软件修改 2 3 2程序存储器 2 3存储器 6 安全选项此外 通过设置安全锁定字节和软件读限制 可以使C8051F防止通过JTAG接口或通过运行在系统控制器上的软件读取和写 擦除程序代码及常数 2 3 2程序存储器 2 3存储器 7 读程序存储器程序存储器是用于存放用户程序的 在一般的工作情况下 单片机上电后 CPU就自动从程序存储器 闪存 的0000H地址开始逐条读取指令 并执行指令 2 3 2程序存储器 2 3存储器 单片机中的数据存储器主要用于存放经常要改变的中间运算结果 数据暂存或标志位等 通常都是由随机存储器 RAM 组成 C8051F单片机的数据存储器可分为核内 片内和片外3个部分 如果片内够用 则不必扩充片外的数据存储器 2 3 3数据存储器 2 3存储器 3个部分分别为1 CIP 51核内部的256B数据RAM2 CIP 51核外部的片内4KBRAM块 称为XRAM数据存储器空间 3 C8051F02x还提供64KB空间的外部数据存储器接口 可用于访问片外存储器以及与存储器统一编址的其他I O器件 2 3 3数据存储器 2 3存储器 1 核内数据存储器的结构及操作核内数据存储器为8位地址 寻址范围为00H FFH 对00H 7FH的访问可采用直接寻址方式和间接寻址的方式 对于80H FFH数据RAM区的访问只能采用间接寻址方式访问 2 3 3数据存储器 2 3存储器 核内数据存储器的结构 2 3存储器 1 通用工作寄存器区程序状态字PSW中RS1 RS0的设置来决定CPU当前使用哪一组 2 3存储器 2 位寻址区 2 3存储器 通用工作寄存器区和位寻址区在不用作寄存器或位寻址时 都可作为一般的用户数据区 3 用户RAM区30H 7FH地址空间为用户RAM区 通常可用于数据存取和堆栈区 2 3 3数据存储器 2 3存储器 2 片内数据存储器的结构及操作C8051F02x有4KB片内XRAM 寻址范围为000H FFFH 片内XRAM的低地址部分 00H 0FFH 和核内RAM的地址码是相同的 区分这2部分地址空间的方法是采用不同的寻址指令 访问核内RAM用 MOV 指令 访问片内XRAM用 MOVX 指令 2 3 3数据存储器 2 3存储器 3 片外数据存储器的结构及操作通过外部数据存储器接口EMIF 还可访问64KB的外部数据存储器或其他I O器件 寻址范围为0 FFFFH 区分这2部分地址空间的方法是 通过对外部存储器接口配置寄存器EMI0CF 2 3 3数据存储器 2 3存储器 3 片外数据存储器的结构及操作通过外部数据存储器接口EMIF 还可访问64KB的外部数据存储器或其他I O器件 寻址范围为0 FFFFH 区分这2部分地址空间的方法是 通过对外部存储器接口配置寄存器EMI0CF 2 3 3数据存储器 2 3存储器 片内数据存储器的高128字节地址80H FFH中分布着一定数量的专用寄存器SFR 例如C8051F02x中有122个专用寄存器SFR 而C8051F00 x 01x中有99个专用寄存器SFR等 它们主要用于管理片内和片外的功能部件 指定时器 中断系统及外部扩展的存储器 外围芯片等 用户通过对SFR进行编程操作 既可方便地管理与单片机有关的所有功能部件 又可方便地完成各种操作和运算 2 3 4专用寄存器SFR 2 3存储器 访问专用寄存器仅允许使用直接寻址的方式 专用寄存器并未占满80H FFH整个地址空间 对空闲地址的操作是无意义的 若访问到空闲地址 则读出的是随机数 2 3 4专用寄存器SFR 2 3存储器 下面介绍部分专用寄存器 1 程序状态字寄存器 PSW PSW是用于反映程序运行状态的8位寄存器 当CPU进行各种逻辑操作或算术运算时 反映了操作或运算结果的状态 这些标志位的状态 可由专门的指令来测试 也可通过指令读出 2 3 4专用寄存器SFR 2 3存储器 PSW格式如下 2 3 4专用寄存器SFR 2 3存储器 下面说明各标志位的作用 PF PARITY 奇偶标志 表示累加器A内容的奇偶性 在C8051F的指令系统中 凡是改变累加器A中内容的指令均影响奇偶标志位PF 当P 1时 表示有奇数个 1 当P 0时 表示有偶数个 1 程序状态字寄存器PSW 2 3存储器 F1 用户标志 由用户置位或复位 OV 溢出标志 该位表示在进行算术运算时 是否发生了溢出 在有符号数进行加 减运算时 当OV 1时 表示运算结果发生了溢出 当OV 0时 表示运算结果没有溢出 程序状态字寄存器PSW 2 3存储器 RS0 RS1 工作寄存器组选择位 用以选择当前所用的工作寄存器组 用户用软件改变RS0和RS1的组合 可以选择当前选用的工作寄存器组 单片机在复位后 RS0 RS1 0 CPU默认第0组为当前工作寄存器组 程序状态字寄存器PSW 2 3存储器 F0 用户标志位 同F1 AC 半进位标志 该位表示当进行加法或减法运算时 低半字节向高半字节是否进位或错位 当AC 1时 表示有进位或借位 当AC 0时 表示没有进位或借位 程序状态字寄存器PSW 2 3存储器 CY 进位标志 当进行加法或减法运算时 操作结果最高位 位7 是否有进位或有错位 当CY 1时 表示有进位或有借位 当CY 0时 表示没有进位或借位 在进行位操作时 CY又作为位操作累加器C 程序状态字寄存器PSW 2 3存储器 2 累加器 ACC ACC是8位寄存器 通过暂存器与ALU相连 是CPU中工作最繁忙的寄存器 进行算术 逻辑类操作时 运算器的操作数及运算结果多在ACC中 在指令系统中累加器的助记符为A 2 3 4专用寄存器SFR 2 3存储器 3 数据指针寄存器 DPTR 为便于对16位地址片内 片外存储器和外部扩展的I O器件访问 单片机中有1个16位的数据指针寄存器DPTR 作间址寄存器使用 也可拆成高字节DPH和低字节DPL两个独立的8位寄存器 地址 分别为82H 83H 2 3 4专用寄存器SFR 2 3存储器 4 B寄存器B寄存器作为一般的寄存器使用外 在乘法 除法运算中用来暂存其中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年住院医师规范培训(各省)-江苏住院医师风湿免疫科历年参考题库含答案解析(5卷单项选择题100题)
- 2025-2030全球及中国建筑能源软件行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030全球及中国卡布奇诺制造商行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025年住院医师规范培训(各省)-广西住院医师放射科历年参考题库含答案解析(5卷100题)
- 2025-2030便携式医疗真空系统行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025年住院医师规范培训(各省)-广东住院医师麻醉学历年参考题库含答案解析(5卷单选一百题)
- 2025年住院医师规范培训(各省)-山东住院医师超声诊断科历年参考题库含答案解析(5卷100题)
- 2025年注册会计师考试《会计》新准则解析与专项模拟试题库含答案
- 2025年住院医师规范培训(各省)-上海住院医师中医妇科历年参考题库含答案解析(5卷单选100题)
- 2025年住院医师考试-耳鼻咽喉科住院医师历年参考题库含答案解析(5卷单选100题)
- 六大茶类培训
- 2025-2030中国油田化学品行业市场深度调研及行情监测与投资前景研究报告
- 2025年乌鲁木齐危险品驾驶员模拟试题
- 2025至2030年中国间苯二甲醇市场分析及竞争策略研究报告
- 2025至2030中国质子束治疗系统行业产业运行态势及投资规划深度研究报告
- 外事安保活动方案
- 自主招生面试题及答案
- 深基坑监测管理制度
- 2025年甘肃省民航机场集团校园招聘45人笔试参考题库带答案详解
- 猪场生猪销售管理制度
- 初中教师坐班管理制度
评论
0/150
提交评论