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

📄 main.lst

📁 本文件用于智能云台电机控制和图像处理
💻 LST
📖 第 1 页 / 共 5 页
字号:
 600   7                                                              --vAbsolutionPosition;
 601   7                                                              vSoftTimer0=-5;
 602   7                                                      
 603   7                                                              break;
 604   7                                                              
 605   7                                                      }                       
 606   6                                                      break;
 607   6                                              }
 608   5                                      }
 609   4                                      break;
 610   4                              }
 611   3                              
 612   3                      case DOUBLEMOTION  :
C51 COMPILER V8.01   MAIN                                                                  01/09/2009 17:53:57 PAGE 11  

 613   3                              if(!vOrientFlag)
 614   3                              {
 615   4                                      if(vPresetPosition>vAbsolutionPosition)
 616   4                                              vOrientFlag=1;
 617   4                                      //      else    if(vPresetPosition==vAbsolutionPosition)  TR2=0;
 618   4                                      else 
 619   4                                              vOrientFlag=-1;
 620   4                              }
 621   3                              //
 622   3                              switch(vOrientFlag)
 623   3                              {
 624   4                              default:break;
 625   4                                      
 626   4                              case 1:
 627   4                                      {
 628   5                                              switch(vaccDecFlag)
 629   5                                              {
 630   6                                              default :break;
 631   6                                              case PAUSE:
 632   6                                                      if(!(vPauseTime--))
 633   6                                                      {
 634   7                                                              vaccDecFlag=ACCELERATION;
 635   7                                                              if(vAbsolutionPosition==vPresetPosition1)
 636   7                                                                      vPresetPosition=vPresetPosition2;
 637   7                                                              else
 638   7                                                                      vPresetPosition=vPresetPosition1;
 639   7                                                              vOrientFlag=0;
 640   7                                                      }
 641   6                                                      break;
 642   6                                              case DECELERATION:
 643   6                                                      if(currentCount==15)
 644   6                                                              currentCount=0;
 645   6                                                      else
 646   6                                                              ++currentCount;
 647   6                                                      VMotorOut(SIN16[currentCount]) ;
 648   6                                                      
 649   6                                                      ++vAbsolutionPosition;
 650   6                                                      if(accDecCount==15)
 651   6                                                      {
 652   7                                                              vSoftTimer0=DECTABLE[accDecCount]/250;
 653   7                                                              accDecCount=0;
 654   7                                                              vaccDecFlag=PAUSE;
 655   7                                                              vPauseTime=200;
 656   7                                                              VMotorOut(SIN16[currentCount]) ;
 657   7                                                              
 658   7                                                      }
 659   6                                                      else
 660   6                                                      {
 661   7                                                              vSoftTimer0=DECTABLE[accDecCount]/250;
 662   7                                                              ++accDecCount;                          
 663   7                                                      }
 664   6                                                      
 665   6                                                      //      VMotorOut(SIN16[currentCount-1]) ;                              
 666   6                                                      break;
 667   6                                              case ACCELERATION:
 668   6                                                      if(currentCount==15)
 669   6                                                              currentCount=0;
 670   6                                                      else
 671   6                                                              ++currentCount;
 672   6                                                      VMotorOut(SIN16[currentCount]) ;
 673   6                                                      
 674   6                                                      ++vAbsolutionPosition;
C51 COMPILER V8.01   MAIN                                                                  01/09/2009 17:53:57 PAGE 12  

 675   6                                                      if(accDecCount==15)
 676   6                                                      {
 677   7                                                              vSoftTimer0=ACCTABLE[accDecCount]/250;
 678   7                                                              accDecCount=0;
 679   7                                                              vaccDecFlag=NORMALMOTION;
 680   7                                                              vPresetPosition=vPresetPosition-16;
 681   7                                                      }
 682   6                                                      else
 683   6                                                      {
 684   7                                                              vSoftTimer0=ACCTABLE[accDecCount]/250;
 685   7                                                              ++accDecCount;
 686   7                                                      }                               
 687   6                                                      break;
 688   6                                              case NORMALMOTION:
 689   6                                                      if(vPresetPosition!=vAbsolutionPosition)
 690   6                                                      {
 691   7                                                              if(currentCount==15)
 692   7                                                                      currentCount=0;
 693   7                                                              else
 694   7                                                                      ++currentCount;
 695   7                                                              VMotorOut(SIN16[currentCount]) ;
 696   7                                                              
 697   7                                                              ++vAbsolutionPosition;
 698   7                                                              vSoftTimer0=-5;
 699   7                                                              //      vSoftTimer0=ACCDEC[accDecCount];
 700   7                                                      }
 701   6                                                      else
 702   6                                                              vaccDecFlag=DECELERATION;
 703   6                                                      break;
 704   6                                                      
 705   6                                              }                       
 706   5                                              break;
 707   5                                      }
 708   4                              case -1:
 709   4                                      {
 710   5                                              switch(vaccDecFlag)
 711   5                                              {
 712   6                                              default :break;
 713   6                                              case PAUSE:
 714   6                                                      if(!(vPauseTime--))
 715   6                                                      {
 716   7                                                              vaccDecFlag=ACCELERATION;
 717   7                                                              if(vAbsolutionPosition==vPresetPosition1)
 718   7                                                                      vPresetPosition=vPresetPosition2;
 719   7                                                              else
 720   7                                                                      vPresetPosition=vPresetPosition1;
 721   7                                                              vOrientFlag=0;
 722   7                                                      }
 723   6                                                      break;
 724   6                                              case DECELERATION:
 725   6                                                      if(currentCount==0)
 726   6                                                              currentCount=15;
 727   6                                                      else
 728   6                                                              --currentCount;
 729   6                                                      VMotorOut(SIN16[currentCount]) ;
 730   6                                                      
 731   6                                                      --vAbsolutionPosition;
 732   6                                                      if(accDecCount==15)
 733   6                                                      {
 734   7                                                              vSoftTimer0=DECTABLE[accDecCount]/250;
 735   7                                                              accDecCount=0;
 736   7                                                              vaccDecFlag=PAUSE;
C51 COMPILER V8.01   MAIN                                                                  01/09/2009 17:53:57 PAGE 13  

 737   7                                                              vPauseTime=200;
 738   7                                                              VMotorOut(SIN16[currentCount]) ;
 739   7                                                              
 740   7                                                      }
 741   6                                                      else
 742   6                                                      {
 743   7                                                              ++accDecCount;
 744   7                                                              vSoftTimer0=DECTABLE[accDecCount]/250;
 745   7                                                      }
 746   6                                                      
 747   6                                                      //      VMotorOut(SIN16[currentCount+1]) ;
 748   6                                                      break;
 749   6                                              case ACCELERATION:
 750   6                                                      if(currentCount==0)
 751   6                                                              currentCount=15;
 752   6                                                      else
 753   6                                                              --currentCount;
 754   6                                                      VMotorOut(SIN16[currentCount]) ;
 755   6                                                      
 756   6                                                      --vAbsolutionPosition;
 757   6                                                      if(accDecCount==15)
 758   6                                                      {
 759   7                                                              vSoftTimer0=ACCTABLE[accDecCount]/250;
 760   7                                                              accDecCount=0;
 761   7                                                              vPresetPosition=vPresetPosition+16;
 762   7                                                              vaccDecFlag=NORMALMOTION;
 763   7                                                      }
 764   6                                                      else
 765   6                                                      {
 766   7                                                              vSoftTimer0=ACCTABLE[accDecCount]/250;
 767   7                                                              ++accDecCount;                          
 768   7                                                      }
 769   6                                                      
 770   6                                                      break;
 771   6                                              case NORMALMOTION:
 772   6                                                      if(vPresetPosition!=vAbsolutionPosition)
 773   6                                                      {
 774   7                                                              if(currentCount==0)
 775   7                                                                      currentCount=15;
 776   7                                                              else
 777   7                                                                      --currentCount;
 778   7                                                              VMotorOut(SIN16[currentCount]) ;
 779   7                                                              
 780   7                                                              --vAbsolutionPosition;
 781   7                                                              vSoftTimer0=-5;
 782   7                                                              //      vSoftTimer0=ACCDEC[accDecCount];
 783   7                                                      }
 784   6                                                      else
 785   6                                                              vaccDecFlag=DECELERATION;
 786   6                                                      break;
 787   6                                                      
 788   6                                              }                       
 789   5                                              break;
 790   5                                      }
 791   4                         }
 792   3                         
 793   3                         break;
 794   3              case MULMOTION  :
 795   3                      if(!vOrientFlag)
 796   3                      {
 797   4                              if(vPresetPosition>vAbsolutionPosition)
 798   4                                      
C51 COMPILER V8.01   MAIN                                                                  01/09/2009 17:53:57 PAGE 14  

 799   4                                      vOrientFlag=1;
 800   4                              

⌨️ 快捷键说明

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