📄 menu.lst
字号:
405
406 void d0(void)
407
408 {
409 1
410 1 d0_3(0);
411 1
412 1
413 1
414 1 }
415
416 //--------------------------------------------------------------------
417
418 void d1(void)
419
420 {
421 1
422 1 d0_3(1);
423 1
424 1 }
425
426 //--------------------------------------------------------------------
427
C51 COMPILER V7.50 MENU 03/13/2008 13:49:26 PAGE 8
428 void d2(void)
429
430 {
431 1
432 1 d0_3(2);
433 1
434 1 }
435
436 //--------------------------------------------------------------------
437
438 void d3()
439
440 {
441 1
442 1 d0_3(3);
443 1
444 1 }
445
446 //--------------------------------------------------------------------
447
448 void d4()
449
450 {
451 1
452 1 dis_cls();
453 1
454 1 pwm();
455 1
456 1 }
457
458 //--------------------------------------------------------------------
459
460 void d5()
461
462 {
463 1
464 1 dis_cls();
465 1
466 1 dis_one_zi(0,0,x19,1,1);
467 1
468 1 dis_one_zi(0,1,x20,1,1);
469 1
470 1 dis_one_char(0,4,':',1);
471 1
472 1 dis_one_char(0,5,' ',1);
473 1
474 1 dis_one_char(0,6,'V',1);
475 1
476 1 dis_one_char(0,7,'1',1);
477 1
478 1 dis_one_char(0,8,'.',1);
479 1
480 1 dis_one_char(0,9,'0',1);
481 1
482 1 dis_one_char(0,10,'.',1);
483 1
484 1 dis_one_char(0,11,'0',1);
485 1
486 1
487 1
488 1 dis_one_zi(1,0,x25,1,1);
489 1
C51 COMPILER V7.50 MENU 03/13/2008 13:49:26 PAGE 9
490 1 dis_one_zi(1,1,x26,1,1);
491 1
492 1 dis_one_zi(1,2,x27,1,1);
493 1
494 1 dis_one_zi(1,3,x28,1,1);
495 1
496 1 dis_one_char(1,8,':',1);
497 1
498 1 dis_one_zi(2,4,x32,1,1);
499 1
500 1 dis_one_zi(2,5,x33,1,1);
501 1
502 1 dis_one_zi(2,6,x34,1,1);
503 1
504 1 dis_one_zi(2,7,x35,1,1);
505 1
506 1
507 1
508 1 dis_one_zi(3,4,x29,1,1);
509 1
510 1 dis_one_zi(3,5,x30,1,1);
511 1
512 1 dis_one_zi(3,6,x31,1,1);
513 1
514 1
515 1
516 1 }
517
518 //--------------------------------------------------------------------
519
520 void d6()
521
522 {
523 1
524 1 dis_cls();
525 1
526 1 freq();
527 1
528 1 }
529
530 //--------------------------------------------------------------------
531
532 void d7()
533
534 {
535 1
536 1 dis_cls();
537 1
538 1 wave();
539 1
540 1 }
541
542 //--------------------------------------------------------------------
543
544 typedef struct
545
546 {
547
548 uchar keystateindex;
549
550 uchar keydnstate;
551
C51 COMPILER V7.50 MENU 03/13/2008 13:49:26 PAGE 10
552 uchar keyupstate;
553
554 uchar keycrstate;
555
556 void(*currentoperate)();
557
558 } kbdtabstruct;
559
560 //--------------------------------------------------------------------
561
562 kbdtabstruct code keytab[size_of_keybd_menu]=
563
564 { //第一行表示在0级菜单时按下向下键则转到1级菜单
565
566 //按下向上键则转1级菜单,按下回车键则转5级菜单
567
568 // 下 上 回车
569
570
571
572 { 0, 1, 3, 6, (* d0)},
573
574 { 1, 2, 0, 7, (* d1)},
575
576 { 2, 3, 1, 4, (* d2)},
577
578 { 3, 0, 2, 5, (* d3)},
579
580
581
582 { 4, 2, 2, 2, (* d4)},//PWM分析子程序
583
584 { 5, 3, 3, 3, (* d5)},//版本信息
585
586 { 6, 0, 0, 0, (* d6)},//频率计子程序
587
588 { 7, 0, 1, 1, (* d7)},//示波器子程序
589
590 };
591
592 //--------------------------------------------------------------------
593
594 void getkeyinput(void)
595
596 {
597 1
598 1
599 1
600 1 uchar key_value,temp;
601 1
602 1 re: temp=P3;
603 1
604 1 temp|=0x03;
605 1
606 1 P3=temp;
607 1
608 1 key_value=P3&0x03;
609 1
610 1 delay(50000);
611 1
612 1 //0:下键 2:中键 1:上键
613 1
C51 COMPILER V7.50 MENU 03/13/2008 13:49:26 PAGE 11
614 1 switch(key_value)
615 1
616 1 {
617 2
618 2 case 1:
619 2
620 2 {
621 3
622 3 keyfuncindex=keytab[keyfuncindex].keycrstate;
623 3
624 3 beep(6500);
625 3
626 3 break;
627 3
628 3 }
629 2
630 2 case 2:
631 2
632 2 {
633 3
634 3 keyfuncindex=keytab[keyfuncindex].keyupstate;
635 3
636 3 beep(6500);
637 3
638 3 break;
639 3
640 3 }
641 2
642 2 case 0:
643 2
644 2 {
645 3
646 3 keyfuncindex=keytab[keyfuncindex].keydnstate;
647 3
648 3 beep(6500);
649 3
650 3 break;
651 3
652 3 }
653 2
654 2 default:
655 2
656 2 goto re;
657 2
658 2 }
659 1
660 1
661 1
662 1 keyfuncptr=keytab[keyfuncindex].currentoperate;
663 1
664 1 (*keyfuncptr)();
665 1
666 1 delay(65535);
667 1
668 1 delay(65535);
669 1
670 1 }
671
672 //--------------------------------------------------------------------
673
674 void beep(uint time)
675
C51 COMPILER V7.50 MENU 03/13/2008 13:49:26 PAGE 12
676 {
677 1
678 1 beep_port=0;
679 1
680 1 delay(time);
681 1
682 1 delay(time);
683 1
684 1 delay(time);
685 1
686 1 delay(time);
687 1
688 1 beep_port=1;
689 1
690 1 }
691
692 //--------------------------------------------------------------------
693
694 void sys_auto_check(void)
695
696 {
697 1
698 1 uchar xx,c=3;
699 1
700 1
701 1
702 1 dis_one_zi(0,2,x36,1,1);
703 1
704 1 dis_one_zi(0,3,x37,1,1);
705 1
706 1 dis_one_zi(0,4,x38,1,1);
707 1
708 1 dis_one_zi(0,5,x39,1,1);
709 1
710 1 dis_one_zi(1,1,x40,1,1);
711 1
712 1 dis_one_zi(1,2,x41,1,1);
713 1
714 1 dis_one_zi(1,3,x42,1,1);
715 1
716 1 dis_one_zi(1,4,x7,1,1);
717 1
718 1 dis_one_zi(1,5,x8,1,1);
719 1
720 1 dis_one_zi(1,6,x9,1,1);
721 1
722 1 while(--c!=0)
723 1
724 1 {
725 2
726 2 for(xx=3;xx<13;xx++)
727 2
728 2 {
729 3
730 3 dis_one_char(2,xx-1,'>',1);
731 3
732 3 dis_one_char(2,xx ,'>',1);
733 3
734 3 dis_one_char(2,xx+1,'>',1);
735 3
736 3 delay(50000);
737 3
C51 COMPILER V7.50 MENU 03/13/2008 13:49:26 PAGE 13
738 3 delay(50000);
739 3
740 3
741 3
742 3 dis_one_char(2,xx-1,' ',1);
743 3
744 3 dis_one_char(2,xx ,' ',1);
745 3
746 3 dis_one_char(2,xx+1,' ',1);
747 3
748 3 }
749 2
750 2 }
751 1
752 1 beep(60000);
753 1
754 1 }
755
756 //--------------------------------------------------------------------
757
758 void main(void) using 0
759
760 {
761 1
762 1
763 1
764 1 beep_port=1;
765 1
766 1 EA=0;
767 1
768 1 SP=0x7f;
769 1
770 1 lcd_init();
771 1
772 1 f_in=1;
773 1
774 1 sys_auto_check();
775 1
776 1 AD_init(7);
777 1
778 1 keyfuncindex=0;
779 1
780 1 d0();
781 1
782 1 while(1)
783 1
784 1 {
785 2
786 2 getkeyinput();
787 2
788 2 }
789 1
790 1 }
791
792
793
794
795
796
797
798
799
C51 COMPILER V7.50 MENU 03/13/2008 13:49:26 PAGE 14
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1964 ----
CONSTANT SIZE = 72 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 7
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -