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

📄 dataprc.lst

📁 电磁流量计的源程序。将流体流量用电磁转换方式变换成弱电信号
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -