久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

8051單片機(jī)操作K9KF5608 FLASH存儲(chǔ)器程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年11月01日   【字體:

//-----------------------函數(shù)聲明,變量定義--------------------------------------------------------
#include <reg51.h>
#include <stdio.h>
#include <intrins.h>
#include <reg51.h>
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è)數(shù)據(jù)到FLASH
unsigned char READBYTE(); //從FLSAH讀一個(gè)數(shù)據(jù)
void REC_data_process(unsigned char Rdata); //接收數(shù)據(jù)處理,讀一頁(yè)時(shí),每讀一次處理一次
void READ_onepage1(); //連續(xù)讀一頁(yè)數(shù)據(jù)(528字節(jié))
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱(chēng): WriteCommand
// 入口參數(shù): command命令字
// 函數(shù)功能: 寫(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;
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱(chēng): WriteAddress
// 入口參數(shù): H_ADR,M_ADR,L_ADR 行列地址
// 函數(shù)功能: 寫(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;
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱(chēng): WRITEBYTE
// 入口參數(shù): Wdata要寫(xiě)入 FLASH的數(shù)據(jù)
// 函數(shù)功能: 寫(xiě)一個(gè)數(shù)據(jù)到FLASH
//--------------------------------------------------------------------------------------------------
void WRITEBYTE(unsigned char Wdata) //寫(xiě)一個(gè)數(shù)據(jù)到FLASH
{
FLASH_WE=1;
FLASH_CLE=0;
FLASH_CE=0;
FLASH_ALE=0;
FLASH_WE=0;
_nop_();
P0=Wdata;
_nop_();
FLASH_WE=1;
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱(chēng): READBYTE
// 出口參數(shù): Rdata從FLASH讀出的數(shù)據(jù)
// 函數(shù)功能: 從FLSAH讀一個(gè)數(shù)據(jù)
//--------------------------------------------------------------------------------------------------
unsigned char READBYTE() //從FLSAH讀一個(gè)數(shù)據(jù)
{
unsigned char Rdata;
FLASH_WE=1;
FLASH_CLE=0;
FLASH_ALE=0;
FLASH_CE=0;
FLASH_RD=0; //準(zhǔn)備好讀入
_nop_();
_nop_();
while(!FLASH_RB)//當(dāng)讀信號(hào)無(wú)效時(shí),等待
{
}
Rdata=P0; //把P0口讀出的值存入ACC寄存器
//插入2個(gè)機(jī)器周期
_nop_();
_nop_();
FLASH_RD=1; //不再讀入
return(Rdata);
}
unsigned char READ_Status()
{
unsigned char Status;
WriteCommand(0x70);
Status=READBYTE();
return(Status);
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱(chēng): READ_onepage1
// 調(diào)用函數(shù): WriteCommand
// WriteAddress
// REC_data_process();每接收一個(gè)數(shù)據(jù),處理
// 函數(shù)功能: 連續(xù)讀一頁(yè)數(shù)據(jù)(528字節(jié))
//--------------------------------------------------------------------------------------------------
void READ_onepage1() //連續(xù)讀一頁(yè)數(shù)據(jù)(528字節(jié))
{
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;
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱(chēng): REC_data_process
// 入口參數(shù): Rdata按頁(yè)讀時(shí),每次讀回的數(shù)據(jù)
// 函數(shù)功能:接收數(shù)據(jù)處理,讀一頁(yè)時(shí),每讀一次處理一次
//--------------------------------------------------------------------------------------------------
void REC_data_process(unsigned char Rdata) //接收數(shù)據(jù)處理,讀一頁(yè)時(shí),每讀一次處理一次
{
}

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 精品久久一区二区 | 欧美日韩国产三级 | 日韩欧美在线一区二区 | 欧美一区二区三区视频 | 少妇福利视频 | 91亚色视频 | 欧美视频免费看 | 欧美精品一级片 | 好色影院 | 免费亚洲婷婷 | 欧美人与野 | 亚洲国产日韩在线 | 天天cao | 欧美亚洲一区二区三区 | 久久久久久久久久国产精品 | 国产在线视频一区 | 欧美在线播放视频 | 在线观看日韩 | 欧美日韩精品在线 | 欧美激情网 | 国产一区二三区 | 亚洲 欧美 日韩 在线 | 亚洲视频在线观看一区 | 色一情一乱一乱一区91av | 欧美日韩免费 | heyzo在线观看 | 午夜在线观看视频网站 | 91片黄在线观看动漫 | 久久福利视频导航 | 日本在线视频一区 | 国产精品久久久久久久久久 | 久草免费在线视频 | 精品一区在线播放 | 国产传媒av | 天堂中文在线视频 | 一区二区三区久久久 | 国产欧美激情 | 亚洲精品国产精品国自产观看 | 亚洲日本精品 | 1级黄色片 | 日韩色黄大片 |