📄 show_window.lst
字号:
683
684 void Navigation_End_ConstrolWord(void)
685 {
686 1
687 1
688 1
689 1 i=0;t=0;sum=0;
690 1 CleanScreen();
691 1 delay_nms(10);
692 1
693 1 Display_Character(2,3,35);
694 1 Display_Character(4,3,37);
695 1
696 1 Display_Character(2,5,36);
697 1 Display_Character(4,5,37);
698 1
699 1 while(1)
700 1 {
701 2 key=keyscan();
702 2 delay_nms(3000);
703 2
704 2 switch(key)
705 2 {
706 3 case 0x00:
707 3 if(i<=KeyInputN-1&&i!=0)
708 3 {
709 4 if(i<=1)
710 4 Display_Char(8+i,3,0);
711 4 else
712 4 Display_Char(6+i,5,0);
713 4 temp_key[i]=0;
714 4 i++;
715 4 }
716 3 break;
717 3 case 0x01:
718 3 if(i<=KeyInputN-1)
719 3 {
720 4 if(i<=1)
721 4 Display_Char(8+i,3,1);
722 4 else
723 4 Display_Char(6+i,5,1);
724 4 temp_key[i]=1;
725 4 i++;
726 4 }
727 3 break;
728 3 case 0x02:
729 3 if(i<=KeyInputN-1)
730 3 {
731 4 if(i<=1)
732 4 Display_Char(8+i,3,2);
733 4 else
C51 COMPILER V8.02 SHOW_WINDOW 05/25/2008 15:06:03 PAGE 13
734 4 Display_Char(6+i,5,2);;
735 4 temp_key[i]=2;
736 4 i++;
737 4 }
738 3 break;
739 3 case 0x03:
740 3 if(i<=KeyInputN-1)
741 3 {
742 4 if(i<=1)
743 4 Display_Char(8+i,3,3);
744 4 else
745 4 Display_Char(6+i,5,3);
746 4 temp_key[i]=3;
747 4 i++;
748 4 }
749 3 break;
750 3 case 0x04:
751 3 if(i<=KeyInputN-1)
752 3 {
753 4 if(i<=1)
754 4 Display_Char(8+i,3,4);
755 4 else
756 4 Display_Char(6+i,5,4);
757 4 temp_key[i]=4;
758 4 i++;
759 4 }
760 3 break;
761 3 case 0x05:
762 3 if(i<=KeyInputN-1)
763 3 {
764 4 if(i<=1)
765 4 Display_Char(8+i,3,5);
766 4 else
767 4 Display_Char(6+i,5,5);
768 4 temp_key[i]=5;
769 4 i++;
770 4 }
771 3 break;
772 3 case 0x06:
773 3 if(i<=KeyInputN-1)
774 3 {
775 4 if(i<=1)
776 4 Display_Char(8+i,3,6);
777 4 else
778 4 Display_Char(6+i,5,6);
779 4 temp_key[i]=6;
780 4 i++;
781 4 }
782 3 break;
783 3 case 0x07:
784 3 if(i<=KeyInputN-1)
785 3 {
786 4 if(i<=1)
787 4 Display_Char(8+i,3,7);
788 4 else
789 4 Display_Char(6+i,5,7);
790 4 temp_key[i]=7;
791 4 i++;
792 4 }
793 3 break;
794 3 case 0x08:
795 3 if(i<=KeyInputN-1)
C51 COMPILER V8.02 SHOW_WINDOW 05/25/2008 15:06:03 PAGE 14
796 3 {
797 4 if(i<=1)
798 4 Display_Char(8+i,3,8);
799 4 else
800 4 Display_Char(6+i,5,8);
801 4 temp_key[i]=8;
802 4 i++;
803 4 }
804 3 break;
805 3 case 0x09:
806 3 if(i<=KeyInputN-1)
807 3 {
808 4 if(i<=1)
809 4 Display_Char(8+i,3,9);
810 4 else
811 4 Display_Char(6+i,5,9);
812 4 temp_key[i]=9;
813 4 i++;
814 4 }
815 3 break;
816 3 /*如果输错,就重新置0,清一位*/
817 3 case 0x0a: i=0;
818 3 Display_Char(8,3,64);
819 3 Display_Char(9,3,64);
820 3 Display_Char(8,5,64);
821 3 Display_Char(9,5,64);
822 3 break;
823 3 /* case 0x0b: //如果输错,重新输数,清所有位
824 3
825 3 for(i=KeyInputN;i>0;i--)
826 3 temp_key[i-1]=0;
827 3 break;
828 3 */
829 3 case 0x0b:
830 3 for(t=0;t<i;t++)
831 3 sum=sum+(temp_key[t])*ten_n(i-1-t);
832 3 Position=sum;
833 3 CleanScreen(); // 清屏
834 3 delay_nms(1000);
835 3 show_menu_DaoHang();
836 3 sum=0;
837 3 break;
838 3 case 0x0d:
839 3 Clear_Area(6,3,5);
840 3 for(i=KeyInputN;i>0;i--)
841 3 temp_key[i-1]=0;
842 3 t=0;
843 3 sum=0;
844 3 Position=0;
845 3 break;
846 3 case 0x0f:GPS_Navigation();
847 3 break;
848 3 default:break;
849 3
850 3 }
851 2
852 2 }
853 1 }
854 /*****************************************************************/
855
856
857 void GPS_Navigation(void)
C51 COMPILER V8.02 SHOW_WINDOW 05/25/2008 15:06:03 PAGE 15
858 {
859 1 OSCILLATOR_Init (); // Initialize oscillator
860 1 PORT_Init (); // Initialize crossbar and GPIO
861 1 LCD_Init(); // 液晶初始化
862 1 CleanScreen(); // 清屏
863 1 delay_nms(100);
864 1 Show_Map();
865 1 while(1)
866 1
867 1 {
868 2 key= keyscan();
869 2 delay_nms(1000);
870 2 switch(key)
871 2 {
872 3 case 0x00: Navigation_End_ConstrolWord();
873 3 break;
874 3 /*
875 3 case 0x00: show_menu_DaoHang();
876 3 break;
877 3 */ case 0x0f: show_menu_frist();
878 3 break;
879 3 default: break;
880 3
881 3 }
882 2
883 2 }
884 1 }
885
886 void show_author_information()
887 {
888 1 Display_Char(1,5,55);
889 1 Display_Char(2,5,4);
890 1 Display_Char(3,5,8);
891 1 Display_Char(4,5,3);
892 1 Display_Char(5,5,67);
893 1 Display_Char(6,5,4);
894 1 Display_Char(7,5,67);
895 1 Display_Char(8,5,1);
896 1 Display_Char(9,5,9);
897 1
898 1 Display_Character(11,5,18);
899 1 Display_Character(13,5,19);
900 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 4156 ----
CONSTANT SIZE = 12 ----
XDATA SIZE = 9 24
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -