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

📄 main.lst

📁 基于RS232的键盘,也可以作为输入输出的操作面板,用于数控系统开发
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -