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

📄 main.lst

📁 这是运用c51单片机测试电压电流的完整工程项目文件
💻 LST
📖 第 1 页 / 共 5 页
字号:
 429          {
 430   1              lcd_init();
 431   1              dh(1,60,11,0);//试品错误!
 432   1              dh(1,76,44,0);
 433   1              dh(1,92,45,0);
 434   1              dh(1,108,46,0);
 435   1              dh(1,124,47,0);
 436   1      }
 437          
 438          //试品异常处理程序
 439          void shipin_error2()
 440          {
 441   1              dh(4,60,48,0);  //高压无回路!
 442   1              dh(4,76,49,0);
 443   1              dh(4,92,50,0);
 444   1              dh(4,108,51,0);
 445   1              dh(4,124,52,0);
 446   1              dh(4,140,47,0);
 447   1      }
 448          
 449          //试品异常处理程序
 450          void shipin_error3()
 451          {
 452   1              dh(3,60,48,0); //高压保护,请重新开机!
 453   1              dh(3,76,49,0);
 454   1              dh(3,92,53,0);
 455   1              dh(3,108,54,0);
 456   1              dh(3,124,47,0);
 457   1              dh(5,60,55,0);
 458   1              dh(5,76,56,0);
 459   1              dh(5,92,57,0);
 460   1              dh(5,108,58,0);
 461   1              dh(5,124,59,0);
 462   1              dh(5,140,47,0);
 463   1      }
 464          
 465          void shipin_error_dispose()
 466          {
 467   1              lcd_init();
 468   1              shipin_error1();
 469   1              shipin_error2();
 470   1              daCount = 0;
 471   1              Tlc5615(daCount);
 472   1              start = 1;//关闭高压模块
 473   1              while(1)
 474   1               {
 475   2                       if ( namekey() == 4)
 476   2                              {
 477   3                                              lcd_init();
 478   3                                              dierping();
 479   3                                              break;
 480   3                              }
 481   2                      }
 482   1      }
 483          
 484          void disanping()                //测试界面
 485          {
 486   1      
 487   1          Battery();                                                  //显示电池电量
 488   1                      Real_Display_Time();           //显示实时时间
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 9   

 489   1      
 490   1      
 491   1                      dh(0,0,33,0);               //正在测试中:
 492   1                      dh(0,16,34,0);
 493   1                      dh(0,32,10,0);
 494   1                      dh(0,48,11,0);
 495   1                      dh(0,64,35,0);
 496   1                      df(0,80,24,0);
 497   1                      //dh(0,80,36,0);
 498   1      
 499   1                      df(3,58,25,0);              //U=XX.XKV
 500   1                      df(3,70,26,0);              //=
 501   1                      df(3,118,27,0);             //K
 502   1                      df(3,126,28,0);             //V
 503   1      
 504   1                      df(3,82,UiBuffer[0],0);  //26.8
 505   1                      df(3,90,UiBuffer[1],0);
 506   1                      df(3,98,22,0);
 507   1                      df(3,106,UiBuffer[2],0);
 508   1      
 509   1      
 510   1                      df(6,58,29,0);              //I=XXXuA
 511   1                      df(6,70,26,0);              //=
 512   1                      df(6,118,30,0);             //u
 513   1                      df(6,126,31,0);             //A
 514   1      
 515   1                      df(6,82,UiBuffer[3],0);  //1999
 516   1                      df(6,90,UiBuffer[4],0);
 517   1                      df(6,98,UiBuffer[5],0);
 518   1                      df(6,106,UiBuffer[6],0);
 519   1      
 520   1      
 521   1      }
 522          void Data_Move()
 523          {
 524   1              uchar idata i = 0;
 525   1              for ( i = 0; i < 10; i++)//将年月日时分数据共10位转移
 526   1                      Rec24c64[i] = TimeBuffer[i];
 527   1        for (i = 10; i < 16; i++)//将电压(3位)电流(4位实际用3位)数据共6位转移
 528   1               if ( i >= 13)
 529   1                       Rec24c64[i]  = UiBuffer[i - 9];//避开电流的千位不存入
 530   1               else
 531   1                       Rec24c64[i]  = UiBuffer[i - 10];//电压3位
 532   1      }
 533          uint Number_To_Address()
 534          {
 535   1              uint data uiAddress = 0;
 536   1              uiAddress = Serial_Number[0];
 537   1              uiAddress = ( uiAddress <<4 ) | Serial_Number[1];
 538   1              uiAddress =     uiAddress  | Serial_Number[2];
 539   1              switch (Char_No)
 540   1                              {
 541   2                                       case 10 :  uiAddress = uiAddress  | 0; break;
 542   2                                       case 11 :      uiAddress = uiAddress  | 1; break;
 543   2                                       case 12 :      uiAddress = uiAddress  | 2;     break;
 544   2                              }
 545   1      
 546   1              uiAddress=uiAddress<<4;
 547   1              return (uiAddress);
 548   1      }
 549          void Save_Data()
 550          {
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 10  

 551   1              uint uiA;
 552   1      
 553   1              Data_Move();
 554   1              uiA     =       Number_To_Address();
 555   1              AT24C64_W(Rec24c64,uiA,16);
 556   1      
 557   1      
 558   1      }
 559          void Data_Out()
 560          {
 561   1              uint uiA;
 562   1              Data_Move();
 563   1              uiA     =       Number_To_Address();
 564   1              AT24C64_R(Rec24c64,uiA,16);
 565   1      
 566   1      }
 567          
 568          void Number_Set(uchar  bFlag)
 569          {
 570   1              uchar  ucKp = 0 ;
 571   1              uchar  key = 9;
 572   1              while (1)
 573   1               {
 574   2                      key = namekey();
 575   2                       switch ( key )
 576   2                       {
 577   3                                      case 1 :  switch(ucKp)  //up
 578   3                                                            {
 579   4                                                              case 0 :  if ( Serial_Number[0] == 9 )       //9+1=0
 580   4                                                                                                                                                                      Serial_Number[0] = 0;
 581   4                                                                                                                                                      else
 582   4                                                                                                                                                                      Serial_Number[0]++;
 583   4                                                                                                                                                                      df(4,120,Serial_Number[0],1);
 584   4                                                                                                                                                      break;
 585   4                                                                                                              case    1:  if ( Serial_Number[1] == 9 )       //9+1=0
 586   4                                                                                                                                                                      Serial_Number[1] = 0;
 587   4                                                                                                                                                      else
 588   4                                                                                                                                                                      Serial_Number[1]++;
 589   4                                                                                                                                                                      df(4,128,Serial_Number[1],1);
 590   4                                                                                                                                                      break;
 591   4                                                                                                              case    2:  if ( Serial_Number[2] == 9 )       //9+1=0
 592   4                                                                                                                                                                      Serial_Number[2] = 0;
 593   4                                                                                                                                                      else
 594   4                                                                                                                                                                      Serial_Number[2]++;
 595   4                                                                                                                                                                      df(4,136,Serial_Number[2],1);
 596   4                                                                                                                                                      break;
 597   4                                                                                                              case    3:  if ( Char_No == 12 )       //9+1=0
 598   4                                                                                                                                                                      Char_No = 10;
 599   4                                                                                                                                                      else
 600   4                                                                                                                                                                      Char_No++;
 601   4                                                                                                                                                                      df(4,152,Char_No,1);
 602   4                                                                                                                                                      break;
 603   4                                                                                                }
 604   3                                                                                                break;
 605   3                              case 2 :  switch(ucKp)
 606   3                                                            {
 607   4                                                              case 0 :  if ( Serial_Number[0] == 0 )       //9+1=0
 608   4                                                                                                                                                                      Serial_Number[0] = 9;
 609   4                                                                                                                                                      else
 610   4                                                                                                                                                                      Serial_Number[0]--;
 611   4                                                                                                                                                                      df(4,120,Serial_Number[0],1);
 612   4                                                                                                                                                      break;
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 11  

 613   4                                                                                                              case    1:  if ( Serial_Number[1] == 0 )       //9+1=0
 614   4                                                                                                                                                                      Serial_Number[1] = 9;
 615   4                                                                                                                                                      else
 616   4                                                                                                                                                                      Serial_Number[1]--;
 617   4                                                                                                                                                                      df(4,128,Serial_Number[1],1);
 618   4                                                                                                                                                      break;
 619   4                                                                                                              case    2:  if ( Serial_Number[2] == 0 )       //9+1=0
 620   4                                                                                                                                                                      Serial_Number[2] = 9;
 621   4                                                                                                                                                      else
 622   4                                                                                                                                                                      Serial_Number[2]--;
 623   4                                                                                                                                                                      df(4,136,Serial_Number[2],1);
 624   4                                                                                                                                                      break;
 625   4                                                                                                              case    3:  if ( Char_No == 10 )       //9+1=0
 626   4                                                                                                                                                                      Char_No = 12;
 627   4                                                                                                                                                      else
 628   4                                                                                                                                                                      Char_No--;
 629   4                                                                                                                                                                      df(4,152,Char_No,1);
 630   4                                                                                                                                                      break;
 631   4                                                                                                }
 632   3                                                                                                break;
 633   3                                      case    3 : ucKp ++;
 634   3      
 635   3                                                                              if (ucKp < 3)
 636   3                                                                                      {
 637   4                                                                                              df(4,120+(ucKp-1)*8,Serial_Number[ucKp-1],0);
 638   4      
 639   4      
 640   4                                                                      df(4,120+ucKp*8,Serial_Number[ucKp],1);
 641   4      
 642   4                                                              }
 643   3                                                      if (ucKp == 3)
 644   3                                                              {
 645   4                                                                      df(4,136,Serial_Number[2],0);
 646   4                                                                      df(4,152,Char_No,1);
 647   4                                                              }
 648   3                                                      if (ucKp > 3)

⌨️ 快捷键说明

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