📄 dataprc.lst
字号:
214 /********************************/
215 /********************************/
216 void Ad_data_prc(void)
217 {
218 1 unsigned char filter ;
219 1 /*if(consult < 0)
220 1 {
221 1 liuxiang_F = REVERSE ;
222 1 consult = fabs(consult) ;
223 1 }
224 1 else
225 1 {
226 1
227 1 liuxiang_F = POSITIVE;
228 1
229 1 }*/
230 1 if(empty_pop_F == EMPTY)
231 1 {
232 2 moment_data = 0;
233 2 da_data = 0;
234 2 liuxiang_F = POSITIVE ;
235 2 return;
236 2 }
237 1 else
238 1 {
239 2 filter = Two_square();
240 2 EX0 = 0 ;
241 2 consult = consult/filter + (1.0 - 1.0/filter)*consult_old; //lubo zhixu suanfa
C51 COMPILER V6.02 DATAPRC 09/10/2005 17:35:06 PAGE 5
242 2 consult_old = consult ;
243 2 /*
244 2 if(consult < 0)
245 2 {
246 2 liuxiang_F = REVERSE ;
247 2 consult = fabs(consult) ;
248 2 }
249 2
250 2 else
251 2 {
252 2
253 2 liuxiang_F = POSITIVE;
254 2
255 2
256 2 }*/
257 2 }
258 1 // da_data = consult ; //remained /used for da5615 convert */
259 1 if(zero_symbol == ZERO_POSITIVE)
260 1 consult = consult - zero_code;
261 1 else
262 1 consult = consult + zero_code ;
263 1
264 1 moment_data = consult * system_k;
265 1
266 1 EX0 = 1 ;
267 1 /* if(zero_symbol == POSITIVE)
268 1 moment_data = moment_data - zero_offset;
269 1 else
270 1 moment_data = moment_data+zero_offset;*/
271 1
272 1 if(moment_data < 0)
273 1 {
274 2 liuxiang_F = REVERSE ;
275 2 moment_data = fabs(moment_data) ;
276 2 }
277 1
278 1 else
279 1 {
280 2
281 2 liuxiang_F = POSITIVE;
282 2
283 2
284 2 }
285 1
286 1 if(moment_data>(lchen_data*1.05))
287 1 moment_data=lchen_data*1.05;
288 1
289 1 if(moment_data <= lchen_data)
290 1 da_data =(unsigned int)( (moment_data*0x7fff)/lchen_data) ;
291 1 else
292 1 da_data = 32767;
293 1 if(moment_data <= cut_data)
294 1 {
295 2 moment_data = 0;
296 2 da_data = 0 ;
297 2 liuxiang_F = POSITIVE ;
298 2 }
299 1
300 1 return;
301 1 }
302
303
C51 COMPILER V6.02 DATAPRC 09/10/2005 17:35:06 PAGE 6
304
305 /********************************/
306 /*******************************/
307
308 float Get_lchen_data(unsigned char address,unsigned char point)
309 {
310 1 USER_SET user_data;
311 1 float value;
312 1 user_data.oneseg = Read1B(address,0);
313 1 user_data.twoseg = Read1B(address+1,0);
314 1 user_data.thrseg = Read1B(address+2,0);
315 1 user_data.fouseg = Read1B(address+3,0);
316 1 value = user_data.fouseg *1000 + user_data.thrseg *100+user_data.twoseg*10+user_data.oneseg ;
317 1 if(point == 1)
318 1 value=value/10.0;
319 1 else if(point == 2)
320 1 value=value/100.0;
321 1 else if(point == 3)
322 1 value = value/1000.0;
323 1 return(value);
324 1 }
325
326 /*******************************/
327 /*******************************/
328 float Get_alarmup_data(void)
329 {
330 1 float value;
331 1 USER_SET alarm_data;
332 1 alarm_data.oneseg = Read1B(0x12,0);
333 1 alarm_data.twoseg = Read1B(0x13,0);
334 1 alarm_data.thrseg = Read1B(0x14,0);
335 1 value = ((float)(alarm_data.thrseg*100+alarm_data.twoseg*10+alarm_data.oneseg)/100.0)*lchen_data;
336 1 return(value);
337 1 }
338
339 /*******************************/
340 /*******************************/
341 float Get_alarmdm_data(void)
342 {
343 1 float value;
344 1 USER_SET alarm_data;
345 1 alarm_data.oneseg = Read1B(0x15,0);
346 1 alarm_data.twoseg = Read1B(0x16,0);
347 1 value = ((float)(alarm_data.twoseg*10+alarm_data.oneseg)/100.0)*lchen_data;
348 1 return(value);
349 1 }
350
351 /*******************************/
352 /*******************************/
353 unsigned long int Get_high_data(float fdata)
354 {
355 1 unsigned int high_data;
356 1 if(dp_point == 1)
357 1 high_data =(unsigned int)(fdata/1000);
358 1 else if(dp_point == 2)
359 1 high_data = (unsigned int)(fdata/100);
360 1 else if(dp_point == 3)
361 1 high_data = (unsigned int)(fdata/10);
362 1 else if(dp_point == 0)
363 1 high_data = (unsigned int)(fdata/10000) ;
364 1 if(high_data >= 99999)
365 1 high_data = 99999 ;
C51 COMPILER V6.02 DATAPRC 09/10/2005 17:35:06 PAGE 7
366 1 return(high_data);
367 1
368 1 }
369
370 /*********************************/
371 /*********************************/
372 unsigned int Get_low_data(float fdata)
373 {
374 1 float low_data;
375 1 unsigned long int high_data;
376 1 if(dp_point == 1)
377 1 fdata =fdata*10;
378 1 else if(dp_point == 2)
379 1 fdata = fdata*100;
380 1 else if(dp_point == 3)
381 1 fdata = fdata*1000;
382 1
383 1
384 1
385 1
386 1 high_data =(unsigned long int)(fdata/10000);
387 1 low_data = fdata-high_data*10000 ;
388 1
389 1 if(low_data >= 9999)
390 1 low_data = 9999;
391 1 return(low_data );
392 1
393 1 }
394
395 /*********************************/
396 /*********************************/
397 float Get_pn_data(unsigned char start_address)
398 {
399 1 EE_BUFFER p_data;
400 1 p_data.set_data.first_data = Read1B(start_address,1);
401 1 p_data.set_data.second_data = Read1B(start_address+1,1);
402 1 p_data.set_data.third_data = Read1B(start_address+2,1);
403 1 p_data.set_data.fouth_data = Read1B(start_address+3,1);
404 1 return(p_data.ad_data);
405 1 }
406
407
408 /***********************************/
409 /******** modify adc_gain **********/
410 /*void Modify_adc_gain(unsigned char gain)
411 /*{
412 adc_gain = gain ; //lchen range reduce one time
413 Write1B(adc_gain,0x25,0); //baochen now gain at eeprom
414 Self_adjust();
415 adjust_time = 4 ; //delay 200ms
416 data_prc_time = TM500MS ;
417 return;
418 } */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2356 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 40
IDATA SIZE = ---- ----
C51 COMPILER V6.02 DATAPRC 09/10/2005 17:35:06 PAGE 8
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 + -