📄 main.lst
字号:
610 3 Timer[0].CurPluseNum = MotorStatus[1].CmdPluseNum;
611 3 }
612 2 else
613 2 {
614 3 // 停止
615 3 MotorStatus[1].Status |= MOTOR_STOP_CMD_MASK;
616 3 }
617 2 break;
618 2
619 2 // 电机2
620 2 case 3:
621 2 if ( MotorStatus[2].Status & MOTOR_STOP_CMD_MASK )
622 2 {
623 3 if ( (MotorStatus[2].Dir & DIR_FLAG_MASK) == DIR_FLAG_MASK )
624 3 {
625 4 if ( Timer[0].CenrerPluse == (WORD)MotorStatus[2].TotalPluseCnt )
626 4 {
627 5 // 只保留零点记录标志
628 5 MotorStatus[2].Status &= ZERO_RECORD_MASK;
629 5 MotorStatus[2].Dir = 0;
630 5
631 5 // 关定时器0
632 5 TR0 = 0;
633 5 ET0 = 0;
634 5 Timer[0].MotorIdx = 0;
635 5 break;
636 5 }
637 4 }
638 3 else
639 3 {
640 4 // 只保留零点记录标志
641 4 MotorStatus[2].Status &= ZERO_RECORD_MASK;
642 4 MotorStatus[2].Dir = 0;
643 4
644 4 // 关定时器0
645 4 TR0 = 0;
646 4 ET0 = 0;
647 4 Timer[0].MotorIdx = 0;
648 4 PUL2 = 1;
*** ERROR C202 IN LINE 648 OF MAIN.C: 'PUL2': undefined identifier
649 4 break;
650 4 }
651 3 }
652 2
653 2 // 改变输出电平
654 2 PUL2 = ~PUL2;
*** ERROR C202 IN LINE 654 OF MAIN.C: 'PUL2': undefined identifier
C51 COMPILER V7.04 MAIN 01/23/2007 12:25:24 PAGE 12
655 2
656 2 // 增减脉冲总数量
657 2 tmpptr = (BYTE idata*)&MotorStatus[2].TotalPluseCnt + LSB;
658 2 if ( DIR2 )
*** ERROR C202 IN LINE 658 OF MAIN.C: 'DIR2': undefined identifier
659 2 DWordDec( );
660 2 else
661 2 DWordInc( );
662 2
663 2 // 当前脉冲减
664 2 tmpptr = (BYTE idata*)&Timer[0].CurPluseNum + LSB;
665 2 DWordDec( );
666 2
667 2 // 零位检测
668 2 if ( MotorStatus[2].Status & ZERO_CHECK_MASK )
669 2 {
670 3 // 零位到达
671 3 if ( !LastTimer0ST && ST2 )
*** ERROR C202 IN LINE 671 OF MAIN.C: 'P2_2': undefined identifier
672 3 {
673 4 MotorStatus[2].Status |= MOTOR_STOP_CMD_MASK;
674 4 MotorStatus[2].Status |= ZERO_RECORD_MASK;
675 4 MotorStatus[2].TotalPluseCnt = 0;
676 4 break;
677 4 }
678 3 LastTimer0ST = ST2;
*** ERROR C202 IN LINE 678 OF MAIN.C: 'P2_2': undefined identifier
679 3 }
680 2
681 2 #if (SCH_PCB_VERSION == 1)
682 2 // 工作零位检测
683 2 if ( MotorStatus[2].Status & WORK_ZERO_CHECK_MASK )
684 2 {
685 3 // 零位到达
686 3 if ( !LastTimer0WST && WST2 )
*** ERROR C202 IN LINE 686 OF MAIN.C: 'WST2': undefined identifier
687 3 {
688 4 MotorStatus[2].Status |= MOTOR_STOP_CMD_MASK;
689 4 break;
690 4 }
691 3 LastTimer0WST = WST2;
*** ERROR C202 IN LINE 691 OF MAIN.C: 'WST2': undefined identifier
692 3 }
693 2 #endif
694 2 // 脉冲数未完
695 2 if ( Timer[0].CurPluseNum )
696 2 break;
697 2
698 2 if ( (MotorStatus[2].Dir & DIR_FLAG_MASK) == DIR_FLAG_MASK )
699 2 {
700 3 DIR2 = ~DIR2;
*** ERROR C202 IN LINE 700 OF MAIN.C: 'DIR2': undefined identifier
701 3 Timer[0].CurPluseNum = MotorStatus[2].CmdPluseNum;
702 3 }
703 2 else
704 2 {
705 3 // 停止
706 3 MotorStatus[2].Status |= MOTOR_STOP_CMD_MASK;
707 3 }
708 2 break;
709 2
710 2 // 电机3
C51 COMPILER V7.04 MAIN 01/23/2007 12:25:24 PAGE 13
711 2 case 4:
712 2 if ( MotorStatus[3].Status & MOTOR_STOP_CMD_MASK )
713 2 {
714 3 if ( (MotorStatus[3].Dir & DIR_FLAG_MASK) == DIR_FLAG_MASK )
715 3 {
716 4 if ( Timer[0].CenrerPluse == (WORD)MotorStatus[3].TotalPluseCnt )
717 4 {
718 5 // 只保留零点记录标志
719 5 MotorStatus[3].Status &= ZERO_RECORD_MASK;
720 5 MotorStatus[3].Dir = 0;
721 5
722 5 // 关定时器0
723 5 TR0 = 0;
724 5 ET0 = 0;
725 5 Timer[0].MotorIdx = 0;
726 5 break;
727 5 }
728 4 }
729 3 else
730 3 {
731 4 // 只保留零点记录标志
732 4 MotorStatus[3].Status &= ZERO_RECORD_MASK;
733 4 MotorStatus[3].Dir = 0;
734 4
735 4 // 关定时器0
736 4 TR0 = 0;
737 4 ET0 = 0;
738 4 Timer[0].MotorIdx = 0;
739 4 PUL3 = 1;
*** ERROR C202 IN LINE 739 OF MAIN.C: 'PUL3': undefined identifier
740 4 break;
741 4 }
742 3 }
743 2
744 2 // 改变输出电平
745 2 PUL3 = ~PUL3;
*** ERROR C202 IN LINE 745 OF MAIN.C: 'PUL3': undefined identifier
746 2
747 2 // 增减脉冲总数量
748 2 tmpptr = (BYTE idata*)&MotorStatus[3].TotalPluseCnt + LSB;
749 2 if ( DIR3 )
*** ERROR C202 IN LINE 749 OF MAIN.C: 'DIR3': undefined identifier
750 2 DWordDec( );
751 2 else
752 2 DWordInc( );
753 2
754 2 // 当前脉冲减
755 2 tmpptr = (BYTE idata*)&Timer[0].CurPluseNum + LSB;
756 2 DWordDec( );
757 2
758 2 // 零位检测
759 2 if ( MotorStatus[3].Status & ZERO_CHECK_MASK )
760 2 {
761 3 // 零位到达
762 3 if ( !LastTimer0ST && ST3 )
*** ERROR C202 IN LINE 762 OF MAIN.C: 'P2_3': undefined identifier
763 3 {
764 4 MotorStatus[3].Status |= MOTOR_STOP_CMD_MASK;
765 4 MotorStatus[3].Status |= ZERO_RECORD_MASK;
766 4 MotorStatus[3].TotalPluseCnt = 0;
767 4 break;
768 4 }
C51 COMPILER V7.04 MAIN 01/23/2007 12:25:24 PAGE 14
769 3 LastTimer0ST = ST3;
*** ERROR C202 IN LINE 769 OF MAIN.C: 'P2_3': undefined identifier
770 3 }
771 2
772 2 // 脉冲数未完
773 2 if ( Timer[0].CurPluseNum )
774 2 break;
775 2
776 2 if ( (MotorStatus[3].Dir & DIR_FLAG_MASK) == DIR_FLAG_MASK )
777 2 {
778 3 DIR3 = ~DIR3;
*** ERROR C202 IN LINE 778 OF MAIN.C: 'DIR3': undefined identifier
779 3 Timer[0].CurPluseNum = MotorStatus[3].CmdPluseNum;
780 3 }
781 2 else
782 2 {
783 3 // 停止
784 3 MotorStatus[3].Status |= MOTOR_STOP_CMD_MASK;
785 3 }
786 2 break;
787 2
788 2 // 电机4
789 2 case 5:
790 2 if ( MotorStatus[4].Status & MOTOR_STOP_CMD_MASK )
791 2 {
792 3 if ( (MotorStatus[4].Dir & DIR_FLAG_MASK) == DIR_FLAG_MASK )
793 3 {
794 4 if ( Timer[0].CenrerPluse == (WORD)MotorStatus[4].TotalPluseCnt )
795 4 {
796 5 // 只保留零点记录标志
797 5 MotorStatus[4].Status &= ZERO_RECORD_MASK;
798 5 MotorStatus[4].Dir = 0;
799 5
800 5 // 关定时器0
801 5 TR0 = 0;
802 5 ET0 = 0;
803 5 Timer[0].MotorIdx = 0;
804 5 break;
805 5 }
806 4 }
807 3 else
808 3 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -