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

📄 keyprc.lst

📁 电磁流量计的源程序。将流体流量用电磁转换方式变换成弱电信号
💻 LST
📖 第 1 页 / 共 3 页
字号:
 280   4                                    user_setdata.thrseg++;
 281   4                                    if(user_setdata.thrseg >= 2)
 282   4                                        user_setdata.thrseg = 0;
 283   4                                }
 284   3                          else if(set2_F == 1)
 285   3                                {
 286   4                                    user_setdata.twoseg++;
 287   4                                    if(user_setdata.twoseg >= 2)
 288   4                                        user_setdata.twoseg = 0;
 289   4                                }
 290   3                          else if(set1_F == 1)
 291   3                                {
 292   4                                    user_setdata.oneseg++;
 293   4                                    if(user_setdata.oneseg >= 2)
 294   4                                       user_setdata.oneseg = 0;
 295   4                                }
 296   3                           break;
 297   3      		  case 0x04:
 298   3      		           if(set1_F ==1)
 299   3      				   {
 300   4      				         user_setdata.oneseg++;
 301   4      						 if(user_setdata.oneseg > 6)
 302   4      						    user_setdata.oneseg = 0;
 303   4      				   }
C51 COMPILER V6.02  KEYPRC                                                                 09/10/2005 17:11:40 PAGE 6   

 304   3      				    break;
 305   3      
 306   3      		  case 0x05:                                       //xiao liuliang xinhao qiecu
 307   3      		           if(set1_F ==1)
 308   3      				   {
 309   4      				         user_setdata.oneseg++;
 310   4      						 if(user_setdata.oneseg >= 6)
 311   4      						    user_setdata.oneseg = 0;
 312   4      				   }
 313   3      				    break;
 314   3      		  case 0x06:                                      //baojin sanxian 
 315   3      		           if(set3_F == 1)
 316   3      				         user_setdata.thrseg++;
 317   3      						 if(user_setdata.thrseg > 1)
 318   3      						      user_setdata.thrseg = 0;
 319   3                         else if(set2_F == 1)
 320   3      				         {
 321   4      						 user_setdata.twoseg++;
 322   4      						 if(user_setdata.thrseg == 1)
 323   4      						     {
 324   5      						        if(user_setdata.twoseg > 5)
 325   5      						            user_setdata.twoseg = 0;
 326   5      							 }
 327   4      						 else  if(user_setdata.twoseg >=10)
 328   4      						        user_setdata.twoseg = 0 ;
 329   4                               }
 330   3      				   else if(set1_F == 1)
 331   3                               {   
 332   4      						     user_setdata.oneseg++;
 333   4      						     if((user_setdata.thrseg == 1)&&(user_setdata.twoseg == 5))
 334   4      							     user_setdata.oneseg = 0;
 335   4                                   else if(user_setdata.oneseg >= 10)
 336   4      							     user_setdata.oneseg = 0;
 337   4      						  }
 338   3      						  break;
 339   3      		                                  //baojin xiaxian sedin
 340   3      		   case 0x09:
 341   3      		           if(set3_F == 1)
 342   3      		           {
 343   4      		           	  user_setdata.thrseg++;
 344   4      		           	  if(user_setdata.thrseg > 2)
 345   4      		           	     user_setdata.thrseg = 1 ;
 346   4      		           }
 347   3      		           else if(set2_F == 1)
 348   3      		           {
 349   4      		           	  user_setdata.twoseg++;
 350   4      		           	  if(user_setdata.twoseg >= 10)
 351   4      		           	     user_setdata.twoseg = 0;         
 352   4                         }
 353   3                         else if(set1_F == 1)
 354   3                         {
 355   4                         	  user_setdata.oneseg++;
 356   4                         	  if(user_setdata.oneseg >= 10)
 357   4                         	     user_setdata.oneseg = 0 ;
 358   4                        }
 359   3                      break;
 360   3                         
 361   3      					
 362   3               
 363   3      		  default:       break;
 364   3      		  }           
 365   2      		}  
C51 COMPILER V6.02  KEYPRC                                                                 09/10/2005 17:11:40 PAGE 7   

 366   1      		           
 367   1         return;
 368   1      }
 369          
 370          /*************************************/
 371          /*************************************/
 372          
 373          void Key_right(void)
 374          {
 375   1       
 376   1      
 377   1       if(disp_mode == PARA_DISP)
 378   1       	{
 379   2      		disp_no_u++;
 380   2      		set_pra_seg = 0x00 ;   
 381   2      		if(disp_no_u >= 7)           //loop disp
 382   2      			disp_no_u = 0 ;
 383   2      	}
 384   1       else if(disp_mode == PARA_SET)
 385   1          {   
 386   2              if(biaodin_F != 1)
 387   2                  press_r_key++;
 388   2       
 389   2              if( ((press_r_key >=5) && (disp_no_u !=2)&&(disp_no_u != 3)&&(disp_no_u != 8)&&(disp_no_u !=10))
 390   2                    ||((press_r_key >=2)&&(set_pra_seg == 0)))
 391   2                  {
 392   3                   press_r_key = 0;
 393   3                   biaodin_F = 0;
 394   3                   set_dp_F = 0 ;
 395   3                   set_pra_seg = 0;
 396   3                   disp_mode = PARA_DISP ;
 397   3                   disp_no_u = 0;
 398   3                   return ;
 399   3                  }
 400   2      	//	if((disp_no_u == 2)&&(biaodin_F == 1)&&(set_dp_F == 1))
 401   2      	    if(biaodin_F == 1)
 402   2      	    {
 403   3      	    	if(set_dp_F == 1)                      //dp biaodin
 404   3      		     {
 405   4      		     	if(disp_no_u == 2)                 //biaodin dp_point
 406   4      		     	{
 407   5      			        dp_point = Sure_biaodin_dp();
 408   5      			        Save_dp_point(0x24);           //baochen system dp
 409   5      				    Save_dp_point(0x0e);           //biaodin shi  he xitong xiaosu din yiyang
 410   5      				    set_dp_F = 0;
 411   5      				    set_pra_seg = 0;
 412   5      				    biaodin_F = 0;                 //biaodin over
 413   5      				    disp_mode = PARA_DISP;
 414   5      				    disp_no_u = 0 ;
 415   5      		        }
 416   4      		       
 417   4                  }
 418   3              }
 419   2      		if(set_dp_F == 1)        // if when set dp ,then save dp
 420   2      		{   
 421   3      		   Savedata_prc(); 
 422   3      	//	   set_dp_F = 0;
 423   3      	//	   set_pra_seg = 0;
 424   3      		   return;
 425   3      		}
 426   2      	
 427   2      		 
C51 COMPILER V6.02  KEYPRC                                                                 09/10/2005 17:11:40 PAGE 8   

 428   2      		switch(set_pra_seg )   //fouseg position set
 429   2      		    {
 430   3                   case 0x10:
 431   3                               set_pra_seg = 0x08;
 432   3                               break;
 433   3      			 case 0x08:  
 434   3      
 435   3      			  
 436   3      			             set_pra_seg = 0x04 ;          //next seg set data
 437   3      			             break;
 438   3      			 
 439   3      		     case  0x04:
 440   3      			
 441   3      						set_pra_seg = 0x02 ;           
 442   3      						break ;
 443   3      			 case 0x02 :
 444   3      			            
 445   3      						set_pra_seg = 0x01 ;
 446   3      						break ;
 447   3      			 case 0x01 :
 448   3      						set_pra_seg = 0xf0 ;
 449   3      						break;
 450   3      			 
 451   3      			            
 452   3      			 default :  break ;
 453   3                  }
 454   2              if(set_pra_seg ==0xf0)                   //queren hou culi
 455   2      		   {
 456   3      		   	
 457   3      		     set_pra_seg = 0x00 ;
 458   3      		    
 459   3      			 Savedata_prc();
 460   3      		
 461   3      			}
 462   2            }
 463   1      }
 464          
 465          
 466          /***************************************/
 467          /***          System mima  set       ***/
 468          /***************************************/
 469          void Set_system_code(void)
 470          {
 471   1       multi_key_F = 1;
 472   1       press_r_key = 0;
 473   1       Set_sys_mima();
 474   1       
 475   1       disp_time = TM100MS ;
 476   1       
 477   1       disp_mode = PARA_DISP ;
 478   1       disp_mode_old = disp_mode ;
 479   1       disp_no_u = 7 ;          // disp mima
 480   1       return;
 481   1      }
 482          
 483          /******************************/
 484          /******************************/
 485          void Sys_biaodin(void)
 486          {   
 487   1          multi_key_F = 1 ;
 488   1          biaodin_F = 1;
 489   1          press_r_key = 0;
C51 COMPILER V6.02  KEYPRC                                                                 09/10/2005 17:11:40 PAGE 9   

 490   1          disp_mode = PARA_SET;
 491   1      	disp_mode_old = disp_mode;
 492   1          disp_no_u = 2 ;                 //set lchen range disp mode
 493   1      	set4_F =1 ;                     //first set fouth segment led
 494   1      	user_setdata.oneseg = 0;
 495   1      	user_setdata.twoseg = 0;
 496   1      	user_setdata.thrseg = 0;
 497   1      	user_setdata.fouseg = 0;
 498   1      	Set_sys_data();
 499   1          return;
 500   1      }
 501           
 502          /******************************/
 503          /******************************/
 504          void Savedata_prc(void)
 505          {
 506   1       unsigned char i =0 ;
 507   1       if(biaodin_F == 1)
 508   1       {    
 509   2            Write1B(ADC_GAIN_16,0x25,0);      //baochen system_gain = 16;
 510   2            if((disp_no_u == 2)&&(set_dp_F == 0))         //baochen system lchen
 511   2                {
 512   3                	  set_dp_F = 1 ;
 513   3                	  dp_point = 2;                  //mo ren
 514   3                    Save_dp_point(0x24);           //baochen system dp
 515   3      			  Save_dp_point(0x0e);           //biaodin shi  he xitong xiaosu din yiyang
 516   3      
 517   3                    Write1B(user_setdata.oneseg,0x20,0);
 518   3                    Write1B(user_setdata.twoseg,0x21,0);
 519   3                    Write1B(user_setdata.thrseg,0x22,0);
 520   3                    Write1B(user_setdata.fouseg,0x23,0);
 521   3      
 522   3      			  // when biaodin,normal lchen = system lchen data 
 523   3      			  Write1B(user_setdata.oneseg,0x18,0);
 524   3      			  Write1B(user_setdata.twoseg,0x19,0);
 525   3      			  Write1B(user_setdata.thrseg,0x1a,0);
 526   3      			  Write1B(user_setdata.fouseg,0x1b,0);
 527   3      			  //set system moren dp_point
 528   3      		      set_pra_seg = dp_blink_potion[dp_point] ;
 529   3      			  
 530   3      		   }
 531   2              return;
 532   2       }
 533   1       switch(disp_no_u)
 534   1      			{
 535   2      			  case 0x00:                         //jin
 536   2                  
 537   2      		                if( Code_check() )       //jinnian mima
 538   2                                  {          
 539   3                                      allow_set_F = 1;            //mi ma zhenque
 540   3                              
 541   3      			                }
 542   2                             else 
 543   2                                  {
 544   3      			                    allow_set_F = 0;
 545   3                                      disp_mode = PARA_DISP ;
 546   3                                  }
 547   2      					   break;
 548   2      			   case 0x01:      /* zhenxiang leiji liuliang qinglin*/
 549   2                                 if((user_setdata.oneseg==1)&&(user_setdata.twoseg==1)&&(user_setdata.thrseg==1)
 550   2                                    &&(user_setdata.fouseg==1))
 551   2                                 {
C51 COMPILER V6.02  KEYPRC                                                                 09/10/2005 17:11:40 PAGE 10  

 552   3                                 	   p_count_data = 0 ;
 553   3                                     n_count_data =0;
 554   3                                     net_count_data = 0;      
 555   3                                    for(i=0;i<8;i++)
 556   3                                       {
 557   4      			                    Write1B(0x00,page1_start_addr+i,1);
 558   4                                //        page1_start_addr++;
 559   4                                        
 560   4                                       }
 561   3                                  }
 562   2                                  
 563   2                                     break; 
 564   2                         
 565   2      			    case 0x02:

⌨️ 快捷键说明

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