K9F5608A的51單片機(jī)驅(qū)動(dòng)程序
掃描二維碼
隨時(shí)隨地手機(jī)看文章
K9F5608A的MCS-51單片機(jī)驅(qū)動(dòng)程序主要包括函數(shù)聲明管腳定義部分、命令操作函數(shù)以及數(shù)據(jù)輸出函數(shù)。
(1)函數(shù)聲明管腳定義部分主要完成程序所涉及的庫(kù)函數(shù)的聲明及有關(guān)引腳的定義,一般置于程序的開(kāi)頭部分,代碼如下:
(2)命令操作函數(shù)NFCommand()。
NfCommand()函數(shù)實(shí)現(xiàn)向K9F5608發(fā)送操作命令,程序代碼如下:
(3)地址發(fā)送函數(shù)NfAddre()。
NfAddre()函數(shù)完成向K9F5608發(fā)送3字節(jié)地址數(shù)據(jù),程序代碼如下:
(4)頁(yè)讀函數(shù)。
頁(yè)讀函數(shù)實(shí)現(xiàn)對(duì)K9F5608數(shù)據(jù)的頁(yè)讀功能,主要包括ReadPageF()、ReadPage()和ReadPageS()等3種函數(shù),相關(guān)程序代碼如下:
(5)字節(jié)讀函數(shù)。
字節(jié)讀函數(shù)包括ReadByte()和ReaDSPare()兩種,其中函數(shù)ReadByte()實(shí)現(xiàn)只讀取一個(gè)字節(jié)功能,ReadSpare()完成保留字節(jié)的單字節(jié)讀功能。程序代碼如下:
(6)字節(jié)寫(xiě)函數(shù)。
與字節(jié)讀函數(shù)對(duì)應(yīng),字節(jié)寫(xiě)函數(shù)包括WirteByte()和WirteSpare()兩種,其中函數(shù)RWirteByte()實(shí)現(xiàn)只寫(xiě)入一個(gè)字節(jié)功能,WirteSpare()完成保留字節(jié)的單字節(jié)寫(xiě)功能。程序代碼如下:
(7)頁(yè)寫(xiě)函數(shù)。
頁(yè)寫(xiě)函數(shù)包括WirtePage()函數(shù)和WirtePageF()等兩個(gè)函數(shù),其中WirtePage()函數(shù)可連續(xù)讀寫(xiě)256字節(jié)的數(shù)據(jù),WirtePageF()函數(shù)可連續(xù)讀512字節(jié)的數(shù)據(jù),具體的程序代碼如下:
(8)狀態(tài)讀函數(shù)ReadStatus()。
狀態(tài)讀函數(shù)ReadStatus()用于判斷操作是否正取,當(dāng)IOO為0時(shí),操作成功,為1時(shí)操作失敗,程序代碼如下:
(9)塊擦除函數(shù)EraseBLOCk()。
塊擦除函數(shù)EraseBlock()可實(shí)現(xiàn)數(shù)據(jù)塊的擦除功能,程序代碼如下:
(10)備份函數(shù)CopyBack()。
備份函數(shù)CopyBack()可完成數(shù)據(jù)的備份復(fù)制功能,程序代碼如下:
(11)ID號(hào)讀去函數(shù)intReadID()。
intReadID()函數(shù)可讀取NandFlash芯片的ID號(hào),具體的程序代碼如下: