• 大小: 45KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签:

资源简介

51读写W25X16程序,已应用于实际的产品开发中,可直接拿来使用

资源截图

代码片段和文件信息


//€$€$€$€$€$€$€$€$€$€$€$€$€$€€$€$€$€$€$€$€$€$€$€$€$€$€$€$€$$
#include   //包含位移和_nop_();
#include “STC12C5A60S2.H“

//***************************************************************

void WriteDisable (void); //写禁止
void WriteEnable  (void); //写允许
unsigned char W25X_BUSY_OrNot (void); //判忙碌
void W25X_ChipErase(void);  //片擦除
void W25X_BlockErase(unsigned long Addre24);
void W25X_SectorErase(unsigned long Addre24); //擦除资料图示的4KB空间
 //读数据可以无限次,这里是由缓冲决定的大小
void W25X_Flash_Byte_Read (unsigned long Addre24unsigned char Quantity);//多字节读FLASH(1~256)  -W25X32-000000-3FFF00(4M)-
void W25X_Flash_Byte_Write(unsigned long Addre24unsigned char Quantity); //往FLASH里写一个或多个字节(小于256字节)

unsigned char Read_OneByte(void);   //从SPI收8位数
void Send_OneByte(unsigned char DATA8);
void InitSerial(void);  //串行口初始化.通信速率9600bps 在22.1184MHz晶振频率
void Delay100ms(unsigned int _100ms); //100ms级延时

//进度: 发一个指令OK 写允许OK 读状态OK 读写一个字节OK

unsigned char xdata Send_DATA[256];  //要发送的数据
unsigned char xdata Recv_DATA[256];  //已接收的数据 如2个数,则为Recv_DATA[0] Recv_DATA[1]
unsigned char * Send_Pionter;
unsigned char * Recv_Pionter;

void main()  
  {
  unsigned char    BUSY;    //判忙碌
  unsigned long Addre24;    //24位的Flash地址 
  unsigned char  x=0;
  unsigned char  A;
  unsigned char  B;
  unsigned char  C;
  unsigned long  D; 

 //************************ 
  A=0; B=0; C=0; D=0;
  Delay100ms(2);
  if(x) 
 {
 WriteDisable ();            //写禁止

     W25X_ChipErase();           //片擦除
     W25X_SectorErase(Addre24);  //4K擦除   
     W25X_BlockErase (Addre24);  //64K块擦除

     BUSY=W25X_BUSY_OrNot(); //判忙碌
     W25X_Flash_Byte_Read (Addre2421); //读FLASH
     W25X_Flash_Byte_Write(Addre2421);  //写入
     }
//*************************
  P1M0=0xB0;
  InitSerial();  //串行口初始化.通信速率9600bps 在22.1184MHz晶振频率

  Send_Pionter = &Send_DATA[0];  //发送指针取地址
  Recv_Pionter = &Recv_DATA[0];  //接收指针取地址

  for (D=0;D<256;D++)
     {
Send_DATA[D]=D;
Recv_DATA[D]=0;
 }

  W25X_SectorErase(Addre24); Delay100ms (4); //4K擦除  
  
//**************************
 
  W25X_Flash_Byte_Write(0x000000255);  //写N个数
  W25X_Flash_Byte_Read (0x000000255);  //读X个数
  

  while(1)
    {

   SBUF  =A;
   while(TI==0);
   TI=0; 
   SBUF  =Recv_DATA[A] ;
   while(TI==0);
   TI=0; 
   Delay100ms(1);
   A++;

}    
  } // End of Main

//*******************END of Main****************************



//   ----W25X系统Flash读写---SUNYA注----
//sbit CS          = P1^4; //选通  
//sbit DIO         = P1^5;  //单片机输出
//sbit DO          = P1^6; //FLASH输出
//sbit SCLK        = P1^7; //时钟
//读写SPI口模拟模式3时钟平时为高电平

//#define W25X_ReadStatus       0x05 //读状态寄存器
//#define W25X_WriteStatus      0x01 //写状态寄存器
//#define W25X_ReadDATA8        0x03 //普读_数据
//#define W25X_FastRead         0x0B //快读_数据
//#define W25X_DualOutput       0x3B //快读_双输出
//#define W25X_Write            0x02 //写_数据_0~255个字节
//#define W25X_S_Erase

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6376  2005-03-22 15:22  W25X32_CON\STARTUP.A51

     文件      14061  2010-08-20 07:01  W25X32_CON\STARTUP.LST

     文件        749  2010-08-20 07:01  W25X32_CON\STARTUP.OBJ

     文件      19204  2009-02-21 16:34  W25X32_CON\STC12C5A60S2.H

     文件       9987  2009-02-22 13:17  W25X32_CON\W25X32.c

     文件      17720  2010-08-20 07:01  W25X32_CON\W25X32.LST

     文件      18042  2010-08-20 07:01  W25X32_CON\W25X32.OBJ

     文件       2845  2010-08-20 07:01  W25X32_CON\W25X32_CONT.hex

     文件         54  2010-08-20 07:01  W25X32_CON\W25X32_CONT.lnp

     文件      20301  2010-08-20 07:01  W25X32_CON\W25X32_CONT.M51

     文件      15261  2010-08-20 07:01  W25X32_CON\W25X32_CONT.mpw

     文件       2046  2010-08-20 07:01  W25X32_CON\W25X32_CONT.mpw.opt.bak

     文件        202  2010-08-20 15:03  W25X32_CON\W25X32_CONT.mpw.plg

     文件       2195  2010-08-20 07:01  W25X32_CON\W25X32_CONT.mpw.Uv2.bak

     文件      56149  2010-08-20 15:03  W25X32_CON\W25X32_CONT.mpw.uvopt

     文件      13418  2010-08-20 08:15  W25X32_CON\W25X32_CONT.mpw.uvproj

     文件      56149  2010-08-20 08:15  W25X32_CON\W25X32_CONT.mpw_uvopt.bak

     文件       2053  2009-02-22 13:48  W25X32_CON\W25X32_CONT_mpw_Opt.Bak

     文件       2205  2009-02-20 15:38  W25X32_CON\W25X32_CONT_mpw_Uv2.Bak

     目录          0  2010-10-08 18:01  W25X32_CON

----------- ---------  ---------- -----  ----

               259017                    20


评论

共有 条评论

相关资源