微芯片技术的闪存程序存储器操作指南
需积分: 50 55 浏览量
更新于2024-08-09
收藏 6.49MB PDF 举报
"这篇文档是关于PIC16F1826微控制器的闪存程序存储器的使用和操作的概述,主要涉及闪存的结构、读写操作以及注意事项。"
在微控制器 PIC16F1826 中,闪存程序存储器是一种重要的非易失性存储器类型,它按照行进行组织,每行包含固定数量的14位程序存储器字。行是可擦除的基本单位,用户可以通过特定的操作擦除和重新编程这些行。擦除操作后,行内的任何部分都可以被再次编程。写入数据时,数据首先会被暂存到14位宽的数据写锁存器中,用户无法直接访问这些锁存器,但可以通过EEDATH和EEDATL寄存器对来间接加载数据。
编程过程中,如果行大小不等于写锁存器的数量,可能需要多次启动编程操作以完成对整个行的重新编程。例如,一个有32字行大小和8个写锁存器的器件,可能需要四次编程操作来完整地重写一行。具体行大小和写锁存器的数量因器件型号而异,如表11-1所示,对于PIC16(L)F1826/27,行大小为32字,且边界设定为EEADRL<4:0>=00000。
读取闪存程序存储器的操作则涉及到以下步骤:
1. 设置低有效地址位和高有效地址位到EEADRH:EEADRL寄存器对。
2. 清零EECON1寄存器的CFGS位。
3. 设置EECON1寄存器的EEPGD控制位。
4. 最后,置位EECON1寄存器的RD控制位。一旦RD置1,数据将在第二个指令周期被读取,并存储在EEDATH:EEDATL寄存器对中,可供后续指令读取。
需要注意的是,若要修改已编程的行的一部分,需要先读取整个行并保存在RAM中,然后进行擦除操作。此外,对于程序存储器的读指令,后续的两条指令应为NOP,以防双周期指令的执行。无论CP位设置如何,都可以读取闪存程序存储器。
在使用PIC16F1826微控制器时,理解和掌握这些关于闪存程序存储器的操作细节至关重要,因为它直接影响到程序的存储、更新和保护。在实际应用中,务必遵循提供的指导,以避免潜在的问题和错误。
233 浏览量
2024-03-10 上传
2014-07-20 上传
2022-08-26 上传
2015-05-27 上传
2008-11-26 上传
2011-04-04 上传
吴雄辉
- 粉丝: 46
- 资源: 3751
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建