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

📄 flash.lst

📁 51单片机用c语言实例 包括ad
💻 LST
字号:
C51 COMPILER V7.09   FLASH                                                                 08/01/2005 10:32:13 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE FLASH
OBJECT MODULE PLACED IN Flash.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Flash.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /******************************************************/
   2          /*    文件名: Flash.c                                 */
   3          /*    功能描述: 编程扩展AT29C010, 了解Flash特性       */
   4          /******************************************************/
   5          
   6          #define START_ADDR     ((unsigned char volatile xdata *) 0x0000)
   7          #define ADDR_UNLOCK1   ((unsigned char volatile xdata *) 0x5555)
   8          #define ADDR_UNLOCK2   ((unsigned char volatile xdata *) 0x2AAA)
   9          
  10          sfr AUXR  = 0x8E;
  11          
  12          void delay()
  13          {
  14   1              unsigned int i;
  15   1              for(i=0; i<1000; i++);
  16   1      }
  17          
  18          void unprotect()                                // 取消软件数据保护
  19          {
  20   1              *ADDR_UNLOCK1 = 0xAA;
  21   1              *ADDR_UNLOCK2 = 0x55;
  22   1              *ADDR_UNLOCK1 = 0x80;
  23   1              *ADDR_UNLOCK1 = 0xAA;
  24   1              *ADDR_UNLOCK2 = 0x55;
  25   1              *ADDR_UNLOCK1 = 0x20;
  26   1      }
  27          
  28          void erase()                                    // 芯片擦除
  29          {
  30   1              *ADDR_UNLOCK1 = 0xAA;
  31   1              *ADDR_UNLOCK2 = 0x55;
  32   1              *ADDR_UNLOCK1 = 0x80;
  33   1              *ADDR_UNLOCK1 = 0xAA;
  34   1              *ADDR_UNLOCK2 = 0x55;
  35   1              *ADDR_UNLOCK1 = 0x10;
  36   1      }
  37          
  38          void unp_write()                                // 无保护写
  39          {
  40   1              unsigned int i;
  41   1              unsigned char *Des;
  42   1              Des = START_ADDR;
  43   1              for(i=0; i<128; i++)
  44   1              {
  45   2                      *Des = 0x55;                    //全部写0x55
  46   2                      Des++;
  47   2              }
  48   1      }
  49          
  50          void p_write()                                  // 带保护写
  51          {
  52   1              unsigned int i;
  53   1              unsigned char *Des;
  54   1              Des = START_ADDR;
  55   1              *ADDR_UNLOCK1 = 0xAA;
C51 COMPILER V7.09   FLASH                                                                 08/01/2005 10:32:13 PAGE 2   

  56   1              *ADDR_UNLOCK2 = 0x55;
  57   1              *ADDR_UNLOCK1 = 0xA0;
  58   1              for(i=0; i<128; i++)            //写0~128到Flash
  59   1              {
  60   2                      *Des = i;
  61   2                      Des++;
  62   2              }
  63   1      }
  64          
  65          void main()
  66          {
  67   1              AUXR = 0x2;
  68   1      
  69   1              p_write();              // 带保护写
  70   1              delay();
  71   1      
  72   1              unp_write();    // 不带保护写
  73   1              delay();
  74   1      
  75   1              unprotect();    // 去除保护
  76   1              unp_write();            
  77   1              delay();
  78   1      
  79   1              erase();                // 擦除 
  80   1      
  81   1              while(1);
  82   1      }
  83          
  84          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    195    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -