⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash_rw.lst

📁 基于at89c51单片机的mp3 flash芯片读写实验代码
💻 LST
字号:
C51 COMPILER V7.50   FLASH_RW                                                              01/15/2006 18:33:17 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE FLASH_RW
OBJECT MODULE PLACED IN Flash_RW.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Flash_RW.C LARGE ROM(COMPACT)

line level    source

   1          #include "AT89C51SND1_REG.H"
   2          #include "Flash_RW.H"
   3          #include "MCU_UART.H"
   4          
   5          
   6          void Flash_Reset()
   7          { 
   8   1              K9F_FUN = COMMAND;                     
   9   1              K9F5608 = 0xff;       
  10   1              K9F_FUN = INACTIVE;
  11   1      }
  12          
  13          void ReadFlashID(unsigned char *MID,unsigned char *DID)
  14          {
  15   1              K9F_FUN = COMMAND;
  16   1              K9F5608 = 0x90;
  17   1              K9F_FUN = ADDRESS;
  18   1          K9F5608 = 0;
  19   1              K9F_FUN = D_DATA;
  20   1              *MID = K9F5608; 
  21   1              *DID = K9F5608;
  22   1              K9F_FUN = INACTIVE;
  23   1       }
  24          
  25          
  26          void ReadPage(unsigned int BlockPage,unsigned char *PageBuf)
  27          {
  28   1          unsigned int data i;
  29   1      
  30   1              K9F_FUN = COMMAND;
  31   1              K9F5608 = 0x00;
  32   1              K9F_FUN = ADDRESS;
  33   1          K9F5608 = 0;                                //A0-A7
  34   1          K9F5608 = BlockPage;            //A9-A16
  35   1              K9F5608 = BlockPage >> 8;   //A17-A24 
  36   1              K9F_FUN = D_DATA;
  37   1      
  38   1              i = 512;
  39   1          while(!(K9F_FUN & RB));
  40   1      
  41   1              while(i--) 
  42   1                      *PageBuf++ = K9F5608;
  43   1              K9F_FUN = INACTIVE;
  44   1       }
  45          
  46          
  47          
  48          void BlockErase(unsigned int BlockPage)
  49          {
  50   1          K9F_FUN = COMMAND;
  51   1          K9F5608 = 0x60;
  52   1          K9F_FUN = ADDRESS;
  53   1          K9F5608 = BlockPage;
  54   1              K9F5608 = BlockPage >> 8;
  55   1          K9F_FUN = COMMAND;                                            
C51 COMPILER V7.50   FLASH_RW                                                              01/15/2006 18:33:17 PAGE 2   

  56   1          K9F5608 = 0xd0;
  57   1          K9F_FUN = D_DATA;
  58   1          while(!(K9F_FUN & RB));
  59   1              K9F_FUN = INACTIVE;
  60   1      }
  61          
  62          void WritePage(unsigned int BlockPage,unsigned char *PageBuf)
  63          {
  64   1              unsigned int data i;
  65   1              K9F_FUN = COMMAND;
  66   1              K9F5608 = 0x80;
  67   1              K9F_FUN = ADDRESS;
  68   1              K9F5608 = 0;                  //A0-A7    
  69   1              K9F5608 = BlockPage;      //A9-A16  
  70   1              K9F5608 = BlockPage >> 8; //A17-A24
  71   1              K9F_FUN = D_DATA;
  72   1              i=512;
  73   1              while(i--)
  74   1                      K9F5608 = *PageBuf++;
  75   1              K9F_FUN = COMMAND;
  76   1              K9F5608 = 0x10;
  77   1              K9F_FUN = D_DATA;
  78   1          while(!(K9F_FUN & RB));
  79   1              K9F_FUN = INACTIVE;
  80   1      }
  81          
  82          void CopyBack(unsigned int S_BlockPage,unsigned int D_BlockPage)
  83          {
  84   1          K9F_FUN = COMMAND;
  85   1          K9F5608 = 0x00;
  86   1          K9F_FUN = ADDRESS;
  87   1          K9F5608 = 0;                                         //A0-A7
  88   1          K9F5608 = S_BlockPage;               //A9-A16
  89   1          K9F5608 = S_BlockPage >> 8;          //A17-A24 
  90   1          K9F_FUN = D_DATA;
  91   1          while(!(K9F_FUN & RB)); 
  92   1        
  93   1          K9F_FUN = COMMAND;
  94   1          K9F5608 = 0x8a;
  95   1          K9F_FUN = ADDRESS;
  96   1          K9F5608 = 0;                                         //A0-A7
  97   1          K9F5608 = D_BlockPage;           //A9-A16
  98   1          K9F5608 = D_BlockPage >> 8;          //A17-A24 
  99   1          K9F_FUN = D_DATA;
 100   1          while(!(K9F_FUN & RB));
 101   1              K9F_FUN = INACTIVE;
 102   1      }
 103          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    328    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      12
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -