STC12C5620AD系列单片机内部集成了EEPROM是与程序空间分开的,利用ISP/IAP技术可将内部的DataFlash当EEPROM,擦写次数在10万次以上。EEPROM可以分为若干个扇区。每个扇区512字节。使用时建议一次修改的数据放在同一个扇区,不是同一次修改的数据放在不同的扇区,不一定要用满,因为数据存储器的擦出操作是按扇区进行的。当电压较低时,不建议进行EEPROM/IAP操作。
STC在手册中已经给出了相应的函数方便用户进行读写擦出:
/*Define ISP/IAP/EEPROM command*/
#define CMD_IDLE 0 //Stand-By
#define CMD_READ 1 //Byte-Read
#define CMD_PROGRAM 2 //Byte-Program
#define CMD_ERASE 3 //Sector-Erase
/*Define ISP/IAP/EEPROM operation const for IAP_CONTR*/
//you need to choose a precompiled line accord to your SYSclk.
#define ENABLE_IAP 0x80 //if SYSCLK<30MHz#define ENABLE_IAP 0x81 //if SYSCLK<24MHz
#define ENABLE_IAP 0x82 //if SYSCLK<20MHz
#define ENABLE_IAP 0x83 //if SYSCLK<12MHz
#define ENABLE_IAP 0x84 //if SYSCLK<6MHz
#define ENABLE_IAP 0x85 //if SYSCLK<3MHz