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