8051单片机操作K9KF5608FLASH存储器程序_第1页
8051单片机操作K9KF5608FLASH存储器程序_第2页
8051单片机操作K9KF5608FLASH存储器程序_第3页
8051单片机操作K9KF5608FLASH存储器程序_第4页
8051单片机操作K9KF5608FLASH存储器程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8051单片机操作 K9KF5608 FLASH存储器程序/ 函数声明,变量定义#include ;#include ;#include ;#include ;sbit FLASH_CLE=P1A0;sbit FLASH_ALE=PM1;sbit FLASH_WE=P1A2;sbit FLASH_WP=P1A3;sbit FLASH_CE=P1A4;sbit FLASH_RD=P1A5;sbit FLASH_RB=P1A6;void WriteCommand(unsigned char command); void WriteAddress(unsigned char H_ADR, /A16A

2、23 列地址 unsigned char M_ADR, /A8A15 unsigned char L_ADR /A0A7 行地址);void WRITEBYTE(unsigned char Wdata); / 写一个数据 到 FLASHunsigned char READBYTE(); / 从 FLSAH读一个数据 void REC_data_process(unsigned char Rdata); /接收数据处理,读一页时,每读一次处理一次void READ_onepage1(); / 连续读一页数据( 528 字节) / 函数名称: WriteCommand/ 入口参数:command命

3、令字/ 函数功能: 写命令字,开始各种操作/ 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;/ 函数名称: WriteAddress/ 入口参数: H_ADR,M_ADR,L_ADR亍列地址/ 函数功能: 写地址/ void WriteAddress(unsigned char H_ADR, /A16A23 列地址unsigned char M_ADR, /A8A15unsign

4、ed char L_ADR /A0A7 亍地址)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;/ 函数名称: WRITEBYTE/ 入口参数: Wdata 要写入 FLASH 的数据/ 函数功能: 写一个数据到 FLASH写一个数据到/ void WRITEBYTE(unsigned char

5、Wdata) / FLASHFLASH_WE=1;FLASH_CLE=0;FLASH_CE=0;FLASH_ALE=0;FLASH_WE=0;_nop_();P0=Wdata;_nop_();FLASH_WE=1;/ 函数名称: READBYTE/出口参数: Rdata从FLASH读出的数据/函数功能:从FLSAH读一个数据/unsigned char READBYTE() /从 FLSAH读一个数据unsigned char Rdata; FLASH_WE=1;FLASH_CLE=0;FLASH_ALE=0;FLASH_CE=0;FLASH_RD=0; /准备好读入_nop_();_nop_

6、();while(!FLASH_RB)/ 当读信号无效时,等待Rdata=PO; / 把P0 口读出的值存入 ACC寄存器/ 插入 2 个机器周期_nop_();_nop_();FLASH_RD=1; /不再读入return(Rdata);unsigned char READ_Status()unsigned char Status;WriteCommand(0x70);Status=READBYTE(); return(Status);/ 函数名称: READ_onepage1/ 调用函数: WriteCommand/ WriteAddress/ REC_data_process(); 每接

7、收一个数据,处理/ 函数功能: 连续读一页数据( 528 字节)/ void READ_onepage1() / 连续读一页数据( 528 字节) unsigned char d=528;unsigned char Rec_data;WriteCommand(0x00); / 写读的命令 0x00 或 0x01WriteAddress(0x00,0x00,0x00); /写读的地址while(d>0)Rec_data=READBYTE();REC_data_process(Rec_data);d-;FLASH_CE=1;/ 函数名称: REC_data_process/ 入口参数: Rd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论