main.lst

来自「该程序是基于c8051f020的平台」· LST 代码 · 共 651 行 · 第 1/3 页

LST
651
字号
 414   3                          ShowChar(1,1,char5);
 415   3                              ShowChar(1,5,aa);  
 416   3                         }
 417   2                if(dat=='2')
 418   2                        {
 419   3                           if((vb_2-ve)>350)
 420   3                                  {
 421   4                                       Clr_Char_Area();
 422   4                                       ShowChar(2,1,char6);
 423   4                                       ShowChar(2,6,"Si");
 424   4                                      }
 425   3                                      else
 426   3                                      {
 427   4                                        Clr_Char_Area();
C51 COMPILER V8.02   MAIN                                                                  07/09/2007 08:18:06 PAGE 8   

 428   4                                        ShowChar(2,1,char6);
 429   4                                        ShowChar(2,6,"Zhe");
 430   4                                      }
 431   3                        }
 432   2                         
 433   2                        if(dat=='3')
 434   2                        {
 435   3                          Clr_Char_Area();
 436   3                      Clr_Graph_Area();
 437   3                         a=0;
 438   3                         m=0;
 439   3                         p=0;
 440   3      /*描绘输出特性曲线*/
 441   3                         dac0832_1=0x00;
 442   3                         dac0832_2=0x00;
 443   3                         for(i=0;i<4;i++ )
 444   3                              {  
 445   4                                 a=0;
 446   4                                 n=0;
 447   4                                 dac0832_1=char7[p];
 448   4                                       p=p+15;
 449   4                                 for(l=0;l<200;l++)
 450   4                                         {
 451   5                                            delay(200,200);
 452   5                                         }
 453   4                     delay(100,10);
 454   4                                 for(j=0;j<64;j++)
 455   4                                  {
 456   5                                           dac0832_2=n;
 457   5                                               n=n+4;
 458   5                                               AMX0CF = 0x00;
 459   5                                           AMX0SL = 0x03; 
 460   5                                               delay(10,10);
 461   5                                           PGA();
 462   5                                               ve=AD*655L;
 463   5                                   ve=ve/1000;
 464   5                                               ve=ve*64;
 465   5                                               kk[a]=ve/1000;
 466   5                                                
 467   5                                               if(a==0)
 468   5                                                {
 469   6                                                  Locat_Dot(a,kk[a]);
 470   6                                                }
 471   5                                               else
 472   5                                                {
 473   6                                                        m=kk[a]-kk[a-1];
 474   6                                                        if(m>1)
 475   6                                                        {
 476   7                                                               for(k=0;k<m;k++)
 477   7                                                                {
 478   8                                                                  Locat_Dot(a-1,kk[a-1]+k);
 479   8                                                                }
 480   7                                                               
 481   7                                                        }                                             
 482   6                                                        else if(m<-1)
 483   6                                                        {
 484   7                                                       for(k=m;k<0;k++)
 485   7                                                               {
 486   8                                                                 Locat_Dot(a-1,kk[a-1]+k);
 487   8                                                               }
 488   7                                                        }
 489   6                                                       Locat_Dot(a,kk[a]);
C51 COMPILER V8.02   MAIN                                                                  07/09/2007 08:18:06 PAGE 9   

 490   6                                                }
 491   5                                               a++;
 492   5                                }
 493   4      
 494   4              }
 495   3      /* 描绘输入特性曲线*/
 496   3                                        for(i=0;i<64;i++)
 497   3                                                {
 498   4                                                       kk[i]=0;
 499   4                                                }                                                                                      
 500   3                                        dac0832_1=0x00;                                                                //控制Ib的电流 
 501   3                                dac0832_2=0x00;                                                                //控制VCE的电压
 502   3                                        for(i=0;i<29; )
 503   3                                                {
 504   4                                                     a=0;
 505   4                                                         dac0832_2=i;
 506   4                                                         i=i+10;
 507   4                                                          for(j=0;j<64;j++)
 508   4                                                                      {
 509   5                                                                         dac0832_1=char7[j];
 510   5                                                                         for(l=0;l<150;l++)
 511   5                                                                         {
 512   6                                                                         delay(200,200);
 513   6                                                                         }
 514   5                                                                         AMX0CF = 0x00;
 515   5                                                                 AMX0SL = 0x00;                    //选用通道AIN0测试vb
 516   5                                                                         delay(10,10);
 517   5                                                                         adc_change();
 518   5                                                                         delay(10,10);
 519   5                                                                         vb=ADc*655L;
 520   5                                                                         vb=vb/1000.0*64;     
 521   5                                                                         vb=vb/2000;
 522   5                                                                         kk1[a]=vb;
 523   5      
 524   5      
 525   5      
 526   5                                                                         AMX0CF = 0x00;
 527   5                                         AMX0SL = 0x05;                            //选用通道AIN5测试vb_2
 528   5                                                                         adc_change();
 529   5                                                                         vb_2=ADc*655L;
 530   5                                                                         vb_2=vb_2/1000;
 531   5      
 532   5      
 533   5                                                                         AMX0CF = 0x00;
 534   5                                                                 AMX0SL = 0x02;                               //选用通道AIN2测试vc
 535   5                                                                         delay(10,10);
 536   5                                                                         PGA();
 537   5                                                                         vc = AD*655L;  
 538   5                                                                         vc = vc/1000;
 539   5      
 540   5                                                                         AMX0CF = 0x00;
 541   5                                                                 AMX0SL = 0x03;                               //选用通道AIN3测试ve
 542   5                                                                         delay(10,10);
 543   5                                                                         adc_change();
 544   5                                                                         ve=ADc*753;
 545   5                                                                         ve=ve/1000;
 546   5      
 547   5                                                                         vbe = vb_2-ve;
 548   5                                                                         vbe = vbe*64;
 549   5                                                                         vbe=vbe/1400+64;
 550   5                                                                         kk[a]=vbe;
 551   5      
C51 COMPILER V8.02   MAIN                                                                  07/09/2007 08:18:06 PAGE 10  

 552   5                                                                         a++;
 553   5                                                   }
 554   4                                                        for(k=0;k<63;k++)
 555   4                                                        {
 556   5                                                            Line(kk[k],kk1[k],kk[k+1],kk1[k+1]);
 557   5                                                        }     
 558   4                                                                      
 559   4                                                 }
 560   3                                                 
 561   3                        }                              
 562   2                         
 563   2                        if(dat=='4')
 564   2                        {
 565   3                        
 566   3                        } 
 567   2                } 
 568   1      }
 569          /*void error(void)                      //输入错误时提示操作
 570          {
 571             enable=0;
 572            ShowChar(2,1,char4);
 573           
 574          }*/
 575          void adc_change()
 576          {
 577   1          AD0INT = 0;
 578   1              AD0BUSY = 1;
 579   1              while(AD0INT==0)
 580   1              delay(10,10);
 581   1          ADc=ADC0H*256;
 582   1          ADc|=ADC0L;
 583   1      
 584   1      
 585   1      }
 586          void PGA()
 587          {        
 588   1           uchar h;
 589   1           dac0832=0x01;
 590   1           h=dac0832;
 591   1               delay(10,10);
 592   1           adc_change();
 593   1               while(ADc<0xaaf)
 594   1               {
 595   2                 h=h+4;
 596   2                 dac0832=h;
 597   2                 delay(10,10);
 598   2                 adc_change();
 599   2                 if(h>250)
 600   2                   break;
 601   2               }
 602   1               
 603   1                 AD=ADc*255L;
 604   1                 AD=AD/h;
 605   1               
 606   1      
 607   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2050    ----
   CONSTANT SIZE    =   2245    ----
   XDATA SIZE       =    128    ----
C51 COMPILER V8.02   MAIN                                                                  07/09/2007 08:18:06 PAGE 11  

   PDATA SIZE       =   ----    ----
   DATA SIZE        =     45      11
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      3    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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