<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 8051單片機操作K9KF5608 FLASH存儲器程序

8051單片機操作K9KF5608 FLASH存儲器程序

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò ) 收藏
//-----------------------函數聲明,變量定義--------------------------------------------------------
#include
#include
#include
#include
sbit FLASH_CLE=P1^0;
sbit FLASH_ALE=P1^1;
sbit FLASH_WE=P1^2;
sbit FLASH_WP=P1^3;
sbit FLASH_CE=P1^4;
sbit FLASH_RD=P1^5;
sbit FLASH_RB=P1^6;
void WriteCommand(unsigned char command);
void WriteAddress(
unsigned char H_ADR, //A16~A23 列地址
unsigned char M_ADR, //A8~A15
unsigned char L_ADR //A0~A7 行地址
);
void WRITEBYTE(unsigned char Wdata); //寫(xiě)一個(gè)數據到FLASH
unsigned char READBYTE(); //從FLSAH讀一個(gè)數據
void REC_data_process(unsigned char Rdata); //接收adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=fbb35db267215cd4&k=%CA%FD%BE%DD%B4%A6%C0%ED&k0=%CA%FD%BE%DD%B4%A6%C0%ED&kdi0=0&luki=4&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=d45c2167b25db3fb&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F2168%2Ehtml&urlid=0" id="2_nwl" mpid="2" target="_blank">數據處理,讀一頁(yè)時(shí),每讀一次處理一次
void READ_onepage1(); //連續讀一頁(yè)數據(528字節)
//--------------------------------------------------------------------------------------------------
// 函數名稱(chēng): WriteCommand
// 入口參數: command命令字
// 函數功能: 寫(xiě)命令字,開(kāi)始各種操作
//--------------------------------------------------------------------------------------------------
void WriteCommand(unsigned char command)
{
FLASH_ALE=0;
FLASH_CE=0;
FLASH_CLE=1;
FLASH_WE=0;
P0=command;
FLASH_WE=1;
FLASH_CLE=0;
FLASH_ALE=1;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱(chēng): WriteAddress
// 入口參數: H_ADR,M_ADR,L_ADR 行列地址
// 函數功能: 寫(xiě)地址
//--------------------------------------------------------------------------------------------------
void WriteAddress(
unsigned char H_ADR, //A16~A23 列地址
unsigned char M_ADR, //A8~A15
unsigned char L_ADR //A0~A7 行地址
)
{
FLASH_WE=1;
FLASH_CE=0;
FLASH_CLE=0;
FLASH_ALE=1;
FLASH_WE=0;
P0=L_ADR;
FLASH_WE=1;
_nop_();
FLASH_WE=0;
P0=M_ADR;
FLASH_WE=1;
_nop_();
FLASH_WE=0;
P0=H_ADR;
FLASH_WE=1;
_nop_();
FLASH_ALE=0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱(chēng): WRITEBYTE
// 入口參數: Wdata要寫(xiě)入 FLASH的數據
// 函數功能: 寫(xiě)一個(gè)數據到FLASH
//--------------------------------------------------------------------------------------------------
void WRITEBYTE(unsigned char Wdata) //寫(xiě)一個(gè)數據到FLASH
{
FLASH_WE=1;
FLASH_CLE=0;
FLASH_CE=0;
FLASH_ALE=0;
FLASH_WE=0;
_nop_();
P0=Wdata;
_nop_();
FLASH_WE=1;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱(chēng): READBYTE
// 出口參數: Rdata從FLASH讀出的數據
// 函數功能: 從FLSAH讀一個(gè)數據
//--------------------------------------------------------------------------------------------------
unsigned char READBYTE() //從FLSAH讀一個(gè)數據
{
unsigned char Rdata;
FLASH_WE=1;
FLASH_CLE=0;
FLASH_ALE=0;
FLASH_CE=0;
FLASH_RD=0; //準備好讀入
_nop_();
_nop_();
while(!FLASH_RB)//當讀信號無(wú)效時(shí),等待
{
}
Rdata=P0; //把P0口讀出的值存入ACC寄存器
//插入2個(gè)機器周期
_nop_();
_nop_();
FLASH_RD=1; //不再讀入
return(Rdata);
}
unsigned char READ_Status()
{
unsigned char Status;
WriteCommand(0x70);
Status=READBYTE();
return(Status);
}
//--------------------------------------------------------------------------------------------------
// 函數名稱(chēng): READ_onepage1
// 調用函數: WriteCommand
// WriteAddress
// REC_data_process();每接收一個(gè)數據,處理
// 函數功能: 連續讀一頁(yè)數據(528字節)
//--------------------------------------------------------------------------------------------------
void READ_onepage1() //連續讀一頁(yè)數據(528字節)
{
unsigned char d=528;
unsigned char Rec_data;
WriteCommand(0x00); //寫(xiě)讀的命令0x00或0x01
WriteAddress(0x00,0x00,0x00); //寫(xiě)讀的地址
while(d>0)
{
Rec_data=READBYTE();
REC_data_process(Rec_data);
d--;
}
FLASH_CE=1;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱(chēng): REC_data_process
// 入口參數: Rdata按頁(yè)讀時(shí),每次讀回的數據
// 函數功能:接收數據處理,讀一頁(yè)時(shí),每讀一次處理一次
//--------------------------------------------------------------------------------------------------
void REC_data_process(unsigned char Rdata) //接收數據處理,讀一頁(yè)時(shí),每讀一次處理一次
{
}


評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>