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

📄 flash128.lst

📁 c8051f020_uip1.0.rar
💻 LST
字号:
C51 COMPILER V9.00   FLASH128                                                              02/08/2010 20:58:32 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE FLASH128
OBJECT MODULE PLACED IN flash128.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE flash128.c LARGE BROWSE INCDIR(..\uip1.0\apps;..\uip1.0\uip;..\cp2200;..\cp
                    -2200;..\uip1.0\apps\dhcpc;..\uip1.0\apps\httpd) DEBUG OBJECTEXTEND

line level    source

   1          #include "FLASH128.h"
   2          #include "C8051f020.h"
   3          
   4          /*****************flash写******************************************/
   5          
   6          
   7          void flash_write(unsigned int dest,unsigned char *src,bit SFLE)
   8          {
   9   1              unsigned short i,num=128;
  10   1              
  11   1              
  12   1              if(SFLE)
  13   1              {
  14   2                      num = 128;
  15   2              }
  16   1              for(i=dest;i<dest+num;i++)
  17   1              {
  18   2                      flash_Bytewrite(i,*src++,SFLE);
  19   2              }
  20   1      }
  21          
  22          /*****************flash读******************************************/
  23          void flash_read(unsigned int dest,unsigned char *src,bit SFLE)
  24          {
  25   1              unsigned short i,num=38;
  26   1              if(SFLE)
  27   1              {
  28   2                      num=38;                 /*14+21+3字节*/
  29   2              }
  30   1              for(i=dest;i<dest+num;i++)
  31   1              {
  32   2                      *src++ = flash_Byteread(i,SFLE);
  33   2              }       
  34   1      }
  35          /*****************flash页擦除*****************************************/
  36          void flash_Pageerase(unsigned int addr,bit SFLE)
  37          {
  38   1              bit EA_SAVE = EA;
  39   1              char xdata * data pwrite;
  40   1              
  41   1              EA = 0;
  42   1              pwrite = (char xdata *)addr;
  43   1              
  44   1              FLSCL |= 0x01;
  45   1              PSCTL |= 0x03;
  46   1              if(SFLE)
  47   1              {
  48   2                      PSCTL |= 0x04;
  49   2              }
  50   1              
  51   1              *pwrite = 0x00;
  52   1              
  53   1              if(SFLE)
  54   1              {
C51 COMPILER V9.00   FLASH128                                                              02/08/2010 20:58:32 PAGE 2   

  55   2                      PSCTL &= ~(0x04);
  56   2              }
  57   1              
  58   1              PSCTL &= ~(0x03);
  59   1              FLSCL &= ~(0x01);
  60   1              
  61   1              EA = EA_SAVE;
  62   1      }
  63          
  64          /*****************flash字节写***************************************/
  65          
  66          void flash_Bytewrite(unsigned int addr,char byte,bit SFLE)
  67          {
  68   1              bit EA_SAVE = EA;
  69   1              
  70   1              char xdata * data pwrite;
  71   1              
  72   1              EA = 0;
  73   1              
  74   1              pwrite = (char xdata *)addr;
  75   1              
  76   1              FLSCL |= 0x01;     //允许FLASH写   
  77   1              PSCTL |= 0x01;     //允许写FLASH存储器 
  78   1              
  79   1              if(SFLE)
  80   1              {
  81   2                      PSCTL |= 0x04;  //访问128字节临时存储器扇区        
  82   2              }
  83   1              
  84   1              *pwrite = byte;
  85   1      
  86   1              if(SFLE)
  87   1              {
  88   2                      PSCTL &= ~(0x04);
  89   2              }
  90   1              
  91   1              PSCTL &= ~(0x01);
  92   1              FLSCL &= ~(0x01);
  93   1      
  94   1              
  95   1              EA = EA_SAVE;
  96   1      }
  97          
  98          /*****************flash字节读**************************************/
  99          unsigned char flash_Byteread(unsigned int addr,bit SFLE)
 100          {
 101   1              bit EA_SAVE = EA;
 102   1              
 103   1              char code * data pread;
 104   1              unsigned char byte;
 105   1              
 106   1              EA = 0;
 107   1              pread = (char code *)addr;
 108   1              
 109   1              if(SFLE)
 110   1              {
 111   2                      PSCTL |= 0x04;
 112   2              }
 113   1              
 114   1              byte = *pread;
 115   1              
 116   1              if(SFLE)
C51 COMPILER V9.00   FLASH128                                                              02/08/2010 20:58:32 PAGE 3   

 117   1              {
 118   2                      PSCTL &= ~(0x04);
 119   2              }
 120   1              EA = EA_SAVE;
 121   1              
 122   1              return byte;
 123   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    392    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      18
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       8
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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