📄 mcu.lst
字号:
366 1 {
367 2 valu= k-m;
368 2 }
369 1 return valu;
370 1 }
371 /*
372 void ResetCar()
373 {
374 while((ReadCarStart())!=0)
375 {
376 CarBack();
377 CLRWDT = 0x55;
378 }
379 CarStop();
380 }
381
382 bit ReadCarStart()
383 {
384 bit m;
385 Byte Port;
386 RDPA_REG |=PA6;
387 Port = PTA_REG;
388 if((Port & PA6)!=0)
389 {
390 m=1;
391 }
392 else
393 {
394 m=0;
395 }
396 return m;
397 }
398 bit ReadCarend()
399 {
400 bit m;
401 Byte Port;
402 RDPA_REG |=PA4;
403 Port = PTA_REG;
404 if((Port & PA4)!=0)
405 {
406 m=1;
407 }
408 else
409 {
410 m=0;
411 }
412 return m;
413 }
414
415 void CarBack()
416 {
417 Byte Port;
418 Port = PTA_REG;
419 Port |= RDPA_REG;
420 Port |= PA2;
421 PTA_REG = Port;
422
423 Port = PTA_REG;
424 Port |= RDPA_REG;
425 Port &= ~PA0;
C51 COMPILER V7.06 MCU 12/11/2007 11:24:25 PAGE 8
426 PTA_REG = Port;
427 }
428 void CarStop()
429 {
430 Byte Port;
431 Port = PTA_REG;
432 Port |= RDPA_REG;
433 Port &= ~PA2;
434 PTA_REG = Port;
435
436 Port = PTA_REG;
437 Port |= RDPA_REG;
438 Port &= ~PA0;
439 PTA_REG = Port;
440 }
441 void CarFront()
442 {
443 Byte Port;
444 Port = PTA_REG;
445 Port |= RDPA_REG;
446 Port &= ~PA2;
447 PTA_REG = Port;
448 //
449 Port = PTA_REG;
450 Port |= RDPA_REG;
451 Port |= PA0;
452 PTA_REG = Port;
453 }
454 */
455 void ScreenUp()
456 {
457 1 Byte Port;
458 1 Port = PTA_REG;
459 1 Port |= RDPA_REG;
460 1 Port |= PA1;
461 1 PTA_REG = Port;
462 1
463 1 Port = PTA_REG;
464 1 Port |= RDPA_REG;
465 1 Port &= ~PA0;
466 1 PTA_REG = Port;
467 1 }
468 void ScreenStop()
469 {
470 1 Byte Port;
471 1 Port = PTA_REG;
472 1 Port |= RDPA_REG;
473 1 Port &= ~PA1;
474 1 PTA_REG = Port;
475 1
476 1 Port = PTA_REG;
477 1 Port |= RDPA_REG;
478 1 Port &= ~PA0;
479 1 PTA_REG = Port;
480 1 }
481 void ScreenDown()
482 {
483 1 Byte Port;
484 1 Port = PTA_REG;
485 1 Port |= RDPA_REG;
486 1 Port &= ~PA1;
487 1 PTA_REG = Port;
C51 COMPILER V7.06 MCU 12/11/2007 11:24:25 PAGE 9
488 1
489 1 Port = PTA_REG;
490 1 Port |= RDPA_REG;
491 1 Port |= PA0;
492 1 PTA_REG = Port;
493 1 }
494 //********************************************************
495 //********************************************************
496 //==========================================
497 unsigned char ScanKey()
498 {
499 1 unsigned char i,k=0,j,h,m=0;
500 1 line1h();
501 1 line2h();
502 1 line3h();
503 1 line4h();
504 1
505 1 for(i=4;i<8;i++)
506 1 {//p2.i=0;
507 2 CLRWDT = 0x55;
508 2 switch(i)
509 2 {
510 3 case 4:{
511 4 line1l();
512 4 break;
513 4 }
514 3 case 5:{
515 4 line2l();
516 4 break;
517 4 }
518 3 case 6:{
519 4 line3l();
520 4 break;
521 4 }
522 3 case 7:{
523 4 line4l();
524 4 break;
525 4 }
526 3 }
527 2
528 2 // }
529 2
530 2 for(j=1;j<4;j++)
531 2 {
532 3 if((Row1()==0))
533 3 {
534 4 k=i;
535 4 i=8;
536 4 h=1;
537 4 j=5;
538 4 // LED_GrnOff();
539 4 }
540 3 else if(Row2()==0)
541 3 {
542 4 k=i;
543 4 i=8;
544 4 h=2;
545 4 j=6;
546 4 // LED_GrnOff();
547 4 }
548 3 else if(Row3()==0)
549 3 {
C51 COMPILER V7.06 MCU 12/11/2007 11:24:25 PAGE 10
550 4 k=i;
551 4 i=9;
552 4 h=3;
553 4 j=7;
554 4 // LED_GrnOff();
555 4 }
556 3
557 3 // LED_RedOff();
558 3 // break;
559 3 while((Row1()==0)||(Row2()==0)||(Row3()==0))
560 3 {
561 4 CLRWDT = 0x55;
562 4
563 4
564 4 }
565 3 j = 5;
566 3
567 3 // Sleep(50);
568 3
569 3 }
570 2 }
571 1 switch(k)
572 1 {
573 2 case 4:{
574 3 m=1;
575 3 break;
576 3 }
577 2 case 5:{
578 3 m=2;
579 3 break;
580 3 }
581 2 case 6:{
582 3 m=3;
583 3 break;
584 3 }
585 2 case 7:{
586 3 m=4;
587 3 break;
588 3 }
589 2 default:
590 2 {
591 3 m=0;
592 3 h=0;
593 3 }
594 2 // case 7:m=4;
595 2 }
596 1 line1h();
597 1 line2h();
598 1 line3h();
599 1 line4h();
600 1 if(m==0)
601 1 {
602 2 return 0;
603 2 }
604 1 else
605 1 {
606 2 return (h*10+m);
607 2 }
608 1
609 1 //return(n);
610 1 }
611
C51 COMPILER V7.06 MCU 12/11/2007 11:24:25 PAGE 11
612 void line1l()
613 {
614 1 Byte Port;
615 1 Port = PTD_REG;
616 1 Port |= RDPD_REG;
617 1 Port &= ~PD3;
618 1 PTD_REG = Port;
619 1 }
620 void line2l()
621 {
622 1 Byte Port;
623 1 Port = PTD_REG;
624 1 Port |= RDPD_REG;
625 1 Port &= ~PD4;
626 1 PTD_REG = Port;
627 1 }
628 void line3l()
629 {
630 1 Byte Port;
631 1 Port = PTD_REG;
632 1 Port |= RDPD_REG;
633 1 Port &= ~PD5;
634 1 PTD_REG = Port;
635 1 }
636 void line4l()
637 {
638 1 Byte Port;
639 1 Port = PTD_REG;
640 1 Port |= RDPD_REG;
641 1 Port &= ~PD6;
642 1 PTD_REG = Port;
643 1 }
644 void line1h()
645 {
646 1 Byte Port;
647 1 Port = PTD_REG;
648 1 Port |= RDPD_REG;
649 1 Port |= PD3;
650 1 PTD_REG = Port;
651 1 }
652 void line2h()
653 {
654 1 Byte Port;
655 1 Port = PTD_REG;
656 1 Port |= RDPD_REG;
657 1 Port |= PD4;
658 1 PTD_REG = Port;
659 1 }
660 void line3h()
661 {
662 1 Byte Port;
663 1 Port = PTD_REG;
664 1 Port |= RDPD_REG;
665 1 Port |= PD5;
666 1 PTD_REG = Port;
667 1 }
668 void line4h()
669 {
670 1 Byte Port;
671 1 Port = PTD_REG;
672 1 Port |= RDPD_REG;
673 1 Port |= PD6;
C51 COMPILER V7.06 MCU 12/11/2007 11:24:25 PAGE 12
674 1 PTD_REG = Port;
675 1 }
676 bit Row1()
677 {
678 1 bit m;
679 1 Byte Port;
680 1 RDPD_REG |=PD0;
681 1 Port = PTD_REG;
682 1 if((Port & PD0)!=0)
683 1 {
684 2 m=1;
685 2 }
686 1 else
687 1 {
688 2 m=0;
689 2 }
690 1 return m;
691 1 }
692
693 bit Row2()
694 {
695 1 bit m;
696 1 Byte Port;
697 1 RDPD_REG |=PD1;
698 1 Port = PTD_REG;
699 1 if((Port & PD1)!=0)
700 1 {
701 2 m=1;
702 2 }
703 1 else
704 1 {
705 2 m=0;
706 2 }
707 1 return m;
708 1 }
709 bit Row3()
710 {
711 1 bit m;
712 1 Byte Port;
713 1 RDPD_REG |=PD2;
714 1 Port = PTD_REG;
715 1 if((Port & PD2)!=0)
716 1 {
717 2 m=1;
718 2 }
719 1 else
720 1 {
721 2 m=0;
722 2 }
723 1 return m;
724 1 }
725 //==========================================
726 void Sleep(Word T)
727 {
728 1 Word i,j;
729 1 for(j=0;j<T;j++)
730 1 for(i=0;i<53*(CPU_CLK/20000000);i++)
731 1 CLRWDT=0x55;
732 1 }
733 /*==========================================
734 ==========================================*/
735 void WaitSetup(unsigned short time)
C51 COMPILER V7.06 MCU 12/11/2007 11:24:25 PAGE 13
736 {
737 1 LocalTimer = time; /* timeout n ms */
738 1 while(LocalTimer != 0){
739 2 // CheckModeChange();
740 2 }
741 1 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -