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

📄 laserscanning.lst

📁 89S51单片机通过PDIUSBD12的USB接口芯片实现与上位机通讯的固件源码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 410   5                                              if(RingIndex==0) 
 411   5                                              {
 412   6                                                      RunDirection = 0;                                               
 413   6                                                      RingIndex = 1;
 414   6                                              }
 415   5                                      }
 416   4                                      else
 417   4                                      {
 418   5                                              RingIndex = (RingIndex+1)%(ScanRange+1);        
 419   5                                              if(RingIndex==ScanRange)        RunDirection = 1;
 420   5                                      }
 421   4                              }
C51 COMPILER V7.09   LASERSCANNING                                                         05/28/2005 15:04:13 PAGE 8   

 422   3                      }
 423   2              }
 424   1      }
 425          //********************************************************************************************************
             -*****
 426          main()
 427          {
 428   1              unsigned char Key = 0xFF;
 429   1              InitialCPU();
 430   1              InitialMotor();
 431   1              LCD_Initial();
 432   1              InitialTimer0();
 433   1      
 434   1              SetSpeed(10);
 435   1              SetScanRange(10);
 436   1              UpdataScreen(RunMode);
 437   1              ReconnectUSB();
 438   1      
 439   1              while(1)
 440   1              {
 441   2                      Key = GetKey();
 442   2                      if(EventFlags.Bits.SetupPacket)
 443   2                      {
 444   3                              EA = 0;
 445   3                              EventFlags.Bits.SetupPacket = 0;
 446   3                              ControlHandler();
 447   3                              EA = 1;
 448   3                      }
 449   2                      if(EventFlags.Bits.Timer)
 450   2                      {
 451   3                              TimerEvent();
 452   3                              EventFlags.Bits.Timer = 0;
 453   3                      }
 454   2                      if(EventFlags.Bits.Port1RxDone)
 455   2                      {
 456   3                              switch(EndPoint1Buffer[0])
 457   3                              {
 458   4                                      case 0x00:      //Mode
 459   4                                              if(EndPoint1Buffer[1]>=0 && EndPoint1Buffer[1]<=2)
 460   4                                              {
 461   5                                                      BackHome();
 462   5                                                      Delay1ms(10);
 463   5                                                      StopMotor();
 464   5                                                      RunMode = EndPoint1Buffer[1];
 465   5                                                      UpdataScreen(RunMode);
 466   5                                              }
 467   4                                              break;
 468   4                                      case 0x01:      //Range
 469   4                                              if(EndPoint1Buffer[1]>=0 && EndPoint1Buffer[1]<=20)
 470   4                                              {
 471   5                                                      ScanRange = EndPoint1Buffer[1];
 472   5                                                      UpdataScreen(RunMode);
 473   5                                              }
 474   4                                              break;
 475   4                                      case 0x02:      //Speed
 476   4                                              if(EndPoint1Buffer[1]>=0 && EndPoint1Buffer[1]<=200)
 477   4                                              {
 478   5                                                      MotorPlusDelay = EndPoint1Buffer[1];
 479   5                                                      UpdataScreen(RunMode);
 480   5                                              }
 481   4                                              break;
 482   4                                      case 0x03:      //校正
C51 COMPILER V7.09   LASERSCANNING                                                         05/28/2005 15:04:13 PAGE 9   

 483   4                                              if(EndPoint1Buffer[1]==0x01)
 484   4                                                      MotorYOneStep(0);
 485   4                                              if(EndPoint1Buffer[1]==0x02)
 486   4                                                      MotorXOneStep(0);
 487   4                                              if(EndPoint1Buffer[1]==0x03)
 488   4                                                      MotorYOneStep(1);
 489   4                                              if(EndPoint1Buffer[1]==0x04)
 490   4                                                      MotorXOneStep(1);
 491   4                                              MotorXPosion = MotorYPosion = 0;
 492   4                                              break;
 493   4                                      case 0x04: //Run
 494   4                                              if(EndPoint1Buffer[1]==0x01)
 495   4                                              {
 496   5                                                      Running = 0;
 497   5                                                      BackHome();
 498   5                                                      Delay1ms(10);
 499   5                                                      StopMotor();
 500   5                                              }
 501   4                                              if(EndPoint1Buffer[1]==0x02)
 502   4                                                      Running = 1;
 503   4                                              UpdataScreen(RunMode);
 504   4                                              break;
 505   4                              }
 506   3                              EndPoint1Buffer[0]=EndPoint1Buffer[1]=EndPoint1Buffer[2]=EndPoint1Buffer[3]=0;
 507   3                              EventFlags.Bits.Port1RxDone = 0;
 508   3                      }
 509   2                      //Key Scan
 510   2                      if(Key!=0xFF)
 511   2                      {
 512   3                              if(RunMode==0x02)
 513   3                              {
 514   4                                      if(Key==0x00)
 515   4                                              MotorYOneStep(0);       
 516   4                                      if(Key==0x01)
 517   4                                              MotorXOneStep(0);
 518   4                                      if(Key==0x02)
 519   4                                              MotorYOneStep(1);
 520   4                                      if(Key==0x03)
 521   4                                              MotorXOneStep(1);
 522   4                                      MotorXPosion = MotorYPosion = 0;
 523   4                              }
 524   3      
 525   3                              if(Key == 4)
 526   3                              {
 527   4                                      Running = 0;
 528   4                                      BackHome();
 529   4                                      Delay1ms(10);
 530   4                                      StopMotor();
 531   4                                      RunMode = (RunMode+1)%3;
 532   4                                      UpdataScreen(RunMode);
 533   4                              }
 534   3                              if(Key == 5)
 535   3                              {
 536   4                                      if(RunMode==0x00 || RunMode==0x01)
 537   4                                      {
 538   5                                              if(RunMode==0x00)
 539   5                                                      RingIndex = 0;
 540   5                                              else if(RunMode==0x01)
 541   5                                                      RingIndex = 1;
 542   5                                              Running = 1;
 543   5                                              UpdataScreen(RunMode);
 544   5                                      }
C51 COMPILER V7.09   LASERSCANNING                                                         05/28/2005 15:04:13 PAGE 10  

 545   4                              }
 546   3                              if(Key == 6)
 547   3                              {
 548   4                                      if(RunMode==0x00 || RunMode==0x01)
 549   4                                      {
 550   5                                              Running = 0;
 551   5                                              BackHome();
 552   5                                              Delay1ms(10);
 553   5                                              StopMotor();
 554   5                                              UpdataScreen(RunMode);
 555   5                                      }
 556   4                              }
 557   3                              if(Key == 0x00)
 558   3                              {
 559   4                                      if(RunMode==0x00 || RunMode==0x01)
 560   4                                      {
 561   5                                              if(ScanRange<20)
 562   5                                              {
 563   6                                                      ScanRange++;
 564   6                                                      UpdataScreen(RunMode);
 565   6                                              }
 566   5                                      }                               
 567   4                              }
 568   3                              if(Key == 0x02)
 569   3                              {
 570   4                                      if(RunMode==0x00 || RunMode==0x01)
 571   4                                      {
 572   5                                              if(ScanRange>0)
 573   5                                              {
 574   6                                                      ScanRange--;
 575   6                                                      UpdataScreen(RunMode);
 576   6                                              }
 577   5                                      }
 578   4                              }
 579   3                              if(Key == 0x01)
 580   3                              {
 581   4                                      if(RunMode==0x00 || RunMode==0x01)
 582   4                                      {
 583   5                                              if(MotorPlusDelay < 200)
 584   5                                              {
 585   6                                                      MotorPlusDelay++;
 586   6                                                      UpdataScreen(RunMode);
 587   6                                              }
 588   5                                      }                       
 589   4                              }
 590   3                              if(Key == 0x03)
 591   3                              {
 592   4                                      if(RunMode==0x00 || RunMode==0x01)
 593   4                                      {
 594   5                                              if(MotorPlusDelay > 0)
 595   5                                              {
 596   6                                                      MotorPlusDelay--;
 597   6                                                      UpdataScreen(RunMode);
 598   6                                              }
 599   5                                      }                       
 600   4                              }
 601   3                      }
 602   2              }
 603   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.09   LASERSCANNING                                                         05/28/2005 15:04:13 PAGE 11  

   CODE SIZE        =   3825    ----
   CONSTANT SIZE    =    547    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     53      49
   IDATA SIZE       =     68    ----
   BIT SIZE         =      4       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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