为确保顺利完成EEPROM 的SSP编程,用户软件必须按以下步骤设置:
(1) 用于代码/数据编程:
1. 关闭中断;
2. 根据地址设置 XPAGE,IB_OFFSET;
3. 按编程需要,设置 IB_DATA;
4. 按照顺序设置 IB_CON1 - 5;
5. 添加 4 个 NOP 指令;
6. 开始编程,CPU 将进入 IDLE 模式;烧写完成后自动退出 IDLE 模式;
7. 如需继续写入数据,跳转至第 2 步;
8. XPAGE 寄存器清 0,恢复中断设置。
(2) 用于扇区擦除:
1. 关闭中断;
2. 按相应的扇区设置 XPAGE;
3. 按照顺序设置 IB_CON1 - 5;
4. 添加 4 个 NOP 指令;
5. 开始擦除,CPU 将进入 IDLE 模式;擦除完成后自动退出 IDLE 模式;
6. 如需要继续擦除数据,跳转至第 2 步;
7. XPAGE 寄存器清 0,恢复中断设置。
(3) 读取:
使用“MOVC A,@A+DPTR”或者“MOVC A,@A+PC”指令。
(4) 对于类 EEPROM 区域
对于类 EEPROM 的操作类似于 Flash 的操作,即类似上述(1)/(2)/(3)部分的描述。区别在于:
1. 在对类 EEPROM 进行擦除、写或读之前,应首先将 FLASHCON 寄存器的最低位 FAC 位置 1。
2. 类 EEPROM 的扇区为 256 字节,而不是 1024 字节,类 EEPROM 大小为 2048 字节
注意:
1. 系统时钟不得低于 200kHz 以确保 FLASH 的正常编程
2. 当不需对类 EEPROM 操作时,必须将 FAC 位清 0
|