找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 2767|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

C8051F020的XRAM和非易失性儲(chǔ)存

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-13 01:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
C8051F020有4Kbyte的XRAM和128byte的非易失性存儲(chǔ)(相當(dāng)于EEPROM)。首先在Keil中按下圖勾上兩個(gè)選項(xiàng)

那么要使用XRAM,只需將變量類型定義為XDATA即可,最好在定義上不要初始化,否則可能會(huì)有問題。如果需要使用非易失性儲(chǔ)存,就需要編寫驅(qū)動(dòng),也很容易,首先在操作前先關(guān)閉中斷;操作完成恢復(fù)中斷狀態(tài)即可,與之相關(guān)的寄存器是FLSCL和PSCTL,需要注意的是寫FLASH只能將1變?yōu)?,所以寫字節(jié)操作前需擦除整個(gè)扇區(qū),寫字節(jié)的變量類型為XDATA,用MOVX,而讀的話就是指向CODE,用MOVC,比如寫指針可以定義為ucharxdata *pwrite;讀的話可以定義為uchar code*pread;當(dāng)然給指針賦值時(shí)應(yīng)當(dāng)將轉(zhuǎn)化為指針變量,如pwrite=(uchar xdata *)=addr;pread=(ucharcode *)=addr;然后給指針指向的空間賦值就可以了。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表