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

📄 k9f6408u0a.lst

📁 单片机接口技术实用子程序配套源代码
💻 LST
字号:
C51 COMPILER V7.06   K9F6408U0A                                                            04/06/2005 21:47:01 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE K9F6408U0A
OBJECT MODULE PLACED IN K9F6408U0A.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil20\C51\BIN\C51.EXE K9F6408U0A.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //-----------------------函数声明,变量定义--------------------------------------------------------
   2          #include <reg51.h>
   3          #include <stdio.h>
   4          #include <intrins.h>
   5          #include <reg51.h>
   6          sbit FLASH_CLE=P1^0;
   7          sbit FLASH_ALE=P1^1;
   8          sbit FLASH_WE=P1^2;
   9          sbit FLASH_WP=P1^3;
  10          sbit FLASH_CE=P1^4;
  11          sbit FLASH_RD=P1^5;
  12          sbit FLASH_RB=P1^6;
  13          void WriteCommand(unsigned char command);
  14          void WriteAddress(
  15                             unsigned char H_ADR,          //A16~A23 列地址
  16                             unsigned char M_ADR,          //A8~A15
  17                             unsigned char L_ADR           //A0~A7  行地址 
  18                                            );
  19          void WRITEBYTE(unsigned char Wdata);              //写一个数据到FLASH
  20          unsigned char READBYTE();             //从FLSAH读一个数据
  21          void REC_data_process(unsigned char Rdata);           //接收数据处理,读一页时,每读一次处理一次
  22          void READ_onepage1();                                  //连续读一页数据(528字节)
  23          
  24          //--------------------------------------------------------------------------------------------------
  25          // 函数名称: WriteCommand
  26          // 入口参数: command命令字
  27          // 函数功能: 写命令字,开始各种操作
  28          //--------------------------------------------------------------------------------------------------
  29          void WriteCommand(unsigned char command)
  30                           {
  31   1                         FLASH_ALE=0;
  32   1                         FLASH_CE=0;
  33   1                         FLASH_CLE=1;
  34   1                         FLASH_WE=0;
  35   1                         P0=command;
  36   1                         FLASH_WE=1;
  37   1                         FLASH_CLE=0;
  38   1                         FLASH_ALE=1;
  39   1                        } 
  40          //--------------------------------------------------------------------------------------------------
  41          // 函数名称: WriteAddress
  42          // 入口参数: H_ADR,M_ADR,L_ADR 行列地址
  43          // 函数功能: 写地址
  44          //--------------------------------------------------------------------------------------------------
  45          void WriteAddress(
  46                             unsigned char H_ADR,          //A16~A23 列地址
  47                             unsigned char M_ADR,          //A8~A15
  48                             unsigned char L_ADR           //A0~A7  行地址 
  49                                            )
  50                             {
  51   1                         FLASH_WE=1;
  52   1                         FLASH_CE=0;
  53   1                         FLASH_CLE=0;
  54   1                         FLASH_ALE=1;
  55   1                         FLASH_WE=0;
C51 COMPILER V7.06   K9F6408U0A                                                            04/06/2005 21:47:01 PAGE 2   

  56   1                         P0=L_ADR;
  57   1                         FLASH_WE=1;
  58   1                         _nop_();
  59   1                         FLASH_WE=0;
  60   1                         P0=M_ADR;
  61   1                         FLASH_WE=1;
  62   1                         _nop_();
  63   1                         FLASH_WE=0;
  64   1                         P0=H_ADR;
  65   1                         FLASH_WE=1;
  66   1                         _nop_();
  67   1                         FLASH_ALE=0;
  68   1                         }
  69          //--------------------------------------------------------------------------------------------------
  70          // 函数名称: WRITEBYTE
  71          // 入口参数: Wdata要写入 FLASH的数据
  72          // 函数功能: 写一个数据到FLASH
  73          //--------------------------------------------------------------------------------------------------
  74          void WRITEBYTE(unsigned char Wdata)    //写一个数据到FLASH
  75                             {
  76   1                         FLASH_WE=1;
  77   1                         FLASH_CLE=0;
  78   1                         FLASH_CE=0;
  79   1                         FLASH_ALE=0;
  80   1                         FLASH_WE=0;
  81   1                         _nop_();
  82   1                         P0=Wdata;
  83   1                         _nop_();
  84   1                         FLASH_WE=1;
  85   1                         }
  86          //--------------------------------------------------------------------------------------------------
  87          // 函数名称: READBYTE
  88          // 出口参数: Rdata从FLASH读出的数据
  89          // 函数功能: 从FLSAH读一个数据
  90          //--------------------------------------------------------------------------------------------------
  91          unsigned char READBYTE()              //从FLSAH读一个数据
  92                             {
  93   1                         unsigned char Rdata;
  94   1                         FLASH_WE=1;
  95   1                         FLASH_CLE=0;
  96   1                         FLASH_ALE=0;
  97   1                         FLASH_CE=0;
  98   1                         FLASH_RD=0;      //准备好读入                  
  99   1                         _nop_();
 100   1                         _nop_();
 101   1                         while(!FLASH_RB)//当读信号无效时,等待      
 102   1                         {                                            
 103   2                         }    
 104   1                         Rdata=P0;     //把P0口读出的值存入ACC寄存器 
 105   1                              //插入2个机器周期
 106   1                         _nop_();
 107   1                         _nop_();
 108   1                         FLASH_RD=1;    //不再读入 
 109   1                         return(Rdata); 
 110   1                         }
 111          
 112                             unsigned char READ_Status()
 113                             {
 114   1                         unsigned char Status;
 115   1                         WriteCommand(0x70);
 116   1                         Status=READBYTE();
 117   1                         return(Status);
C51 COMPILER V7.06   K9F6408U0A                                                            04/06/2005 21:47:01 PAGE 3   

 118   1                         }
 119          //--------------------------------------------------------------------------------------------------
 120          // 函数名称: READ_onepage1
 121          // 调用函数: WriteCommand
 122          //            WriteAddress
 123          //            REC_data_process();每接收一个数据,处理
 124          // 函数功能: 连续读一页数据(528字节)
 125          //--------------------------------------------------------------------------------------------------
 126          void READ_onepage1()                                  //连续读一页数据(528字节)
 127                             {
 128   1                         unsigned char d=528;
 129   1                         unsigned char Rec_data;
 130   1                         WriteCommand(0x00);                //写读的命令0x00或0x01
 131   1                         WriteAddress(0x00,0x00,0x00);      //写读的地址
 132   1                         while(d>0)
 133   1                         {
 134   2                         Rec_data=READBYTE();
 135   2                         REC_data_process(Rec_data);               
 136   2                         d--;
 137   2                         }
 138   1                         FLASH_CE=1;
 139   1                         }
 140          
 141          void REC_data_process(unsigned char Rdata)     //接收数据处理,读一页时,每读一次处理一次
 142                             {
 143   1                         } 
*** WARNING C280 IN LINE 141 OF K9F6408U0A.C: 'Rdata': unreferenced local variable
 144          
 145          
 146          
 147          
 148          
 149          
 150          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    135    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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