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

📄 main.lst

📁 一个基于C51开发的计价秤
💻 LST
📖 第 1 页 / 共 5 页
字号:
 320   4                              }       
 321   3                      }
 322   2                      else if(keypre[3])
 323   2                      {
 324   3                              Beep();
 325   3                              Cal_flag=FALSE;
 326   3                              mode=Initialization_mode;
 327   3                      }
 328   2                      keydone=TRUE;
 329   2              }
 330   1      }
 331          
 332          VOID Calibration()
 333          {
 334   1              INT8 data i;
 335   1              BYTE Option_Table[6],Option_buf;
 336   1              Read_Cal_counts(&Cal_counts);
 337   1              Set_Lcd2_Buf(0,0,7);
 338   1              Set_Lcd3_Buf(0,0,7);
 339   1              Set_Cal_counts_Display(Cal_counts);
 340   1              Display();
 341   1              Wait_n_s(2);
 342   1              Read_Option_Param(&Option_buf);
 343   1              if((Option_buf&0x02)==0x02)
 344   1                      KG_flag=FALSE;
 345   1              else
 346   1                      KG_flag=TRUE;
 347   1              Read_Cal_Zero_limit(Option_Table);
 348   1              temp_LONG.B[0]=0x00;
 349   1              temp_LONG.B[1]=Option_Table[0];
 350   1              temp_LONG.B[2]=Option_Table[1];
 351   1              temp_LONG.B[3]=Option_Table[2];
 352   1              Cal_Zero_Lower_count=temp_LONG.L;
 353   1              temp_LONG.B[0]=0x00;
 354   1              temp_LONG.B[1]=Option_Table[3];
 355   1              temp_LONG.B[2]=Option_Table[4];
 356   1              temp_LONG.B[3]=Option_Table[5];
 357   1              Cal_Zero_Upper_count=temp_LONG.L;
 358   1              Cal_flag=TRUE;
 359   1              One_count=0;
 360   1              Weight=0;
 361   1              Cal_Weight=0;
 362   1              factor_calcul=FALSE;
 363   1              for(i=0;i<5;i++)
 364   1                      Get_AD_Convert_Data();
 365   1              Cal_Zero_count=0;
 366   1              for(i=0;i<5;i++)
 367   1                      Cal_Zero_count+=Get_AD_Convert_Data();
 368   1              Cal_Zero_count=Cal_Zero_count/5;
 369   1              if(Cal_Zero_Count_Check())
 370   1                      Save_Cal_Zero_count(Cal_Zero_count);
 371   1              else
 372   1              {
 373   2                      Set_ADC_On_Lcd1_Display();
 374   2                      Display();
 375   2                      while(1);
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 20  

 376   2              }
 377   1              Set_Weight_Display(Weight);
 378   1              Set_Cal_Weight_Display(Cal_Weight);
 379   1              Set_One_count_Display(One_count);
 380   1              Set_BEEP_Icon();
 381   1              while(mode==Calibration_mode)
 382   1              {
 383   2                      if(factor_calcul)
 384   2                      {
 385   3                              Monitor_Weigh_Scale_On_Calibration_Mode();
 386   3                              Set_Weight_Display(Weight);     
 387   3                      }
 388   2                      Calibration_Key_Processing();
 389   2                      if(half_sec)
 390   2                      {
 391   3                              half_sec=FALSE;
 392   3                              point2_on=~point2_on;
 393   3                              Display();                      
 394   3                      }
 395   2              }       
 396   1      }
 397          
 398          /**********************************
 399          ********Initialization mode********
 400          **********************************/
 401          VOID Initialization()
 402          {
 403   1              INT8 data i;
 404   1              BYTE Option_Table[TABLE_LEN];
 405   1              BYTE Option_buf; 
 406   1              if(!Read_Option_Table(Option_Table))
 407   1              {
 408   2                      Set_NOEEP_On_Lcd1_Display();
 409   2                      Display();
 410   2                      while(1);
 411   2              }
 412   1              if(Option_Table[EEPROM_ID]!=0xa5&&Option_Table[EEPROM_ID+1]!=0x5a)
 413   1              {
 414   2                      Set_EEP_On_Lcd1_Display();
 415   2                      Display();
 416   2                      while(1);
 417   2              }
 418   1              Option_buf=Option_Table[Option_Param_address];
 419   1              if((Option_buf&0x01)==0x01)
 420   1                      Beep_on=TRUE;
 421   1              else
 422   1                      Beep_on=FALSE;
 423   1              if((Option_buf&0x02)==0x02)
 424   1                      KG_flag=FALSE;
 425   1              else
 426   1                      KG_flag=TRUE;
 427   1              if((Option_buf&0x04)==0x04)
 428   1                      Ver_flag=FOOKTIN;
 429   1              else
 430   1                      Ver_flag=PAND;
 431   1      
 432   1              if((Option_buf&0x08)==0x08)
 433   1                      Unit_flag=TRUE;
 434   1              else
 435   1                      Unit_flag=FALSE;
 436   1              if((Option_buf&0x10)==0x10)
 437   1              {
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 21  

 438   2                      Light_on=TRUE;
 439   2                      LIGHT=FALSE;
 440   2              }
 441   1              else
 442   1              {
 443   2                      Light_on=FALSE;
 444   2                      LIGHT=TRUE;
 445   2              }
 446   1              temp_INT.B[0]=Option_Table[Graduation_Grade_address];
 447   1              temp_INT.B[1]=Option_Table[Graduation_Grade_address+1];
 448   1              Graduation_Grade=temp_INT.I;
 449   1              Graduation1=Option_Table[Graduation1_address];
 450   1              Graduation2=Option_Table[Graduation2_address];
 451   1      
 452   1              temp_INT.B[0]=Option_Table[Max_Capacity_address];
 453   1              temp_INT.B[1]=Option_Table[Max_Capacity_address+1];
 454   1              Max_Capacity=temp_INT.I;
 455   1      
 456   1              Initial_Zero_Setting_limit=Option_Table[Initial_Zero_Setting_limit_address];
 457   1              Zero_Setting_and_Zero_Tracking_limit=Option_Table[Zero_Setting_and_Zero_Tracking_limit_address];
 458   1              
 459   1              temp_INT.B[0]=Option_Table[Zero_Stable_count_address];
 460   1              temp_INT.B[1]=Option_Table[Zero_Stable_count_address+1];
 461   1              Zero_Stable_count=temp_INT.I;
 462   1              Zero_Stable_times=Option_Table[Zero_Stable_times_address];
 463   1              temp_INT.B[0]=Option_Table[Weight_Stable_count_address];
 464   1              temp_INT.B[1]=Option_Table[Weight_Stable_count_address+1];
 465   1              Weight_Stable_count=temp_INT.I;
 466   1              Weight_Stable_times=Option_Table[Weight_Stable_times_address];
 467   1              
 468   1              Err1_Timeout=Option_Table[Err1_Timeout_address];
 469   1              Timeout3=Err1_Timeout;
 470   1      
 471   1              temp_INT.B[0]=Option_Table[Local_Height_address];
 472   1              temp_INT.B[1]=Option_Table[Local_Height_address+1];
 473   1              Local_Height=temp_INT.I;
 474   1      
 475   1              Local_Latitude=Option_Table[Local_Latitude_address];
 476   1      
 477   1              temp_INT.B[0]=Option_Table[Destination_Height_address];
 478   1              temp_INT.B[1]=Option_Table[Destination_Height_address+1];
 479   1              Destination_Height=temp_INT.I;
 480   1      
 481   1              Destination_Latitude=Option_Table[Destination_Latitude_address];
 482   1      
 483   1              temp_INT.B[0]=Option_Table[Soft_Ver_address];
 484   1              temp_INT.B[1]=Option_Table[Soft_Ver_address+1];
 485   1              Soft_ver_no=temp_INT.I;
 486   1              
 487   1              Cal_counts=Option_Table[Cal_counts_address];
 488   1      
 489   1              temp_FLOAT.B[0]=Option_Table[Cal_One_count_address];
 490   1              temp_FLOAT.B[1]=Option_Table[Cal_One_count_address+1];
 491   1              temp_FLOAT.B[2]=Option_Table[Cal_One_count_address+2];
 492   1              temp_FLOAT.B[3]=Option_Table[Cal_One_count_address+3];
 493   1              One_count=temp_FLOAT.F;
 494   1              temp_FLOAT.B[0]=Option_Table[Cal_Zero_count_address];
 495   1              temp_FLOAT.B[1]=Option_Table[Cal_Zero_count_address+1];
 496   1              temp_FLOAT.B[2]=Option_Table[Cal_Zero_count_address+2];
 497   1              temp_FLOAT.B[3]=Option_Table[Cal_Zero_count_address+3];
 498   1              Cal_Zero_count=temp_FLOAT.F;
 499   1              temp_FLOAT.B[0]=Option_Table[Cal_Weight_count_address];
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 22  

 500   1              temp_FLOAT.B[1]=Option_Table[Cal_Weight_count_address+1];
 501   1              temp_FLOAT.B[2]=Option_Table[Cal_Weight_count_address+2];
 502   1              temp_FLOAT.B[3]=Option_Table[Cal_Weight_count_address+3];
 503   1              Cal_Weight_count=temp_FLOAT.F;
 504   1              if(Cal_counts==0)
 505   1              {
 506   2                      Set_NOCAL_On_Lcd1_Display();
 507   2                      Display();
 508   2                      while(1);       
 509   2              }
 510   1              temp_LONG.B[0]=0x00;
 511   1              Cls_Icon_Buf();
 512   1              Set_Logo_Display();
 513   1              Set_SCALE_Display();
 514   1              for(i=9;i>=0;i--)
 515   1              {
 516   2                      Set_Lcd1_Buf(i+'0',0,5);
 517   2                      Display();
 518   2                      Wait_n_ms(50);
 519   2              }
 520   1              Set_Ver_no_Display(Soft_ver_no);
 521   1              Display();
 522   1              Wait_n_ms(50);
 523   1              while(!Zero_Setting_When_Power_Up())
 524   1              {
 525   2                      Set_INIT0_On_Lcd1_Display();
 526   2                      Display();      
 527   2              }
 528   1              if(Beep_on)
 529   1                      Set_BEEP_Icon();
 530   1              else
 531   1                      Cls_BEEP_Icon();
 532   1              Last_day=0;
 533   1              unit_price_entered=FALSE;
 534   1              NET_flag=FALSE;         
 535   1              mode=Sales_mode;
 536   1              Sold_Quantity=0;
 537   1              Sum_Price=0;
 538   1              Tare_Weight=0;
 539   1      }
 540          
 541          /**********************************
 542          ********Sales mode*****************
 543          **********************************/
 544          VOID Sales_Key_Processing()
 545          {
 546   1              if(keyprocess)
 547   1              {
 548   2                      keydone=FALSE;
 549   2                      keyprocess=FALSE;
 550   2                      numeric=0;
 551   2                      if(!keypre[1]&&!keypre[2]&&!keypre[3])
 552   2                      {
 553   3                              switch(keypre[0])
 554   3                              {
 555   4                              case PLU30:numeric++;
 556   4                              case PLU29:numeric++;
 557   4                              case PLU28:numeric++;
 558   4                              case PLU27:numeric++;
 559   4                              case PLU26:numeric++;
 560   4                              case PLU25:numeric++;
 561   4                              case PLU24:numeric++;
C51 COMPILER V7.50   MAIN                                                                  05/27/2006 14:00:50 PAGE 23  

 562   4                              case PLU23:numeric++;
 563   4                              case PLU22:numeric++;
 564   4                              case PLU21:numeric++;
 565   4                              case PLU20:numeric++;
 566   4                              case PLU19:numeric++;
 567   4                              case PLU18:numeric++;
 568   4                              case PLU17:numeric++;
 569   4                              case PLU16:numeric++;
 570   4                              case PLU15:numeric++;
 571   4                              case PLU14:numeric++;
 572   4                              case PLU13:numeric++;
 573   4                              case PLU12:numeric++;
 574   4                              case PLU11:numeric++;
 575   4                              case PLU10:numeric++;
 576   4                              case PLU9:numeric++;
 577   4                              case PLU8:numeric++;
 578   4                              case PLU7:numeric++;
 579   4                              case PLU6:numeric++;
 580   4                              case PLU5:numeric++;
 581   4                              case PLU4:numeric++;
 582   4                              case PLU3:numeric++;
 583   4                              case PLU2:numeric++;
 584   4                              case PLU1:numeric++;
 585   4                                      Beep();
 586   4                                      PLU_no=numeric;
 587   4                                      Set_INPLUT_PLU_no_Display(PLU_no);
 588   4                                      Load_PLU_to_LCD_Buf(PLU_no);
 589   4                                      Display();
 590   4                                      Wait_n_s(1);
 591   4                                      unit_price_entered=TRUE;
 592   4                                      state=WEIGHING;
 593   4                                      sales_type=PW;
 594   4                                      break;
 595   4                              case K_TARE:
 596   4                                      Beep();
 597   4                                      Tare_Operation_When_Tare_Key_Pressed();
 598   4                                      break;
 599   4                              case K_ZERO:
 600 

⌨️ 快捷键说明

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