📄 mainokuse.lst
字号:
484 send[1]=i/10%10;
485 send[2]=i/100%10;
486 send[3]=i/1000%10;
487 send[4]=13;
C51 COMPILER V7.06 MAINOKUSE 09/01/2006 15:13:01 PAGE 9
488 send[5]=10;
489 send[6]=0;
490 Display(send);
491 if(flag_trace<97)return ;
492 while(ad549()<gate)RunB(10,pull); //右
493 for(i=0;i<searth;i++)while(ad549()>gate)RunA(1,pull);//上
494 if(i>=searth) //没找到
495 {
496 for(i=0;i<searth*2;i++)while(ad549()>gate)RunA(1,push); //下
497 if(i>=searth*2) //没找到
498 {
499 i1=i;
500 for(i=0;i<searth*2;i++)RunA(1,pull); //退回去,上
501 flag_trace--;
502 Go_lu(); //走左上
503 }
504 else Go_rd(); //找到,走右下
505 }
506 else
507 {
508 Go_ru();//找到,走右上
509 flag_trace=99;
510 }
511 //*/
512 //}
513
514
515 /*
516 void Go_rd(bit dir) //右下
517 {
518 /* int i,i1;
519 i=ad549();
520 send[0]=i%10;
521 send[1]=i/10%10;
522 send[2]=i/100%10;
523 send[3]=i/1000%10;
524 send[4]=13;
525 send[5]=10;
526 send[6]=0;
527 Display(send);
528 if(flag_trace<97)return ;
529
530 if(dir==0)
531 {
532 RunB(10,pull);
533 if(ad549()<gate)//正常
534 {
535 Go_ru(1);
536 flag_trace=99;
537 }
538 else //没找到
539 {
540 RunB(20,pull); //zhaohuilailiao
541 if(ad549()<gate)//正常
542 {
543 Go_ru(0);
544 flag_trace=99;
545 }
546 else //没找到
547 {
548 RunB(20,pull); //tuihuiqu
549 Go_rd(0);
C51 COMPILER V7.06 MAINOKUSE 09/01/2006 15:13:01 PAGE 10
550 flag_trace--;
551 }
552 }
553 }
554 }
555
556 /*
557 int i,i1;
558 //flag_trace=trace_rd;
559 i=ad549();
560 send[0]=i%10;
561 send[1]=i/10%10;
562 send[2]=i/100%10;
563 send[3]=i/1000%10;
564 send[4]=13;
565 send[5]=10;
566 send[6]=0;
567 Display(send);
568 if(flag_trace<97)return ;
569 while(ad549()<gate)RunB(10,pull); //右
570 for(i=0;i<searth;i++)while(ad549()>gate)RunA(1,push);//下
571 if(i>=searth) //没找到
572 {
573 for(i=0;i<searth*2;i++)while(ad549()>gate)RunA(1,pull); //上
574 if(i>=searth*2) //没找到
575 {
576 i1=i;
577 for(i=0;i<searth*2;i++)RunA(1,push); //退回去,下
578 flag_trace--;
579 Go_ld(); //走左下
580 }
581 else Go_ru(); //找到,走右上
582 }
583 else
584 {
585 Go_rd();//找到,走继续右下
586 flag_trace=99;
587 }
588 //*/
589 //}
590 /*
591 void Go_ld(bit dir) //左下
592 {
593 int i,i1;
594 //flag_trace=trace_ld;
595 i=ad549();
596 send[0]=i%10;
597 send[1]=i/10%10;
598 send[2]=i/100%10;
599 send[3]=i/1000%10;
600 send[4]=13;
601 send[5]=10;
602 send[6]=0;
603 Display(send);
604 if(flag_trace<97)return ;
605 while(ad549()<gate)RunB(10,push); //右左
606 for(i=0;i<searth;i++)while(ad549()>gate)RunA(1,push);//下
607 if(i>=searth) //没找到
608 {
609 for(i=0;i<searth*2;i++)while(ad549()>gate)RunA(1,push); //上
610 if(i>=searth*2) //没找到
611 {
C51 COMPILER V7.06 MAINOKUSE 09/01/2006 15:13:01 PAGE 11
612 i1=i;
613 for(i=0;i<searth*2;i++)RunA(1,pull); //退回去,下
614 flag_trace--;
615 Go_rd(); //走右下
616 }
617 else Go_ru(); //找到,走右上
618 }
619 else
620 {
621 Go_ld();//找到,走左下
622 flag_trace=99;
623 }
624 }
625
626 void Go_lu(bit dir) //左上
627 {
628 int i,i1;
629 //flag_trace=trace_lu;
630 i=ad549();
631 send[0]=i%10;
632 send[1]=i/10%10;
633 send[2]=i/100%10;
634 send[3]=i/1000%10;
635 send[4]=13;
636 send[5]=10;
637 send[6]=0;
638 Display(send);
639 if(flag_trace<97)return ;
640 while(ad549()<gate)RunB(10,push); //左
641 for(i=0;i<searth;i++)while(ad549()>gate)RunA(1,pull);//上
642 if(i>=searth) //没找到
643 {
644 for(i=0;i<searth*2;i++)while(ad549()>gate)RunA(1,push); //下
645 if(i>=searth*2) //没找到
646 {
647 i1=i;
648 for(i=0;i<searth*2;i++)RunA(1,pull); //退回去,上
649 flag_trace--;
650 Go_ru(); //走右上
651 }
652 else Go_rd(); //找到,走
653 }
654 else
655 {
656 Go_lu();//找到,走左上
657 flag_trace=99;
658 }
659 }
660 //*/
661
662 unsigned int ad549(void)
663 {
664 1 unsigned char AD1=0;
665 1 unsigned char i;
666 1 unsigned char AD2=0x04;
667 1
668 1 CS = 1;
669 1 CLK = 0;
670 1 DOUT= 1; /* Initialize for Read */
671 1
672 1 CS = 0; /* Enable and Drive out Bit9 */
673 1 for(i=0;i<8;i++)
C51 COMPILER V7.06 MAINOKUSE 09/01/2006 15:13:01 PAGE 12
674 1 {
675 2 AD1 = AD1<<1;
676 2 DIN=(bit)(AD2&0x80);
677 2 if( DOUT ) AD1 = AD1|0x01;
678 2 AD2<<=1;
679 2 CLK=1;
680 2 _nop_();
681 2 _nop_();
682 2 CLK=0; /* failing edge drive out bit */
683 2 _nop_();
684 2 _nop_();
685 2 }
686 1 //AD1 = AD1>>1;
687 1
688 1 CS = 1;
689 1 for(i=0;i<20;i++); /* delay >21us */
690 1 return ((unsigned int)(AD1));
691 1 }
692
693
694 int Disp()
695 {
696 1
697 1 send[0]=(long)ylast%10;
698 1 send[1]=(long)ylast/10%10;
699 1 send[2]=(long)ylast/100%10;
700 1 send[3]=(long)ylast/1000%10;
701 1 send[4]=(long)xlast%10;
702 1 send[5]=(long)xlast/10%10;
703 1 send[6]=(long)xlast/100%10;
704 1 Display(send);
705 1 }
706
707
708
709
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 674 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 93 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -