C8051F020有4Kbyte的XRAM和128byte的非易失性存储(相当于EEPROM)。首先在Keil中按下图勾上两个选项
那么要运用XRAM,只需将变量类型界说为XDATA即可,最好在界说上不要初始化,不然或许会有问题。假如需求运用非易失性贮存,就需求编写驱动,也很简单,首先在操作前先封闭中止;操作完结康复中止状况即可,与之相关的寄存器是FLSCL和PSCTL,需求留意的是写FLASH只能将1变为0,所以写字节操作前需擦除整个扇区,写字节的变量类型为XDATA,用MOVX,而读的话便是指向CODE,用MOVC,比方写指针能够界说为uchar xdata *pwrite;读的话能够界说为uchar code *pread;当然给指针赋值时应当将转化为指针变量,如pwrite=(uchar xdata *)=addr;pread=(uchar code *)=addr;然后给指针指向的空间赋值就能够了。