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

📄 save_rf.lst

📁 湖北水文信息系统水位雨量采集器的C51源代码
💻 LST
字号:
C51 COMPILER V7.50   SAVE_RF                                                               10/08/2006 08:51:42 PAGE 1   


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

line level    source

   1          #include <SM89516A.H>
   2          #include "init.h"
   3          #include "scan.h"
   4          #include "common.h"
   5          
   6          unsigned char xdata RainFall_5Min[rf_dlen][2];
   7          /*********************************************************************
   8          * 函 数 名: void Save_rainfall(void)
   9          * 功能描述: 保存每5分钟雨量
  10          * 函数说明: 
  11          * 调用函数: 无
  12          * 全局变量:无
  13          * 输 入: 无
  14          * 返 回: 无
  15          * 设 计 者:
  16          ***********************************************************************/
  17          void Save_rainfall(void)
  18          {
  19   1              unsigned char new_rf[2]={0,0};
  20   1              static unsigned char len=0,rst=1;
  21   1        unsigned char i=0,j;
  22   1        unsigned int Total_RainFall=0;
  23   1      
  24   1              if(RainFall_5Min[0][0]==0xff)
  25   1              {
  26   2                      for(i=0;i<rf_dlen;i++)
  27   2                      for(j=0;j<2;j++)
  28   2                              RainFall_5Min[i][j]=0;   //每隔5min存储雨量 
  29   2                      
  30   2                      RainFall_5Min[rf_dlen-1][0]|=0x80;        
  31   2                
  32   2                      rst=0;
  33   2                      len=rf_dlen-1;
  34   2              }
  35   1      
  36   1      //------------确定当前存储位置----------------
  37   1              if(rst)
  38   1              {
  39   2                      rst=0;
  40   2                      for(i=0;i<rf_dlen;i++)
  41   2                      {
  42   3                              if(((RainFall_5Min[i][0]&0x80)==0x80)||(i==(rf_dlen-1)))
  43   3                          {
  44   4                                      len=i;
  45   4                                      break;
  46   4                              }
  47   3                      }               
  48   2              }
  49   1      
  50   1      //------------存储雨量数据----------------
  51   1          if(RainFall_5Min[len][0]&0x80!=0x80)
  52   1                                              len=rf_dlen-1;
  53   1                                              
  54   1                                              
  55   1          Total_RainFall=Scan_RainFall*Mult_Rainfall;
C51 COMPILER V7.50   SAVE_RF                                                               10/08/2006 08:51:42 PAGE 2   

  56   1              RainFall=Total_RainFall/Mult_Rainfall;//增加一行0818 by xupeng
  57   1          
  58   1          Scan_RainFall=0;
  59   1          
  60   1          new_rf[1]=(char)Total_RainFall;
  61   1                      new_rf[0]=(char)(Total_RainFall>>8)|0x80;
  62   1      
  63   1                      
  64   1                      RainFall_5Min[len][0]&=0x7f;
  65   1      
  66   1                      len++;
  67   1                      if(len>=rf_dlen)  
  68   1                                      len=0;
  69   1      
  70   1                      RainFall_5Min[len][0]=new_rf[0];
  71   1                      RainFall_5Min[len][1]=new_rf[1];
  72   1      
  73   1      }


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