




免费预览已结束,剩余65页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
存储器是单片机的一个非常重要的部件 专门用于存放指令 数据和运算结果 PIC16F877单片机配置了三大存储器模块 8K 14位Flash型程序存储器 512 8位RAM型数据存储器 256 8位E2PROM型数据存储器 3 1存储器分类 从使用功能上 存储器可为 随机存储器RAM RandomAccessMemory 和只读存储器ROM ReadOnlyMemory 两类 随机存储器RAM又称为读 写存储器 用于存放从外部读入的程序 各种输入 输出的数据和运算结果 通信缓冲区 外设的内存映像区和堆栈一般也安排在RAM中 只读存储器ROM通常用于存放固化的程序和常用表格 如微机中的监控程序和BIOS配置等 3 2程序存储器架构 程序指针计数器PC宽13位 其输出的13位地址最大可寻址8K程序存储器空间 编码范围为0000H 1FFFH 由于PIC单片机指令代码的限制 CALL指令和GOTO指令代码只能提供11位的调用和转移地址 即2K范围 为实现2K范围外的调用和转移 需用特殊的方式 因此 将8K程序存储器以2K为单位进行分页 共分成4页 程序存储器的分页 页0地址范围0000H 07FFH 页1地址范围0800H 0FFFH 页2地址范围1000H 17FFH 页3地址范围1800H 1FFFH 特殊功能寄存器PCLATH的Bit4 Bit3为程序存储器页面选择位 3 3数据存储器构架 RAM是用寄存器实现的 每个单元都可以实现移位 置位 复位和位测试 所以又称为文件寄存器 理论上讲有512个RAM单元 在管理上分成4个体 每128个RAM单元为1个体 3 3 1通用寄存器 PIC16F877单片机的通用寄存器 GPR 可由用户根据程序设计的需要 自行支配存取过程数据或计算数值 通用寄存器在单片机上电复位后 一般各单元的内容是不确定的 尽管在单片机程序运行中时常发现在系统复位后的RAM单元内容处于清0状态 但使用者应注意并养成良好的程序设计习惯 绝不能以此为依据而直接使用 实际上通用RAM并不足512个单元 仅有368个单元 这是因为 有19个单元保留未用 有77个特殊功能寄存器 体1 体2和体3的最后16个单元地址映射到体0的070H 07FH 这样可用RAM单元的总数为 512 19 77 48 368 3 3 2特殊功能寄存器 特殊功能寄存器是为某种专用目的而设计的特殊寄存器 每个寄存器单元 甚至每一位名称的构成方式 都有自己特定的名称和功能 特殊功能寄存器主要涉及算术逻辑运算结果的状态 PIC基本功能结构 专用功能模块的配置和数据通信方式等内容的定义和系统信息的返回窗口 是单片机赖以正常运行的媒介和工作平台 因此 特殊功能寄存器又称为专用寄存器 按用途分为两类 一类是与CPU内核相关的寄存器 另一类是与专用模块相关的寄存器 本章仅介绍最常用的几个特殊功能寄存器 其他寄存器则放在各种功能部件和外围模块的介绍中讲解 为了更好地说明各位参数 把需要设置定义后才起作用的位参数称为主动参数 而需要根据指令执行结果系统自动返回状态信息的位参数称为被动参数 主动参数和被动参数 几个专业术语 对某寄存器单元或某位赋值 0 称为 清0 对某寄存器单元或某位赋值 1 称为 置位 或 置1 对于模块中断功能的设定 以 使能 表示 最常用的几个专用寄存器 1 状态寄存器STATUS地址 03H 83H 103H 183H 状态寄存器用于记录算术逻辑单元ALU的运算结果状态和CPU的特殊运行状态以及RAM数据存储器体选择等信息 状态寄存器STATUS Bit0 C 进位 借位标志 被动参数 0 执行加法 或减法 指令时 如果最高位无进位 或有借位 1 执行加法 或减法 指令时 如果最高位有进位 或无借位 状态寄存器各位的定义如下 Bit1 DC 辅助进位 借位标志 被动参数 0 执行加法 或减法 指令时 如果低4位向高4位无进位 或有借位 1 执行加法 或减法 指令时 如果低4位向高4位有进位 或无借位 Bit2 Z 零标志 被动参数 0 算术运算或逻辑运算结果不为0 1 算术运算或逻辑运算结果为0 Bit6 Bit5 RP1 RP0 数据存储器体选择位 主动参数 仅用于直接寻址 PIC16F877单片机寄存器直接寻址 7位地址直接从指令中获取 2位地址从STATUS寄存器中获取 Bit7 IRP RAM数据存储器体选位 主动参数 仅用于间接寻址 0 选择数据存储器的低位体 体0或体1 地址是000H 0FFH 1 选择数据存储器的高位体 体2或体3 地址是100H 1FFH PIC16F877单片机寄存器间接寻址 8位地址来自FSR寄存器 1位地址从STATUS寄存器中获取 直接寻址 间接寻址方式示意图 2 间接寻址寄存器FSR INDF FSR INDF用于间接寻址 但需注意 INDF为非物理存在的寄存器 对INDF的操作实际上是以FSR的内容作为要操作的RAM单元的低8位地址 PIC16F877单片机间接寻址 movlw0 x20movwfFSRLOOPclrfINDFincfFSR FbtfssFSR 7gotoLOOP 例 清除从0 x20到0 x7F所有RAM单元的内容 程序指针计数器PC宽13位 其内容总是CPU要执行的下一条指令所在的程序存储器的地址 所以执行一条指令后PC自动加1 通常可以将PC指针分成PCL和PCH两部分 3 与PC指针相关的寄存器PCL和PCLATH PCLPC的低8位有专用地址 02H 82H 102H 182H PCHPC的高5位PCH不在RAM中 是根本不存在的 用户不可访问 只能通过PCLATH进行间接加载 寄存器PCLATH在RAM中是真实存在的 地址 0AH 8AH 10AH 18AH 因此 可以认为寄存器PCLATH是程序计数器PC的高位地址 5位 而且是通过特殊的方式装载到PCH中 PCLATH对于高5位PCH的装载分2种情况 一种情况是当执行以PCL为目标的写操作指令时 PC的低8位来自算术逻辑单元ALU PC的高5位来自PCLATH的低5位 另一种情况是当执行跳转指令GOTO或调用子程序指令CALL时 PC的低11位来自指令码中直接携带的11位地址 高2位由PCLATH3 4提供 1 当执行以PCL为目标的写操作指令时 PC的低8位来自算术逻辑单元ALU PC的高5位来自PCLATH的低5位 2 当执行跳转指令GOTO或调用子程序指令CALL时 PC的低11位来自指令码中直接携带的11位地址 高2位由PCLATH3 4提供 PIC16F877单片机程序指针计数器PC的装载之一 PIC16F877单片机程序指针计数器PC的装载之二 4 选项寄存器OPTION REG 可读 写的寄存器8位地址 81H 体1 181H 体3 主要用于设置定时器 计数器TMR0 前后分频器 外部INT中断及RB的弱上拉功能等各种控制位 OPTION REG选项寄存器 Bit2 Bit0 PS2 PS0 分频器倍率选择位 主动参数 其倍率与分频器位值的关系如下表 Bit3 PSA 预计数器分配位 前后分频器分配位 主动参数 预计数器是一个分频器 它是通过开关设置给定时器0 TMR0 和看门狗WDT分时复用 0 将预计数器分配给TMR0 作为TMR0的前分频器 1 将预计数器分配给WDT 作为WDT的后分频器 Bit4 T0SE TMR0用于计数器时 外部时钟信号的边沿选择位 主动参数 0 RA4 T0CKI引脚上的信号上升沿有效 增量 1 RA4 T0CKI引脚上的信号下降沿有效 增量 Bit5 T0CS TMR0计数脉冲时钟信号源选择位 主动参数 0 用内部指令周期时钟作为TMR0的触发脉冲 1 用RA4 T0CKI引脚上的外部时钟作为TMR0的触发脉冲 Bit6 INTEDG InterruptEdgeSelect 外中断沿选择位 主动参数 0 外中断RB0 INT选择上升沿触发 1 外中断RB0 INT选择下降沿触发 Bit7 RBPU PORTBPull upEnable 端口B弱上拉使能位 主动参数 0 使能端口B的弱上拉功能 1 禁止端口B的弱上拉功能 5 电源控制寄存器地址8EH电源控制寄存器只有2个有效位 其中一位用来记录和区分是否发生了上电复位和手动复位或看门狗超时溢出复位 另外一位记录用来记录和鉴别是否发生了掉电复位 电源控制寄存器 Bit0 BOR 电源上电复位标志 被动参数 0 发生了上电复位 当发生上电复位时 系统自动清零 应及时用软件将其置位 以便能再次使用该位判断是否发生上电复位 1 未发生上电复位 两个有效位的含义如下 Bit1 POR 掉电锁定复位标志 被动参数 0 发生了掉电锁定复位 当发生掉电锁定复位时 系统自动清0 应及时用软件将其置位 以便能再次利用该位判断是否发生了电源掉电锁定复位 1 未发生掉电锁定复位 3 4失电保护数据存储器构架 E2PROM数据存储器 特点 失电数据不丢失 可以进行读 写操作 自动采用先擦除后写入方式 容量 256 8位 地址 00H FFH 不能直接访问 只能通过特殊功能寄存器间接访问 涉及E2PROM数据存储器读 写操作的特殊功能寄存器共有4个 1 EEDATA2 EEADR3 EECON14 EECON2 EEDATA 是一个专用数据读 写寄存器 用于临时存放对于E2PROM数据存储器进行读 写操作的数据 该寄存器的内容是将要读 写的E2PROM数据存储器里的数据 地址 RAM体2的10CH EEADR 是一个专用地址读 写寄存器 用于临时存放对于E2PROM数据存储器进行读 写操作的单元地址 该寄存器的内容是将要读 写的E2PROM数据存储器的地址 地址 RAM体2的10DH 自E2PEOM中读出的数据或要写入E2PROM的数据 将要读 写的E2PEOM的地址 30H 11001100 EECON1 E2PROM数据存储器读 写控制寄存器1 主要用于读 写方式的设定和初始化控制 地址 体3的18CH EECON1的4 6位是无效定义 其他各位的含义如下 Bit0 RD E2PROM数据存储器读操作启动控制位兼状态位 1 启动一次读操作 软件主动置位 0 还没有启动读操作 或表示一次读操作已经完成 由硬件自动清0 Bit1 WR E2PROM数据存储器写操作启动控制位兼状态位 1 启动一次写操作 软件主动置位 0 还没有启动写操作 或表示一次写操作已经完成 由硬件自动清0 Bit2 WREN E2PROM写操作允许位 主动参数 设置WREN 1 允许写E2PROM 设置WREN 0 禁止写E2PROM Bit3 WRERR E2PROM写过程错误标志位 被动参数 当WRERR 1时 一次写操作没有执行完毕 被手动复位或WDT复位 当WRERR 0时 一次写操作完成 没有发生错误 Bit7 EEPGD Flash程序存储器 E2PROM数据存储器选择位 当EEPGD 1时 访问Flash程序存储器 当EEPGD 0时 访问E2PROM数据存储器 EECON2 E2PROM数据存储器读 写控制寄存器2 EECON2寄存器是一个虚拟寄存器 它专用于防止在存储器写序列中的非法写操作 向E2PROM数据存储器写数据必须插入一串特殊的指令序列 连续将特定的通用参数55H和0AAH写入EECON2 地址 体3的18DH E2PROM数据存储器的读和写操作 1 读操作 读E2PROM数据存储器只需将希望访问的地址写入到EEADR寄存器中 EECON1的Bit7 EEPGD 选择位清零 在RD位置1后 在下一个指令周期数据就放到EEDATA寄存器 EEDATA寄存器将保持这个值到下一个 读 操作初始化或到被软件写 读E2PROM数据存储器具体可以分为如下几个步骤 清EERGD选择位 表示访问E2PROM数据存储器 置位RD 启动读操作 从EEDATA寄存器读取数据 注意 RD位不能用软件清0 在读操作完成之后硬件自动清0 2 写操作 首先清EEPGD位 然后使WREN置位 当WREN置位后 置位WR 用于初始化写操作 即启动向E2PROM数据存储器写入数据操作 注意 WREN和WR不能在同一操作中置位 不能同时置位 必须WREN在前 WR在后 在写操作进行过程中对WREN清0不影响写的过程 WR位不能用软件清0 但在写操作完成之后硬件自动清0 在某些误操作情况下 单片机不能把数据正确写入E2PROM数据存储器中 为了防止误操作 PIC16F877单片机建立了各种保护机制 写E2PROM数据存储器的步骤如下 如果第10步没有执行 首先检查WR标志位 看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水滴画发言稿
- 时间拓扑课件
- 趣味布玩偶制作指南
- 课堂跑步动画课件
- 生产管理培训课程
- 2025版语音助手升级录音合同升级录音合同模板
- 2025版酒店装修设计施工一体化合同
- 二零二五年度房地产项目监理服务合同范本
- 二零二五年度KTV装修设计专利授权合同
- 2025版文化产业第三方股权转让合同书
- 2025年蛟川书院分班测试题及答案
- 飞机数字孪生与预测性维护集成
- 2025《煤炭购销合同》
- 2025年行政执法证考试必刷题库与答案
- 基孔肯雅热防控知识考试试题含答案
- 2025年机关事业单位技能资格考试-文秘资料技师历年参考题库含答案解析(5卷套题【单项选择题100题】)
- 低钾血症护理常规业务学习
- 吉林化工(危险化学品)、医药企业电气设备设施安全隐患排查指南
- 劳动用工考试试题及答案
- 护理消毒液的配置
- 2025年职业指导师(四级)考试模拟试题汇编与模拟试题解析
评论
0/150
提交评论