📄 init.lst
字号:
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 + -