微芯片闪存程序存储器操作指南

需积分: 50 105 下载量 186 浏览量 更新于2024-08-10 收藏 6.84MB PDF 举报
"闪存程序存储器的概述集中在对PIC16F/LF1825/1829等器件的编程和读取操作上,强调了擦除、编程过程以及读取机制。" 在微控制器领域,闪存程序存储器是一种重要的非易失性存储器类型,用于存储程序代码和某些配置数据。在11.3章节中,介绍了闪存程序存储器的基本操作,特别是对于PIC16F/LF1825/1829这样的芯片。这些器件的闪存程序存储器按照行进行操作,每一行包含了固定数量的14位程序存储字。行是擦除操作的最小单位,用户可以通过软件进行擦除。 擦除和编程闪存有特定的条件,比如目标地址必须位于未被写保护的存储段内,这部分由配置字2的WRT<1:0>位定义。在擦除一行后,用户可以重新编程该行的全部或部分数据。编程过程中,数据写入14位宽的数据写锁存器,用户无法直接访问这些锁存器,而是通过EEDATH:EEDATL寄存器对填充数据。锁存器的数量并不等于行单元数,因此编程可能需要多次操作,如对于一个有8个写锁存器且行大小为32个字的器件,可能需要执行4次编程操作。 读取闪存程序存储器的步骤包括设置低和高有效地址,清除EECON1寄存器的CFGS位,设置EECON1的EEPGD控制位,然后置位RD控制位。一旦RD被置位,数据将在下一个指令周期读取,可用作两个字节。值得注意的是,如果想要修改已编程行的一部分,需要先读取整个行并保存到RAM中,然后在擦除后进行更新。 表11-1列出了不同器件的闪存构成,例如PIC16F/LF1825/1829,它们的擦除块(行)大小为32字,边界由EEADRL<4:0>确定,写锁存器数量也为32字,边界同样由EEADRL<4:0>决定。此外,读取操作后的两条指令必须是NOP,防止双周期指令的执行。无论CP位设置如何,都可以读取闪存程序存储器。 这份资料还提醒用户,Microchip Technology Inc.提供的中文版本仅供参考,重要信息仍需参考英文原版。使用Microchip的器件时,买方需自行承担风险,Microchip不对信息的准确性或使用后果负责。此外,Microchip的知识产权受到法律保护,未经授权不得转让。