新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 超大容量存儲器K9F2G08U0M及其在管道通徑儀中的應(yīng)用

超大容量存儲器K9F2G08U0M及其在管道通徑儀中的應(yīng)用

作者: 時間:2010-01-11 來源:網(wǎng)絡(luò) 收藏


下面是按頁讀操作函數(shù)的C語言代碼。
sbit RdyorBsy=P0^0;
unsigned char xdata * data pK9F;
void PageRead(unsigned int ColAdd,unsigned long
RowAdd,unsigned int len)
{
unsigned int i=0;
unsigned char ColTemp,RowTemp;
ColTemp=(unsigned char)(ColAdd>>8);
RowTemp=(unsigned char)(RowAdd>>16);
ColTemp =0x0F;
RowTemp =0x01;

pK9F=0x8002;
* pK9F=0x00;
pK9F=0x8001;
* pK9F=(unsigned char)(ColAdd);
* pK9F=ColTemp;
* pK9F=(unsigned char)(RowAdd);
* pK9F=(unsigned char)(RowAdd>>8);
* pK9F=RowTemp;
pK9F=0x8002;
* pK9F=0x30;

while(RdyorBsy);
while(!RdyorBsy);
pK9F=0x8000;
for(i=0;i
OutputData[i]= * pK9F;
}
3.2 頁編程
向器件寫入數(shù)據(jù)時先將數(shù)據(jù)寫入數(shù)據(jù)寄存器中,器件寫入操作是基于頁進(jìn)行的,同時允許在一個頁編程周期內(nèi)對一頁內(nèi)的連續(xù)部分編程。若不進(jìn)行擦除,則對同一頁的連續(xù)部分編程不能超過4次。
器件支持在1頁范圍內(nèi)的隨機(jī)數(shù)據(jù)輸入,由隨機(jī)輸入命令碼85H啟動,如圖6中虛線框內(nèi)部分所示,在1頁范圍內(nèi)可以啟動任意多次隨機(jī)輸入操作。數(shù)據(jù)輸入完畢后,寫入頁編程確認(rèn)命令10H,將數(shù)據(jù)寄存器中的內(nèi)容寫入存儲區(qū)。寫入完成后,需要讀狀態(tài)寄存器(通過寫入70H實(shí)現(xiàn))判斷操作是否成功。若未能成功寫入,應(yīng)將當(dāng)前塊聲明為壞塊,并進(jìn)行塊數(shù)據(jù)替換操作,以保證整個系統(tǒng)的可靠性。
此外應(yīng)注意,同一塊內(nèi)頁編程時必須從地址最低的頁開始向高地址的頁依次編程,頁地址隨機(jī)的頁編程是被禁止的。
下面是頁編程子函數(shù)的C語言代碼。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉