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

📄 usermain.lst

📁 电子称重的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 326   3              case   5:
 327   3                     aprintf(0x00,"%6ld",scalenow.ad);
 328   3                     break;
 329   3             }
 330   2               break;
 331   2      
 332   2         }
 333   1      
 334   1      }
 335          
 336          void SS_Weisetfun(MSG *pMsg)
 337          {
 338   1         switch(pMsg->message)
 339   1         {
 340   2      
 341   2         case  M_CHAR:
 342   2              switch(cfun_state)
 343   2             {
 344   3             #if 1
 345   3              case  0:                                   //滤波设定
 346   3                    if(pMsg->param==KEY_NEXT)SetNextFunState();
 347   3                    if(pMsg->param==KEY_ENTER)SetNextcFunState();
 348   3                    break;
 349   3              #endif
 350   3             case  1:
 351   3                   if(pMsg->param==KEY_CHA){if(++CalSet.cSCapexp>CAPEXH)CalSet.cSCapexp=CAPEXL;}
 352   3                   if(pMsg->param==KEY_ADD){if(++CalSet.cSCap>CAPS)CalSet.cSCap=0;}
 353   3                   if(pMsg->param==KEY_SUB){if(CalSet.cSCap--==0)CalSet.cSCap=CAPS;}
 354   3                   if(pMsg->param==KEY_NEXT)
 355   3                   {
 356   4                      E_write(I2C_SCAP, CalSet.cSCap);
 357   4                      E_write(I2C_SCAPEX, CalSet.cSCapexp);
 358   4                      SetNextcFunState();
 359   4                   }
 360   3                   break;
 361   3      
 362   3             case  2:
 363   3                   if(pMsg->param==KEY_CHA)if(++CalSet.cSDiv>SSENSN)CalSet.cSDiv=0;
 364   3                  if(pMsg->param==KEY_NEXT){E_write(I2C_SSENS,CalSet.cSDiv);SetFunState(fun_state);}
C51 COMPILER V8.02   USERMAIN                                                              05/04/2008 21:35:46 PAGE 7   

 365   3                  break;
 366   3      
 367   3              }
 368   2              PostMessage(M_REFURBISH,cfun_state);
 369   2              break;
 370   2      
 371   2         case M_REFURBISH:
 372   2              switch(cfun_state)
 373   2             {
 374   3             case  0:
 375   3                   aprintf(0x20,"P2 Wei   ");
 376   3                   break;
 377   3             case  1:
 378   3                   aprintf(0x10,"CAP");    //设置滤波方式
 379   3                   if(CalSet.cSCapexp>CAPEXH)CalSet.cSCapexp=CAPEXL;
 380   3                   if(CalSet.cSCap>CAPS)CalSet.cSCap=0;
 381   3                   CalSet.fSCap=(scaps[CalSet.cSCap].SCapn*pow10(CalSet.cSCapexp));
 382   3                   aprintf(0x00,"%7f",CalSet.fSCap);
 383   3                   break;
 384   3             case  2:
 385   3                   aprintf(0x10,"DIV");    //设置滤波方式
 386   3                   if(CalSet.cSDiv>SSENSN)CalSet.cSDiv=0;
 387   3                   CalSet.fSDiv=DivTab[CalSet.cSDiv]*pow10(CalSet.cSCapexp);
 388   3                   aprintf(0x00,"%f",CalSet.fSDiv);
 389   3                   break;
 390   3              }
 391   2              break;
 392   2         }
 393   1      }
 394          
 395          /**************************************************************************
 396          *      函数原型:void    s_syssetfun(MSG *pMsg)
 397          *      功    能:经销商设置程序,对接收的消息进行处理
 398          **************************************************************************/
 399          void    s_syssetfun(MSG *pMsg)
 400          {
 401   1              ((void (*)(MSG * pMsg))SS_Funtab[fun_state])(pMsg);
 402   1      }
 403          /**************************************************************************
 404          *      函数原型:void s_usersetfun(MSG *pMsg)
 405          *      功    能:用户参数设置程序,对接收的消息进行处理
 406          **************************************************************************/
 407          void s_usersetfun(MSG *pMsg)
 408          {
 409   1       ((void (*)(MSG * pMsg))US_Funtab[fun_state])(pMsg);
 410   1      }
 411          
 412          void US_Unitsetfun(MSG *pMsg)
 413          {
 414   1         switch(pMsg->message)
 415   1         {
 416   2         case  M_CHAR:
 417   2              switch(cfun_state)
 418   2             {
 419   3             }
 420   2              break;
 421   2              PostMessage(M_REFURBISH,cfun_state);
 422   2         case M_REFURBISH:
 423   2              switch(cfun_state)
 424   2             {
 425   3              }
 426   2              break;
C51 COMPILER V8.02   USERMAIN                                                              05/04/2008 21:35:46 PAGE 8   

 427   2          }
 428   1      
 429   1      }
 430          void US_Funsetfun(MSG *pMsg)
 431          {
 432   1        switch(pMsg->message)
 433   1         {
 434   2         case  M_CHAR:
 435   2              switch(cfun_state)
 436   2             {
 437   3             case 0:
 438   3                   if(pMsg->param==KEY_NEXT)SetNextFunState();
 439   3                   if(pMsg->param==KEY_ENTER)SetNextcFunState();
 440   3                   break;
 441   3              case 1:
 442   3                   if(pMsg->param==KEY_CHA)funset.flag^=POWREN;
 443   3                   if(pMsg->param==KEY_NEXT){E_write(I2C_FLAG,funset.flag);SetNextcFunState();}
 444   3                   break;
 445   3              case 2:
 446   3                   if(pMsg->param==KEY_CHA)funset.flag^=LIGHTEN;
 447   3                   if(pMsg->param==KEY_NEXT){E_write(I2C_FLAG,funset.flag);SetcFunState(0);}
 448   3                   break;
 449   3             }
 450   2              PostMessage(M_REFURBISH,cfun_state);
 451   2              break;
 452   2         case M_REFURBISH:
 453   2              switch(cfun_state)
 454   2             {
 455   3              case 0:
 456   3                   aprintf(0x20,"P1 Oth  ");
 457   3                   break;
 458   3              case 1:
 459   3                   aprintf(0x10,"PWR");
 460   3                   aprintf(0x00,DisGetonoff(funset.flag&POWREN));
 461   3                   break;
 462   3              case 2:
 463   3                   aprintf(0x10," BL");
 464   3                   lcd_setback(funset.flag&LIGHTEN);
 465   3                   aprintf(0x00,DisGetonoff(funset.flag&LIGHTEN));
 466   3                   break;
 467   3              }
 468   2              break;
 469   2          }
 470   1      }
 471          
 472          void US_Holdsetfun(MSG *pMsg)
 473          {
 474   1         switch(pMsg->message)
 475   1         {
 476   2         case  M_CHAR:
 477   2              switch(cfun_state)
 478   2             {
 479   3             case 0:
 480   3                   if(pMsg->param==KEY_NEXT)SetNextFunState();
 481   3                   if(pMsg->param==KEY_ENTER)SetNextcFunState();
 482   3                   break;
 483   3              case 1:
 484   3                   if(pMsg->param==KEY_CHA)funset.flag^=HOLDEN;
 485   3                   if(pMsg->param==KEY_NEXT){E_write(I2C_FLAG,funset.flag);SetNextcFunState();}
 486   3                   break;
 487   3              case 2:
 488   3                   if(pMsg->param==KEY_CHA)holdset.holdd++;
C51 COMPILER V8.02   USERMAIN                                                              05/04/2008 21:35:46 PAGE 9   

 489   3                   if(pMsg->param==KEY_NEXT){E_write(I2C_HOLDSET_HOLDD,holdset.holdd);SetNextcFunState();}
 490   3                   break;
 491   3              case 3:
 492   3                   if(pMsg->param==KEY_CHA)holdset.holdt++;
 493   3                   if(pMsg->param==KEY_NEXT){E_write(I2C_HOLDSET_HOLDT,holdset.holdt);SetcFunState(0);}
 494   3                   break;
 495   3             }
 496   2              PostMessage(M_REFURBISH,cfun_state);
 497   2              break;
 498   2         case M_REFURBISH:
 499   2              switch(cfun_state)
 500   2             {
 501   3             case 0:
 502   3                   aprintf(0x20,"P2 HLD   ");
 503   3                   break;
 504   3              case 1:
 505   3                   aprintf(0x10," HD");
 506   3                   aprintf(0x00,DisGetonoff(funset.flag&HOLDEN));
 507   3                   break;
 508   3              case 2:
 509   3                   if(holdset.holdd>HOLDD)holdset.holdd=0;
 510   3                   aprintf(0x10," Ht");
 511   3                   aprintf(0x00,"%5bdd",holdset.holdd);
 512   3                   break;
 513   3              case 3:
 514   3                   if(holdset.holdt>HOLDT)holdset.holdt=0;
 515   3                   aprintf(0x10," Hd");
 516   3                   aprintf(0x00,"%3bd",holdset.holdt);
 517   3                   break;
 518   3              }
 519   2              break;
 520   2          }
 521   1      }
 522          
 523          void US_Comsetfun(MSG *pMsg)
 524          {
 525   1         switch(pMsg->message)
 526   1         {
 527   2         case  M_CHAR:
 528   2              switch(cfun_state)
 529   2             {
 530   3             case 0:
 531   3                   if(pMsg->param==KEY_NEXT)SetNextFunState();
 532   3                   if(pMsg->param==KEY_ENTER)SetNextcFunState();
 533   3                   break;
 534   3              case 1:
 535   3                   if(pMsg->param==KEY_CHA)com.mode++;
 536   3                   if(pMsg->param==KEY_NEXT){SetNextcFunState();}
 537   3                   break;
 538   3              case 2:
 539   3                   if(pMsg->param==KEY_CHA)com.baud++;
 540   3                   if(pMsg->param==KEY_NEXT){SetcFunState(0);}
 541   3                   break;
 542   3      
 543   3             }
 544   2              PostMessage(M_REFURBISH,cfun_state);
 545   2              break;
 546   2         case M_REFURBISH:
 547   2              switch(cfun_state)
 548   2             {
 549   3             case 30:
 550   3                   aprintf(0x20,"P3 EL    ");
C51 COMPILER V8.02   USERMAIN                                                              05/04/2008 21:35:46 PAGE 10  

 551   3                   break;
 552   3              case 31:
 553   3                   if(com.mode>COM_MODES)com.mode=0;
 554   3                   aprintf(0x10,"Mod");
 555   3                   aprintf(0x00,"%3bd",com.mode);
 556   3                   break;
 557   3              case 32:
 558   3                   if(com.baud>COM_BAUDS)com.baud=0;
 559   3                   aprintf(0x10,"BPS");
 560   3                   aprintf(0x00,"%5bd",baudt[com.baud]);
 561   3                   break;
 562   3              }
 563   2              break;
 564   2          }
 565   1      
 566   1      }
 567          
 568          void    s_weightfun(MSG *pMsg )
 569          {
 570   1       switch(pMsg->message)
 571   1       {
 572   2        case M_REFURBISH:
 573   2             beep(100);
 574   2             scalenow.zero=scalenow.ad;
 575   2             ShowWeiFlagEn=1;
 576   2             LineEnFlag=1;
 577   2             break;
 578   2        case M_ADFILOK:
 579   2             aprintf(0x00,"%f",scalenow.weight);
 580   2             break;
 581   2       }
 582   1      }
 583          Uchar * DisGetonoff(BOOL onoff)
 584          {
 585   1       if(onoff)return "  ON  ";
 586   1       else return " OFF  ";
 587   1      }
 588          
 589          
 590          void SetFunState(Uchar State)
 591          {
 592   1              PostMessage(M_REFURBISH,fun_state);
 593   1              fun_state=State;
 594   1              cfun_state=0;
 595   1      }
 596          void SetNextFunState()
 597          {
 598   1              SetFunState(fun_state+1);
 599   1      }
 600          
 601          void SetcFunState(Uchar State)
 602          {
 603   1              PostMessage(M_REFURBISH,cfun_state);
 604   1              cfun_state=State;
 605   1      }
 606          void SetNextcFunState()
 607          {
 608   1              SetcFunState(cfun_state+1);
 609   1      }
 610          float   GetLineWei(BOOL  linedot)
 611          {
 612   1      
C51 COMPILER V8.02   USERMAIN                                                              05/04/2008 21:35:46 PAGE 11  

 613   1      
 614   1      }
*** WARNING C173 IN LINE 614 OF USERMAIN.C: missing return-expression
*** WARNING C280 IN LINE 610 OF USERMAIN.C: 'linedot': unreferenced local variable
 615          
 616          
 617          float   GetTechWei(Uchar  cwei)
 618          {
 619   1        return  cwei*pow10(CalSet.cSCapexp-1);
 620   1      }
 621          /**************************************************************************
 622          *      函数原型: Uchar Dspinit()
 623          *      功    能: 开机时自检
 624          **************************************************************************/
 625          void Dspinit()
 626          {
 627   1       Uchar i=0;   //自检
 628   1       for(i=0;i<10;i++)
 629   1       {
 630   2        aprintf(0x20,"%s",dspt[i]);
 631   2         lcd_writej(i);
 632   2         beep(100);
 633   2         delayms(300);
 634   2       }
 635   1       beep(200);
 636   1       lcd_all();
 637   1       delayms(300);
 638   1       lcd_clr();
 639   1       delayms(200);
 640   1      }
 641          
 642          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3489    ----
   CONSTANT SIZE    =   1061    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =     26    ----
   DATA SIZE        =      3      28
   IDATA SIZE       =      2    ----
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  2 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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