led.lst

来自「用于控制LED广告灯箱的源代码」· LST 代码 · 共 788 行 · 第 1/3 页

LST
788
字号
 502   1      功能:计算扫描图纸的总长度
 503   1      日期:2006-12-1
 504   1      作者:狼魅
 505   1      *******************************/
 506   1              while (1)
 507   1              {
 508   2                      if (DownS == 0)
 509   2                      {   
 510   3                              MOTOR = UP;
 511   3      
 512   3                              DisplaySegment(temp);
 513   3                      
 514   3                              if (flag == 80)
 515   3                              {
 516   4                                      temp++;
 517   4                                      flag = 0;
 518   4                              }       
 519   3                      }
 520   2                      else
 521   2                      {
 522   3                              MOTOR = STOP;
 523   3      
 524   3                              for (; flag1<200; flag1++)
 525   3                              {
 526   4                                      DisplaySegment(temp);
 527   4                              }
 528   3                              flag = 0;
 529   3                              break;
 530   3                      }
 531   2                      flag++;
 532   2              }
 533   1      
 534   1              while (1)
 535   1              {               
 536   2                      if (UpS == 0)
 537   2                      {
 538   3                              MOTOR = DOWN;
 539   3      
 540   3                              DisplaySegment(temp);
 541   3      
 542   3                              if (flag == 80)
 543   3                              {
 544   4                                      temp--;
 545   4                                      flag = 0;
 546   4                              }   
 547   3      
 548   3                              photoLong ++;
 549   3      
 550   3                              flag++;
 551   3                      }
C51 COMPILER V7.06   LED                                                                   02/11/2007 20:19:36 PAGE 10  

 552   2                      else
 553   2                      {
 554   3                              MOTOR = STOP;
 555   3                              break;
 556   3                      }
 557   2                      for (count1=0; count1<40; count1++);  //测试整幅图画偏差
 558   2              }
 559   1              
 560   1      
 561   1              MOTOR = STOP;
 562   1      
 563   1      /********************************
 564   1      间隔时间的设定
 565   1      ********************************/       
 566   1              if (ControlSendReceive == 0)
 567   1              {
 568   2                      RI = 1;
 569   2                      ES = 1;
 570   2                      SetReceiveSecondUP(page);
 571   2              }
 572   1              else
 573   1              {
 574   2                      TI = 1;
 575   2                      SetSendSecond(page);
 576   2              }       
 577   1      
 578   1              while (1)
 579   1              {       
 580   2              /*向上步进*/
 581   2                      flag1 = 0;
 582   2                      
 583   2                      while (1)
 584   2                      {          
 585   3                              if (DownS == 0)
 586   3                              {  
 587   4                                      MOTOR = UP; 
 588   4                                      ES = 1;
 589   4                                      if (sendflag != 100)
 590   4                                      {       
 591   5                                              SendData = MoveUPdata;      //制动数据
 592   5                                              sendflag++;
 593   5                                      }
 594   4                                      else
 595   4                                      {
 596   5                                              ES = 1;
 597   5                                              SendData = StopData;
 598   5                                      }
 599   4      
 600   4                                      DisplaySegment(temp);
 601   4                                      
 602   4                                      if (flag == 80)
 603   4                                      {
 604   5                                              temp++;
 605   5                                              flag = 0;
 606   5                                      }
 607   4                                      
 608   4                                      for (count1=0; count1<45; count1++);  //测试向上图画偏差
 609   4                      
 610   4                                      if (page != setPage)
 611   4                                      {
 612   5                                              if (flag1 == (photoLong)/setPage)
 613   5                                              {
C51 COMPILER V7.06   LED                                                                   02/11/2007 20:19:36 PAGE 11  

 614   6                                                      page++;
 615   6                                                      sendflag = 0;
 616   6                                                      MOTOR = STOP;
 617   6      
 618   6                                                      if (ControlSendReceive == 0)
 619   6                                                      {
 620   7                                                              RI = 1;
 621   7                                                              ES = 1;
 622   7                                                              SetReceiveSecondUP(page);
 623   7                                                      }
 624   6                                                      else
 625   6                                                      {
 626   7                                                              SetSendSecond(page);
 627   7                                                      }
 628   6              
 629   6                                                      flag1 = 0;
 630   6                                              }
 631   5                                      }
 632   4      
 633   4                                      flag++;
 634   4                                      flag1++;
 635   4                              }
 636   3                              else
 637   3                              {                       
 638   4                                      flag1 = 0;
 639   4                                      break;
 640   4                              }
 641   3                      }               
 642   2                      MOTOR = STOP; 
 643   2                      page++; 
 644   2                  
 645   2                      
 646   2                      if (ControlSendReceive == 0)
 647   2                      {
 648   3                              RI = 1;
 649   3                              ES = 1;
 650   3                              SetReceiveSecondDOWN(page);
 651   3                      }
 652   2                      else
 653   2                      {         
 654   3                              TI = 1;
 655   3                              SetSendSecond(page);
 656   3                      }
 657   2      
 658   2                      
 659   2                      page = setPage;
 660   2                      sendflag = 0;
 661   2      
 662   2              /*向下步进*/
 663   2                      while (1)
 664   2                      {       
 665   3                              
 666   3                              if (UpS == 0)
 667   3                              {  
 668   4                                      MOTOR = DOWN;                           
 669   4                                      ES = 1;
 670   4                                      if (sendflag != 100)
 671   4                                      {
 672   5                                              SendData = MoveDOWNdata;            //制动数据
 673   5                                              sendflag++;
 674   5                                      }
 675   4                                      else
C51 COMPILER V7.06   LED                                                                   02/11/2007 20:19:36 PAGE 12  

 676   4                                      {   
 677   5                                              ES = 1;
 678   5                                              SendData = StopData;    
 679   5                                      }
 680   4                                      
 681   4                                      DisplaySegment(temp);
 682   4                                      
 683   4                                      if (flag == 80)
 684   4                                      {
 685   5                                              temp--;
 686   5                                              flag = 0;
 687   5                                      }
 688   4                                      
 689   4                                      for (count1=0; count1<38; count1++); //测试向下图画偏差
 690   4                                      
 691   4                                      if (page != 1)
 692   4                                      {
 693   5                                              if (flag1 == (photoLong)/setPage)
 694   5                                              {   
 695   6                                                      sendflag = 0;
 696   6                                                      MOTOR = STOP;
 697   6                                                      if (ControlSendReceive == 0)
 698   6                                                      {
 699   7                                                              RI = 1;
 700   7                                                              ES = 1;
 701   7                                                              SetReceiveSecondDOWN(page);
 702   7                                                      }
 703   6                                                      else
 704   6                                                      {
 705   7                                                              SetSendSecond(page);
 706   7                                                      }
 707   6                                                      
 708   6                                                      page--;
 709   6                      
 710   6                                                      flag1 = 0;
 711   6                                                              
 712   6                                              }
 713   5                                      }
 714   4      
 715   4                                      flag++;
 716   4                                      flag1++;
 717   4                              }
 718   3                              else
 719   3                              {
 720   4                                      break;
 721   4                              }
 722   3                      }
 723   2              
 724   2                      MOTOR = STOP;
 725   2                      page = 1;
 726   2      
 727   2                      if (ControlSendReceive == 0)
 728   2                      {
 729   3                              RI = 1;
 730   3                              ES = 1;
 731   3                              SetReceiveSecondUP(page);
 732   3                      }
 733   2                      else
 734   2                      {
 735   3                              SetSendSecond(page);
 736   3                      }
 737   2      
C51 COMPILER V7.06   LED                                                                   02/11/2007 20:19:36 PAGE 13  

 738   2                      sendflag = 0;
 739   2              }
 740   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1331    ----
   CONSTANT SIZE    =     27    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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