C8051F32X内部的16kbflash,除了可用于存放程序代码外,还可存放非易失数据。
通过flash的IAP在系统写入方式,可以快速,简单地将数据写到flash的指定地址空间内进行保存,即单片机片内的flash具有类似EEPROM的数据存储功能。其技术指标、性能如下。
(1)技术指标写入寿命100k次(10万次),写入每个字节的时间为55μs,页擦除时间为20ms。
(2)擦除、写入性能数据写入flash时使用movx指令,读出flash时使用movc指令。
在对Flash用IAP方式写入时,每次只能写一个字节。但擦除必须是对整个扇区进行删除(1扇区=512字节)。
修改少量字节的方法:需将整个数据扇区保存到一个临时存储区,在将扇区擦除后,再将更新的数据块写回原扇区。在写擦flash的初始,要先设置,使能片内的Vdd监视器。
在数据写入flash时,可清除其数据位;但不能将数据位置1;只能通过擦除,才可以使flash以扇区为单位全部置1。
在对flash进行写、擦时,必须向flash的锁定和关键码寄存器按顺序写入特征字(0xa5,0xfl),才能成功写、擦flash。