|
C8051F020有4Kbyte的XRAM和128byte的非易失性存儲(相當于EEPROM)。首先在Keil中按下圖勾上兩個選項
那么要使用XRAM,只需將變量類型定義為XDATA即可,最好在定義上不要初始化,否則可能會有問題。如果需要使用非易失性儲存,就需要編寫驅動,也很容易,首先在操作前先關閉中斷;操作完成恢復中斷狀態即可,與之相關的寄存器是FLSCL和PSCTL,需要注意的是寫FLASH只能將1變為0,所以寫字節操作前需擦除整個扇區,寫字節的變量類型為XDATA,用MOVX,而讀的話就是指向CODE,用MOVC,比如寫指針可以定義為ucharxdata *pwrite;讀的話可以定義為uchar code*pread;當然給指針賦值時應當將轉化為指針變量,如pwrite=(uchar xdata *)=addr;pread=(ucharcode *)=addr;然后給指針指向的空間賦值就可以了。
|
|