PIC微控制器的闪存编程步骤与注意事项
需积分: 15 73 浏览量
更新于2024-08-09
收藏 9.82MB PDF 举报
"这篇文档详细介绍了如何在PIC18F25K22、PIC18F45K22、PIC18LF25K22和PIC18LF45K22系列微控制器中对闪存程序存储器进行编程。这个过程涉及到一系列步骤,包括设置和操作特殊功能寄存器EECON1,以及使用表写指令TBLWT。"
在微控制器的闪存编程中,关键在于理解编程块的大小和操作限制。在这些特定的PIC微控制器中,编程块是64字节,并且不支持字或字节级别的编程。编程时,需要先将64字节的数据加载到内部的保持寄存器中,这通常通过TBLWT指令执行64次来完成,因为TABLAT寄存器只能一次处理一个字节。在数据写入所有保持寄存器后,通过配置EECON1寄存器启动编程操作,包括设置EEPGD和CFGS位来指定程序存储器,并启用WREN位以允许写操作。
编程流程涉及以下步骤:
1. 首先,将要写入的64字节数据读入RAM。
2. 更新RAM中的数据,如果需要的话。
3. 设置表指针寄存器(TBLPTR)指向待编程的地址。
4. 执行块擦除操作。
5. 将第一个要写入的字节地址再次装入TBLPTR。
6. 使用自动递增机制将64字节块写入保持寄存器。
7. 设置EECON1寄存器,准备执行写操作。
8. 关闭中断。
9. 分别写入55h和0AAh到EECON2。
10. 使能WR位,开始写周期。CPU在此期间会暂停工作,由内部编程定时器控制写操作,大约需要2毫秒。
11. 写操作完成后,重新开启中断。
12. 最后,通过表读操作校验存储器以确认写入是否成功。
值得注意的是,器件复位后,保持寄存器默认值为FFh,写入FFh不会改变其内容,这允许用户修改程序存储器的字节,除非是将位从0变为1。在这种情况下,无需在执行长写操作之前加载所有保持寄存器。
整个写操作块的过程大约需要6毫秒。示例代码(未在提供的文本中给出)可以帮助实现这个过程。重要的是在置位WR之前,确保表指针地址位于即将写入的保持寄存器地址范围内。
此文档还强调了使用Microchip微控制器时的一些法律条款和责任,包括对信息的准确性、知识产权的保护以及生命安全应用的风险提示。用户应始终参考Microchip的英文原版文档以获取最新和最完整的信息。
2022-07-15 上传
2018-05-07 上传
2008-05-06 上传
2023-04-05 上传
2023-04-02 上传
2023-07-11 上传
2023-05-12 上传
2023-06-04 上传
2024-01-05 上传
![](https://profile-avatar.csdnimg.cn/1a6c9b0a0b244b76ac901294b3adc49c_weixin_26735445.jpg!1)
锋锋老师
- 粉丝: 24
- 资源: 3923
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南