• eon
    了解作者
  • C/C++
    开发工具
  • 8KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 2
    下载次数
  • 2013-04-10 08:09
    上传日期
FLASH存储器K9F6408U0A的读写控制程序,上机测试正常!
K9F6408U0A.rar
  • 4.7FLASH存储器K9F6408U0A的控制
  • K9F6408U0A.OBJ
    6.3KB
  • temp
    2KB
  • K9F6408U0A.c
    6KB
  • K9F6408U0A.LST
    8.8KB
  • flash.plg
    197B
  • flash.Opt
    1022B
  • flash.Uv2
    1.9KB
内容介绍
//-----------------------函数声明,变量定义-------------------------------------------------------- #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); //写一个数据到FLASH unsigned char READBYTE(); //从FLSAH读一个数据 void REC_data_process(unsigned char Rdata); //接收数据处理,读一页时,每读一次处理一次 void READ_onepage1(); //连续读一页数据(528字节) //-------------------------------------------------------------------------------------------------- // 函数名称: WriteCommand // 入口参数: command命令字 // 函数功能: 写命令字,开始各种操作 //-------------------------------------------------------------------------------------------------- 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, //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; } //-------------------------------------------------------------------------------------------------- // 函数名称: WRITEBYTE // 入口参数: Wdata要写入 FLASH的数据 // 函数功能: 写一个数据到FLASH //-------------------------------------------------------------------------------------------------- void WRITEBYTE(unsigned char Wdata) //写一个数据到FLASH { FLASH_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_(); while(!FLASH_RB)//当读信号无效时,等待 { } Rdata=P0; //把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();每接收一个数据,处理 // 函数功能: 连续读一页数据(528字节) //-------------------------------------------------------------------------------------------------- void READ_onepage1() //连续读一页数据(528字节) { unsigned char d=528; unsigned char Rec_data; WriteCommand(0x00); //写读的命令0x00或0x01 WriteAddress(0x00,0x00,0x00); //写读的地址 while(d>0) { Rec_data=READBYTE(); REC_data_process(Rec_data); d--; } FLASH_CE=1; } //-------------------------------------------------------------------------------------------------- // 函数名称: REC_data_process // 入口参数: Rdata按页读时,每次读回的数据 // 函数功能:接收数据处理,读一页时,每读一次处理一次 //-------------------------------------------------------------------------------------------------- void REC_data_process(unsigned char Rdata) //接收数据处理,读一页时,每读一次处理一次 { }
评论
    相关推荐
    • K9F2G08U0B-9752624.zip
      mini2440 nandflash芯片。里面讲解了使用这个K9F2G08U0B编程芯片的方法。
    • K9F2G08U0A.rar
      256m flash K9F2G08U0A的datasheet资料,比较详尽。
    • K9F1G08U0D-SCB0000.pdf.tar.gz
      K9F2G08U0C datasheet
    • K9F1G08U0B.rar
      开发板K9F1G08U0B的说明书 开发板K9F1G08U0B的说明书
    • 4.7FLASH-K9F6408U0A.rar
      7FLASH存储器K9F6408U0A的控制
    • K9F5608U0B.rar
      K9F5608U0B编程,具体描述了flash的编程技巧和方法。
    • k9f28xxu0c-Chinese-data-Manual.rar
      k9f28xxu0c中文数据手册 16M 8 位8M 16 位NAND Flash 存储器K9F28XXU0C 概述 K9F28XXU0C 是一个含有4M 位备用容量的128M 位Flash 存储器提供16M 8 位或8M 16 位两种 结构它的Vcc 为3.3V 其NAND 单元为固态海量...
    • K9F2G08U0A.rar
      nand flash的资料很好的参考学习有帮助开发
    • K9F2G08U0A.zip
      256M x 8 Bit NAND Flash Memory
    • 三星K9F2G08R0A&K9F2G08U0A;中文数据手册.rar
      本文档提供的为256Mx8bit的版本,K9F2G08X0A是2G-bit大小的NAND Flash存储器,带有64Mbit额外数据区(OOB区、冗余区)。 此 NAND存储颗粒为固态存储市场应用提供了最具成本效益的解决方案。编程(写入)操作可以在200µs...