微芯片单片机擦除闪存程序存储器步骤详解

需积分: 3 71 下载量 159 浏览量 更新于2024-08-08 收藏 8.12MB PDF 举报
该文主要介绍了在PIC18F45K80微控制器中擦除闪存程序存储器的过程,以及涉及的相关寄存器设置和步骤。文章内容基于Microchip Technology Inc.的数据手册。 在微控制器编程中,擦除闪存程序存储器是一个关键操作,特别是对于那些使用闪存存储代码和数据的设备。在PIC18F45K80这款芯片中,擦除操作是以32个字或64字节的块为单位进行的,不支持字级别的擦除。在擦除过程中,高16位的TBLPTR寄存器用于指定要擦除的块的地址,而低6位被忽略。控制擦除操作的关键寄存器是EECON1,需要设置EEPGD位为1以指向闪存程序存储器,CFGS位清零以访问程序存储器,同时设置WREN位使能写操作,以及FREE位使能擦除操作。 擦除序列的详细步骤如下: 1. 设置表指针寄存器(TBLPTR)为要擦除的块地址。 2. 配置EECON1寄存器,包括设置EEPGD、CFGS、WREN和FREE位。 3. 禁止中断以确保操作的原子性。 4. 写入EECON2的特定序列(55h然后是0AAh)来启动擦除过程。 5. 设置EECON1的WR位开始擦除操作,此时CPU会暂停执行,直到擦除完成。 6. 擦除结束后,重新启用中断。 在示例代码中,给出了擦除一行闪存程序存储器的具体C语言实现,包括加载地址到TBLPTR寄存器,配置EECON1寄存器,并执行EECON2的写启动序列。 需要注意的是,擦除操作会暂停CPU的执行,直至内部编程定时器结束长写周期。这个过程对于保证数据的安全性和完整性至关重要,同时也强调了在进行这类操作时中断管理的重要性。 此外,文档还提醒读者,尽管提供了中文翻译,但应以英文原文为准,因为英文版可能包含更详细的信息和技术规格。Microchip Technology Inc.对其知识产权有严格的保护,并明确指出不为任何潜在的误解或错误翻译承担责任,用户在使用Microchip器件时应遵循技术规范,自行承担应用风险。在生命维持和生命安全应用中使用Microchip器件,所有责任由用户自负。