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

📄 init.lst

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


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

line level    source

   1          #include "sm89516a.h"
   2          #include "time.h"
   3          #include "string.h"
   4          #include "scan.h"
   5          #include "common.h"
   6          #include "process.h"
   7          #include "recframe.h"
   8          #include "i2c.h"
   9          #include "save_rf.h"
  10          #include "cond.h"
  11          
  12          
  13          /*********************************************************************
  14          * 函 数 名: void mult_rainfall_init(void)
  15          * 功能描述: 雨量倍数初始化
  16          * 函数说明: 
  17          * 调用函数: 无
  18          * 全局变量:无
  19          * 输 入: 无
  20          * 返 回: 无
  21          * 设 计 者:
  22          ***********************************************************************/
  23          void mult_rainfall_init(void)
  24          {
  25   1                      unsigned char mult_init;
  26   1                      
  27   1                      R_block(WPAGE5,RPAGE5,i2c_addr_mult_rainfall,&mult_init,1);      
  28   1                      if(mult_init==0xff)
  29   1                      {   
  30   2                                      mult_init=0x31;
  31   2                                              
  32   2                                      W_block(WPAGE5,i2c_addr_mult_rainfall,&mult_init,1);
  33   2                      }       
  34   1                      Mult_Rainfall=CHAR_TO_LONG(&mult_init,1); 
  35   1      }
  36          
  37          
  38          /*********************************************************************
  39          * 函 数 名: void basiclevel_init(void)
  40          * 功能描述: 基本水位初始化
  41          * 函数说明: 
  42          * 调用函数: 无
  43          * 全局变量:无
  44          * 输 入: 无
  45          * 返 回: 无
  46          * 设 计 者:
  47          ***********************************************************************/
  48          void basiclevel_init(void)
  49          {
  50   1                      unsigned char basic_init[5];
  51   1                      unsigned char i;
  52   1                      
  53   1                      /*-----------配置基本水位---------------*/      
  54   1                      R_block(WPAGE5,RPAGE5,i2c_addr_basic_level,basic_init,5);        
  55   1                      if(basic_init[0]==0xff)
C51 COMPILER V7.50   INIT                                                                  10/08/2006 08:51:40 PAGE 2   

  56   1                      {   
  57   2                                      for(i=0;i<5;i++)
  58   2                                                              basic_init[i]=0;
  59   2                                              
  60   2                                      W_block(WPAGE5,i2c_addr_basic_level,basic_init,5);
  61   2                      }       
  62   1                      Basic_WaterLevel=CHAR_TO_LONG(basic_init,5); 
  63   1      }
  64          
  65          /*********************************************************************
  66          * 函 数 名: void rainfall_config_init(void)
  67          * 功能描述: 雨量采集时间间隔初始化
  68          * 函数说明: 
  69          * 调用函数: 无
  70          * 全局变量:无
  71          * 输 入: 无
  72          * 返 回: 无
  73          * 设 计 者:
  74          ***********************************************************************/
  75          void rainfall_config_init(void)
  76          {
  77   1                      unsigned char i;
  78   1                      unsigned char config[3],new_cfg[3]={0x30,0x30,0x35};    
  79   1                      
  80   1                      
  81   1                      /*-----------雨量采集间隔时间---------------*/  
  82   1                      R_block(WPAGE0,RPAGE0,i2c_addr_rainconfig,config,3);    
  83   1                      if(config[0]==0xff)
  84   1                      {
  85   2                                      R_block(WPAGE1,RPAGE1,i2c_addr_rainconfig,config,3);  
  86   2                                      if(config[0]==0xff)
  87   2                                      {                                       
  88   3                                                      W_block(WPAGE1,i2c_addr_rainconfig,&new_cfg,3);
  89   3                                      }
  90   2                                      
  91   2                                      new_cfg[0]|=0x80; 
  92   2                                      W_block(WPAGE0,i2c_addr_rainconfig,&new_cfg,3);
  93   2                                      
  94   2                                      for(i=0;i<3;i++)
  95   2                                                      config[i]=new_cfg[i];
  96   2                      }
  97   1                                      
  98   1                      if((config[0]&0x80)!=0x80)
  99   1                      {   
 100   2                                      R_block(WPAGE1,RPAGE1,i2c_addr_rainconfig,config,3);            
 101   2                      }
 102   1                      config[0]&=0x7f;
 103   1                      rain_cfg=CHAR_TO_INT(config,3); 
 104   1      }
 105          
 106          /*********************************************************************
 107          * 函 数 名: void waterlevel_config_init(void)
 108          * 功能描述: 水位采集时间间隔初始化
 109          * 函数说明: 
 110          * 调用函数: 无
 111          * 全局变量:无
 112          * 输 入: 无
 113          * 返 回: 无
 114          * 设 计 者:
 115          ***********************************************************************/
 116          void waterlevel_config_init(void)
 117          {
C51 COMPILER V7.50   INIT                                                                  10/08/2006 08:51:40 PAGE 3   

 118   1                      unsigned char i;
 119   1                      unsigned char config[3],new_cfg[3]={0x30,0x30,0x35};            
 120   1                              
 121   1                      /*-----------水位采集间隔时间---------------*/
 122   1                      R_block(WPAGE0,RPAGE0,i2c_addr_levelconfig,config,3);           
 123   1                      if(config[0]==0xff)
 124   1                      {
 125   2                                      R_block(WPAGE1,RPAGE1,i2c_addr_levelconfig,config,3);  
 126   2                                      if(config[0]==0xff)
 127   2                                      {                                       
 128   3                                                      W_block(WPAGE1,i2c_addr_levelconfig,&new_cfg,3);
 129   3                                      }
 130   2                                      
 131   2                                      new_cfg[0]|=0x80; 
 132   2                                      W_block(WPAGE0,i2c_addr_levelconfig,&new_cfg,3);
 133   2                                      
 134   2                                      for(i=0;i<3;i++)
 135   2                                                      config[i]=new_cfg[i];
 136   2                      }
 137   1                               
 138   1                      if((config[0]&0x80)!=0x80)
 139   1                      {   
 140   2                                      R_block(WPAGE1,RPAGE1,i2c_addr_levelconfig,config,3);                   
 141   2                      }
 142   1                      config[0]&=0x7f;
 143   1                      level_cfg=CHAR_TO_INT(config,3);
 144   1      }
 145          
 146          /*********************************************************************
 147          * 函 数 名: void rain_conditions_init(void)
 148          * 功能描述: 雨量门限初始化
 149          * 函数说明: 
 150          * 调用函数: 无
 151          * 全局变量:无
 152          * 输 入: 无
 153          * 返 回: 无
 154          * 设 计 者:
 155          ***********************************************************************/
 156          void rain_conditions_init(void)
 157          {
 158   1                      unsigned char i,j;
 159   1                      unsigned char xdata cd_config[11][10],new_cd[11][10];
 160   1                      
 161   1                      for(i=0;i<11;i++)
 162   1                for(j=0;j<10;j++)
 163   1          {
 164   2                                      new_cd[i][j]=0x00;
 165   2                }
 166   1              
 167   1                      R_block(WPAGE2,RPAGE2,i2c_addr_rnct,&cd_config[0][0],110);       
 168   1                      if(cd_config[0][0]==0xff)
 169   1          {                           
 170   2                                      R_block(WPAGE3,RPAGE3,i2c_addr_rnct,&cd_config[0][0],110);       
 171   2                                      if(cd_config[0][0]==0xff)
 172   2                                      {
 173   3                                                              W_block(WPAGE3,i2c_addr_rnct,&new_cd[0][0],110);
 174   3                                      }
 175   2                                      
 176   2                                      new_cd[0][0]|=0x80; 
 177   2                                      W_block(WPAGE2,i2c_addr_rnct,&new_cd[0][0],110);
 178   2                                      
 179   2                                      for(i=0;i<11;i++)
C51 COMPILER V7.50   INIT                                                                  10/08/2006 08:51:40 PAGE 4   

 180   2                              for(j=0;j<10;j++)
 181   2                      {
 182   3                                                      cd_config[i][j]=new_cd[i][j];
 183   3                              }
 184   2                }
 185   1                      
 186   1                      if((cd_config[0][0]&0x80)!=0x80)
 187   1                      {   
 188   2                                      R_block(WPAGE3,RPAGE3,i2c_addr_rnct,&cd_config[0][0],110);              
 189   2                      }
 190   1                      cd_config[0][0]&=0x7f;
 191   1                      for(i=0;i<11;i++)
 192   1                      {
 193   2                                      rain_cd[i].cd_time=CHAR_TO_LONG(&cd_config[i][0],4);
 194   2                                      rain_cd[i].cd_data=CHAR_TO_LONG(&cd_config[i][4],6);
 195   2                      }  
 196   1                      
 197   1      }
 198          
 199          /*********************************************************************

⌨️ 快捷键说明

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