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

📄 main.lst

📁 本文件用于智能云台电机控制和图像处理
💻 LST
📖 第 1 页 / 共 5 页
字号:
 801   4                              //      else    if(vPresetPosition==vAbsolutionPosition)  TR2=0;
 802   4                              else 
 803   4                                      
 804   4                                      vOrientFlag=-1;
 805   4                              
 806   4                      }
 807   3                      //
 808   3                      switch(vOrientFlag)
 809   3                      {
 810   4                      default:break;
 811   4                              
 812   4                      case 1:
 813   4                              {
 814   5                                      switch(vaccDecFlag)
 815   5                                      {
 816   6                                      default :break;
 817   6                                      case PAUSE:
 818   6                                              if(!(vPauseTime--))
 819   6                                              {
 820   7                                                      vaccDecFlag=ACCELERATION;
 821   7                                                      vOrientFlag=0;
 822   7                                                      if( (vMulPointCount>=0)&&(vMulPointCount<=3))
 823   7                                                      {
 824   8                                                              vPresetPosition=VMulPoint[vMulPointCount];
 825   8                                                              vMulPointCount++;
 826   8                                                      }
 827   7                                                      else    if( (vMulPointCount>=4)&&(vMulPointCount<=6))
 828   7                                                      {
 829   8                                                              vPresetPosition=VMulPoint[8-vMulPointCount];
 830   8                                                              vMulPointCount++;
 831   8                                                      }
 832   7                                                      else 
 833   7                                                      {
 834   8                                                              vPresetPosition=VMulPoint[8-vMulPointCount];
 835   8                                                              vMulPointCount=0;
 836   8                                                      }
 837   7                                                      
 838   7                                                      
 839   7                                              }
 840   6                                              break;
 841   6                                      case DECELERATION:
 842   6                                              if(currentCount==15)
 843   6                                                      currentCount=0;
 844   6                                              else
 845   6                                                      ++currentCount;
 846   6                                              VMotorOut(SIN16[currentCount]) ;
 847   6                                              
 848   6                                              ++vAbsolutionPosition;
 849   6                                              if(accDecCount==15)
 850   6                                              {
 851   7                                                      vSoftTimer0=DECTABLE[accDecCount]/250;
 852   7                                                      accDecCount=0;
 853   7                                                      vaccDecFlag=PAUSE;
 854   7                                                      vPauseTime=50;
 855   7                                                      VMotorOut(SIN16[currentCount]) ;
 856   7                                                      
 857   7                                              }
 858   6                                              else
 859   6                                              {
 860   7                                                      vSoftTimer0=DECTABLE[accDecCount]/250;
C51 COMPILER V8.01   MAIN                                                                  01/09/2009 17:53:57 PAGE 15  

 861   7                                                      ++accDecCount;                          
 862   7                                              }
 863   6                                              
 864   6                                              //      VMotorOut(SIN16[currentCount-1]) ;                              
 865   6                                              break;
 866   6                                      case ACCELERATION:
 867   6                                              if(currentCount==15)
 868   6                                                      currentCount=0;
 869   6                                              else
 870   6                                                      ++currentCount;
 871   6                                              VMotorOut(SIN16[currentCount]) ;
 872   6                                              
 873   6                                              ++vAbsolutionPosition;
 874   6                                              if(accDecCount==15)
 875   6                                              {
 876   7                                                      vSoftTimer0=ACCTABLE[accDecCount]/250;
 877   7                                                      accDecCount=0;
 878   7                                                      vaccDecFlag=NORMALMOTION;
 879   7                                                      vPresetPosition=vPresetPosition-16;
 880   7                                              }
 881   6                                              else
 882   6                                              {
 883   7                                                      vSoftTimer0=ACCTABLE[accDecCount]/250;
 884   7                                                      ++accDecCount;
 885   7                                              }                               
 886   6                                              break;
 887   6                                      case NORMALMOTION:
 888   6                                              if(vPresetPosition!=vAbsolutionPosition)
 889   6                                              {
 890   7                                                      if(currentCount==15)
 891   7                                                              currentCount=0;
 892   7                                                      else
 893   7                                                              ++currentCount;
 894   7                                                      VMotorOut(SIN16[currentCount]) ;
 895   7                                                      
 896   7                                                      ++vAbsolutionPosition;
 897   7                                                      vSoftTimer0=-2000;
 898   7                                                      //      vSoftTimer0=ACCDEC[accDecCount];
 899   7                                              }
 900   6                                              else
 901   6                                                      vaccDecFlag=DECELERATION;
 902   6                                              break;
 903   6                                              
 904   6                                      }                       
 905   5                                      break;
 906   5                              }
 907   4                      case -1:
 908   4                              {
 909   5                                      switch(vaccDecFlag)
 910   5                                      {
 911   6                                      default :break;
 912   6                                      case PAUSE:
 913   6                                              if(!(vPauseTime--))
 914   6                                              {
 915   7                                                      vaccDecFlag=ACCELERATION;
 916   7                                                      vOrientFlag=0;
 917   7                                                      if( (vMulPointCount>=0)&&(vMulPointCount<=3))
 918   7                                                      {
 919   8                                                              vPresetPosition=VMulPoint[vMulPointCount];
 920   8                                                              vMulPointCount++;
 921   8                                                      }
 922   7                                                      else    if( (vMulPointCount>=4)&&(vMulPointCount<=6))
C51 COMPILER V8.01   MAIN                                                                  01/09/2009 17:53:57 PAGE 16  

 923   7                                                      {
 924   8                                                              vPresetPosition=VMulPoint[8-vMulPointCount];
 925   8                                                              vMulPointCount++;
 926   8                                                      }
 927   7                                                      else 
 928   7                                                      {
 929   8                                                              vPresetPosition=VMulPoint[8-vMulPointCount];
 930   8                                                              vMulPointCount=0;
 931   8                                                      }
 932   7                                                      
 933   7                                              }
 934   6                                              break;                          
 935   6                                              
 936   6                                              
 937   6                                      case DECELERATION:
 938   6                                              if(currentCount==0)
 939   6                                                      currentCount=15;
 940   6                                              else
 941   6                                                      --currentCount;
 942   6                                              VMotorOut(SIN16[currentCount]) ;
 943   6                                              
 944   6                                              --vAbsolutionPosition;
 945   6                                              if(accDecCount==15)
 946   6                                              {
 947   7                                                      vSoftTimer0=DECTABLE[accDecCount]/250;
 948   7                                                      accDecCount=0;
 949   7                                                      vaccDecFlag=PAUSE;
 950   7                                                      vPauseTime=50;
 951   7                                                      VMotorOut(SIN16[currentCount]) ;
 952   7                                                      
 953   7                                              }
 954   6                                              else
 955   6                                              {
 956   7                                                      ++accDecCount;
 957   7                                                      vSoftTimer0=DECTABLE[accDecCount]/250;
 958   7                                              }
 959   6                                              
 960   6                                              //      VMotorOut(SIN16[currentCount+1]) ;
 961   6                                              break;
 962   6                                      case ACCELERATION:
 963   6                                              if(currentCount==0)
 964   6                                                      currentCount=15;
 965   6                                              else
 966   6                                                      --currentCount;
 967   6                                              VMotorOut(SIN16[currentCount]) ;
 968   6                                              
 969   6                                              --vAbsolutionPosition;
 970   6                                              if(accDecCount==15)
 971   6                                              {
 972   7                                                      vSoftTimer0=ACCTABLE[accDecCount]/250;
 973   7                                                      accDecCount=0;
 974   7                                                      vPresetPosition=vPresetPosition+16;
 975   7                                                      vaccDecFlag=NORMALMOTION;
 976   7                                              }
 977   6                                              else
 978   6                                              {
 979   7                                                      vSoftTimer0=ACCTABLE[accDecCount]/250;
 980   7                                                      ++accDecCount;                          
 981   7                                              }
 982   6                                              
 983   6                                              break;
 984   6                                      case NORMALMOTION:
C51 COMPILER V8.01   MAIN                                                                  01/09/2009 17:53:57 PAGE 17  

 985   6                                              if(vPresetPosition!=vAbsolutionPosition)
 986   6                                              {
 987   7                                                      if(currentCount==0)
 988   7                                                              currentCount=15;
 989   7                                                      else
 990   7                                                              --currentCount;
 991   7                                                      VMotorOut(SIN16[currentCount]) ;
 992   7                                                      
 993   7                                                      --vAbsolutionPosition;
 994   7                                                      vSoftTimer0=-2000;
 995   7                                                      //      vSoftTimer0=ACCDEC[accDecCount];
 996   7                                              }
 997   6                                              else
 998   6                                                      vaccDecFlag=DECELERATION;
 999   6                                              break;
1000   6                                              
1001   6                            

⌨️ 快捷键说明

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