📄 main.lst
字号:
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 + -