📄 menu_func.lst
字号:
519 1 clrscr();
520 1 }
521 1 }*/
522 1 while(1);
523 1 Menu_Back();
524 1 }
525 /*-------------模数转换--------*/
526 void Menu_ADC0832()
527 {
528 1 uchar adtemp;
529 1 clrscr();
530 1 EX0=1;
531 1 chn_disp(0,0,2,8,1,2,hz_in); //IN
532 1 chn_disp(0,24,2,8,1,1,hz_mh); //:
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 10
533 1 chn_disp(2,0,2,8,1,2,hz_in); //in
534 1 chn_disp(2,24,2,8,1,1,hz_mh);
535 1 chn_disp(4,0,2,8,1,2,hz_in);
536 1 chn_disp(4,24,2,8,1,1,hz_mh);
537 1 chn_disp(6,0,2,8,1,2,hz_in);
538 1 chn_disp(6,24,2,8,1,1,hz_mh);
539 1 num_disp(1,0,16,0);
540 1 num_disp(1,2,16,1);
541 1 num_disp(1,4,16,2);
542 1 num_disp(1,6,16,3);
543 1 num_disp(0,0,16,4);
544 1 num_disp(0,2,16,5);
545 1 num_disp(0,4,16,6);
546 1 num_disp(0,6,16,7);
547 1 while(NowKey!=KEY_ESC)
548 1 {
549 2 AD0809_IN0=0X00;
550 2 delay(200);
551 2 adtemp=AD0809_IN0;
552 2 num_disp(1,0,32,(adtemp&0xf0)>>4);
553 2 num_disp(1,0,40,(adtemp&0x0f));
554 2 }
555 1 Menu_Back();
556 1 }
557 /*--------------数模转换-------------------*/
558 void Menu_DAC0808()
559 {
560 1 uchar cs3,x,y,j,ADCtemp;
561 1 cs3=1;
562 1 clrscr();
563 1 NowKey=0xff;
564 1 while (NowKey!=KEY_OK)
565 1 {
566 2 EX0=1;
567 2 GetTextInput();
568 2 if(KeyInputTemp==1)
569 2 {
570 3 ADCtemp<<=4;
571 3 ADCtemp+=TextInputTemp;
572 3 num_disp(cs3,x,y,TextInputTemp);
573 3 y+=8;
574 3 if(y==64) // 输出8个数字时换右屏
575 3 {
576 4 cs3=!cs3;
577 4 y=0;
578 4 j++;
579 4 }
580 3 if(j==2) // 输出16个数字时换行
581 3 {
582 4 x+=2;
583 4 j=0;
584 4 }
585 3 if(x==8)
586 3 {
587 4 x=0;
588 4 clrscr();
589 4 }
590 3 KeyInputTemp=0;
591 3 }
592 2 }
593 1 Opt9555(Cmd_op0,ADCtemp);
594 1 while(NowKey!=KEY_ESC);
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 11
595 1 Menu_Back();
596 1 }
597 /*---------------- 与PC通信--串口接收--------------*/
598 void Menu_SerialReceive_PC()
599 {
600 1 uchar cs3,x,y,j;
601 1 uchar PSerial;
602 1 clrscr();
603 1 cs1=1;
604 1 cs2=0;
605 1 chn_disp(0,0,2,16,1,2,hz_test_1); //显示起始行
606 1 chn_disp(0,32,2,16,1,2,hz_test_2);
607 1 cs1=0;
608 1 cs2=1;
609 1 chn_disp(0,32,2,16,1,2,hz_test);
610 1 chn_disp(0,0,2,16,1,2,hz_jishi);
611 1 x=2;
612 1 y=0;
613 1 cs3=1;
614 1 TMOD=0x20;
615 1 TH1=0xfd;
616 1 TL1=0xfd;
617 1 TR1=1;
618 1 SCON=0x50;
619 1 while (1)
620 1 {
621 2 EX0=1;
622 2 while(!RI)
623 2 if (NowKey==KEY_ESC) goto Exit_SerialReceive;
624 2 RI=0;
625 2 PSerial=SBUF;
626 2 num_disp(cs3,x,y,PSerial&0x0f);
627 2 y+=8;
628 2 if(y==64) // 输出8个数字时换右屏
629 2 {
630 3 cs3=!cs3;
631 3 y=0;
632 3 j++;
633 3 }
634 2 if(j==2) // 输出16个数字时换行
635 2 {
636 3 x+=2;
637 3 j=0;
638 3 }
639 2 if(x==8)
640 2 {
641 3 x=2;
642 3 clrscr();
643 3 }
644 2
645 2 }
646 1 Exit_SerialReceive:
647 1 NowKeyReg=0;
648 1 Menu_Back();
649 1 }
650 /*------------------与PC通信--串口发送-----------------*/
651 void Menu_SerialSend_PC()
652 {
653 1 uchar cs3,x,y,k,j;
654 1 uchar PSerial;
655 1 clrscr();
656 1 cs1=1;
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 12
657 1 cs2=0;
658 1 chn_disp(0,0,2,16,1,2,hz_test_1); //显示起始行
659 1 chn_disp(0,32,2,16,1,2,hz_test_3);
660 1 cs1=0;
661 1 cs2=1;
662 1 chn_disp(0,32,2,16,1,2,hz_test);
663 1 chn_disp(0,0,2,16,1,2,hz_jishi);
664 1 x=2;
665 1 y=0;
666 1 cs3=1;
667 1 TMOD=0x20;
668 1 TH1=0xfd;
669 1 TL1=0xfd;
670 1 TR1=1;
671 1 SCON=0x40;
672 1 while (NowKey!=KEY_ESC)
673 1 {
674 2 EX0=1;
675 2 GetTextInput();
676 2 if(KeyInputTemp==1)
677 2 {
678 3 PSerial<<=4;
679 3 PSerial+=TextInputTemp;
680 3 num_disp(cs3,x,y,TextInputTemp);
681 3 k++;
682 3 if(k==2)
683 3 {
684 4 k=0;
685 4 SBUF=PSerial;
686 4 while(!TI);
687 4 TI=0;
688 4 }
689 3 y+=8;
690 3 if(y==64) // 输出8个数字时换右屏
691 3 {
692 4 cs3=!cs3;
693 4 y=0;
694 4 j++;
695 4 }
696 3 if(j==2) // 输出16个数字时换行
697 3 {
698 4 x+=2;
699 4 j=0;
700 4 }
701 3 if(x==8)
702 3 {
703 4 x=2;
704 4 clrscr();
705 4 }
706 3 KeyInputTemp=0;
707 3 }
708 2 }
709 1 Menu_Back();
710 1 }
711 void Menu_SerialReceive_MCU()
712 {
713 1 }
714 void Menu_SerialSend_MCU()
715 {
716 1 }
717 /*----------------返回菜单--------*/
718 void Menu_Back()
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 13
719 {
720 1 NowKey=0xff;
721 1 clrscr();
722 1 JudgeHLight();
723 1 }
724 /*----------------版本说明------------*/
725 void MenuFunction_Help_2()
726 {
727 1 DispFaceBmp();
728 1 NowKey=0xff;
729 1 EX0=1;
730 1 while(NowKey==0xff); // 按任意键退出
731 1 Menu_Back();
732 1 }
733
734
C51 COMPILER V8.08 MENU_FUNC 07/23/2007 08:20:59 PAGE 14
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION L?0339 (BEGIN)
0000 7400 R MOV A,#LOW P_motor
0002 2A ADD A,R2
0003 F582 MOV DPL,A
0005 E4 CLR A
0006 3400 R ADDC A,#HIGH P_motor
0008 F583 MOV DPH,A
000A E0 MOVX A,@DPTR
000B 908002 MOV DPTR,#08002H
000E F0 MOVX @DPTR,A
000F 7FFE MOV R7,#0FEH
; FUNCTION _delay (BEGIN)
; SOURCE LINE # 26
;---- Variable 'us' assigned to Register 'R7' ----
; SOURCE LINE # 27
0011 ?C0001:
; SOURCE LINE # 28
0011 AE07 MOV R6,AR7
0013 1F DEC R7
0014 EE MOV A,R6
0015 70FA JNZ ?C0001
; SOURCE LINE # 29
0017 ?C0003:
0017 22 RET
; FUNCTION _delay (END)
; FUNCTION L?0336 (BEGIN)
0000 E9 MOV A,R1
0001 8FF0 MOV B,R7
0003 A4 MUL AB
0004 FF MOV R7,A
0005 E0 MOVX A,@DPTR
0006 24B8 ADD A,#0B8H
0008 2F ADD A,R7
0009 2C ADD A,R4
000A FD MOV R5,A
000B E4 CLR A
000C FF MOV R7,A
; FUNCTION _wr_lcd (BEGIN)
; SOURCE LINE # 31
;---- Variable 'content' assigned to Register 'R5' ----
;---- Variable 'dat_comm' assigned to Register 'R7' ----
; SOURCE LINE # 32
; SOURCE LINE # 34
000D 908003 MOV DPTR,#08003H
0010 7480 MOV A,#080H
0012 F0 MOVX @DPTR,A
; SOURCE LINE # 35
0013 EF MOV A,R7
0014 908001 MOV DPTR,#08001H
0017 B40110 CJNE A,#01H,?C0004
; SOURCE LINE # 36
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -