⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd3.lst

📁 带T6963C控制器的LCD的驱动程序和简单的显示测试程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 769   1      
 770   1         dhz(1,6,"纬度");
 771   1         dstring(5,6,":          ~");
 772   1         dhz(1,7,"航向");
 773   1         dstring(5,7,":          ~");
 774   1         dhz(1,8,"横摇");
 775   1         dstring(5,8,":          ~");
 776   1       
 777   1         dhz(1,9,"纵摇");
 778   1         dstring(5,9,":          ~");
 779   1      
 780   1         dhz(1,10,"东速");
 781   1         dstring(5,10,":          m/s");
 782   1        
 783   1         dhz(1,11,"北速");
 784   1         dstring(5,11,":          m/s");
 785   1         
 786   1      }
 787          
 788          
 789          //DVL数据显示
 790          void DVL(void)
 791          {
 792   1       fnPR1(LC_GRH_STP,0x00,0x00);
 793   1       dstring(8,2,"DVL");
 794   1       dhz(11,2,"信息显示");
 795   1      
 796   1       dhz(1,4,"东速");
 797   1       dstring(5,4,":          m/s");
 798   1      
C51 COMPILER V7.07   LCD3                                                                  09/07/2006 09:21:47 PAGE 14  

 799   1       dhz(1,5,"北速");
 800   1       dstring(5,5,":          m/s");
 801   1      
 802   1       }
 803          //GPS数据显示
 804          void GPS(void)
 805          {fnPR1(LC_GRH_STP,0x40,0x0B);
 806   1       dstring(8,8,"GPS");
 807   1       dhz(11,8,"信息显示");
 808   1       dhz(1,10,"经度");
 809   1       dstring(5,10,":          ~");
 810   1       dhz(1,11,"纬度");
 811   1       dstring(5,11,":          ~");
 812   1       serg();
 813   1       }
 814          //惯导数据显示
 815          void INS(void)
 816          {
 817   1      fnPR1(LC_GRH_STP,0x80,0x07);
 818   1       dstring(8,4,"I42");
 819   1       dhz(11,4,"惯导信息显示");
 820   1        dhz(1,5,"经度");
 821   1        dstring(5,5,":          ~");
 822   1        dhz(1,6,"纬度");
 823   1         dstring(5,6,":          ~");
 824   1         dhz(1,7,"航向");
 825   1         dstring(5,7,":          ~");
 826   1         dhz(1,8,"横摇");
 827   1         dstring(5,8,":          ~");
 828   1         dhz(1,9,"纵摇");
 829   1         dstring(5,9,":          ~");
 830   1         dhz(1,10,"东速");
 831   1         dstring(5,10,":          m/s");
 832   1         dhz(1,11,"北速");
 833   1         dstring(5,11,":          m/s");
 834   1         sern();
 835   1      }
 836          
 837          //输出显示字头连接
 838          void joint(void)
 839          {if(t>87)
 840   1      t=0;
 841   1      switch(t)
 842   1       {case(0):
 843   2        tbuf[t++]='j';
 844   2        tbuf[t++]='d';
 845   2        break;
 846   2        case(12):
 847   2        tbuf[t++]='w';
 848   2        tbuf[t++]='d';
 849   2        break;
 850   2        case(24):
 851   2        tbuf[t++]='h';
 852   2        tbuf[t++]='x';
 853   2        break;
 854   2        case(36):
 855   2        tbuf[t++]='h';
 856   2        tbuf[t++]='y';
 857   2        break;
 858   2        case(48):
 859   2        tbuf[t++]='z';
 860   2        tbuf[t++]='y'; 
C51 COMPILER V7.07   LCD3                                                                  09/07/2006 09:21:47 PAGE 15  

 861   2        break;
 862   2        case(60):
 863   2        tbuf[t++]='V';
 864   2        tbuf[t++]='e';
 865   2        break;
 866   2        case(72):
 867   2        tbuf[t++]='V';
 868   2        tbuf[t++]='n';
 869   2        
 870   2        break;
 871   2        case(84):
 872   2        tbuf[t++]='o';
 873   2        tbuf[t++]='v';
 874   2        tbuf[t++]='e';
 875   2        tbuf[t++]='r';
 876   2        
 877   2        break;
 878   2        default:
 879   2        break;}}
 880          
 881            
 882            //按键函数
 883          void left(void)
 884          {
 885   1      Text_Curser(a-1,b);
 886   1      }
 887          void right(void)
 888          {
 889   1      Text_Curser(a+1,b);
 890   1      }
 891          void up(void)
 892          {
 893   1      Text_Curser(a,b+1);
 894   1      }
 895          void down(void)
 896          {
 897   1      Text_Curser(a,b-1);
 898   1      }
 899          void one(void)
 900          {dchar(a,b/2+4,'1');
 901   1       a++;
 902   1       joint();
 903   1       tbuf[t++]='1';
 904   1      }
 905          void two(void)
 906          {dchar(a,b/2+4,'2');
 907   1      a++;
 908   1      joint();
 909   1      tbuf[t++]='2';}
 910          void three(void)
 911          {dchar(a,b/2+4,'3');
 912   1      a++;
 913   1      joint();
 914   1      tbuf[t++]='3';}
 915          void four(void)
 916          {dchar(a,b/2+4,'4');
 917   1      a++;
 918   1      joint();
 919   1      tbuf[t++]='4';}
 920          void five(void)
 921          {dchar(a,b/2+4,'5');
 922   1      a++;
C51 COMPILER V7.07   LCD3                                                                  09/07/2006 09:21:47 PAGE 16  

 923   1      joint();
 924   1      tbuf[t++]='5';}
 925          void six(void)
 926          {dchar(a,b/2+4,'6');
 927   1      a++;
 928   1      joint();
 929   1      tbuf[t++]='6';}
 930          void seven(void)
 931          {dchar(a,b/2+4,'7');
 932   1      a++;
 933   1      joint();
 934   1      tbuf[t++]='7';}
 935          void eight(void)
 936          {dchar(a,b/2+4,'8');
 937   1      a++;
 938   1      joint();
 939   1      tbuf[t++]='8';}
 940          void nine(void)
 941          {dchar(a,b/2+4,'9');
 942   1      a++;
 943   1      joint();
 944   1      tbuf[t++]='9';}
 945          void zero(void)
 946          {dchar(a,b/2+4,'0');
 947   1      a++;
 948   1      joint();
 949   1      tbuf[t++]='0';}
 950          void point(void)
 951          {dchar(a,b/2+4,'.');
 952   1      a++;
 953   1      joint();
 954   1      tbuf[t++]='.';}
 955          
 956          //回车键根据光标位置功能不同
 957          void enter(void)
 958           {uchar t_flag=0;
 959   1       unsigned long i; 
 960   1         switch(b)
 961   1       {
 962   2         case 3:
 963   2           cls();
 964   2               infor(); 
 965   2               Text_Curser(29,8);      
 966   2              do 
 967   2            {
 968   3                 serh();
 969   3                for(i=0;i<50000;i++)     //大概3秒钟一次吧
 970   3             key();
 971   3                }
 972   2          while(t_flag==0);
 973   2          Text_Curser(29,4);   
 974   2              break;
 975   2      
 976   2          case 4: 
 977   2                cls();
 978   2            DVL();
 979   2                serd();
 980   2                Text_Curser(29,5);
 981   2                break;
 982   2      
 983   2               case 5:
 984   2           cls();
C51 COMPILER V7.07   LCD3                                                                  09/07/2006 09:21:47 PAGE 17  

 985   2               GPS();
 986   2               serg();
 987   2               Text_Curser(29,6);
 988   2               break;
 989   2           
 990   2               case 6:
 991   2           cls();
 992   2           INS();
 993   2               sern();
 994   2               Text_Curser(29,3);
 995   2               ES=1;
 996   2           break;
 997   2          
 998   2               case 7:
 999   2               SBUF='a';
1000   2           while(TI==0);
1001   2               TI=0;
1002   2               cls();
1003   2           infor();
1004   2               break;
1005   2      
1006   2               case 8:
1007   2               t_flag=1;
1008   2               ES=0;
1009   2               break;
1010   2      
1011   2           case 9:
1012   2               SBUF='b';
1013   2           while(TI==0);
1014   2               TI=0;
1015   2               cls();
1016   2           infor();
1017   2               break;
1018   2      
1019   2           case 10:
1020   2               cls();
1021   2           mode();
1022   2               break;
1023   2       
1024   2           case 11:
1025   2               SBUF='c';
1026   2           while(TI==0);
1027   2               TI=0;
1028   2               cls();
1029   2           infor();
1030   2               break;
1031   2      
1032   2           case 13:
1033   2               SBUF='c';
1034   2           while(TI==0);
1035   2               TI=0;
1036   2               cls();
1037   2           infor();
1038   2               break;
1039   2      
1040   2               default:
1041   2           break;
1042   2               
1043   2                          
1044   2       }
1045   1      }
1046          
C51 COMPILER V7.07   LCD3                                                                  09/07/2006 09:21:47 PAGE 18  

1047          //按键键值
1048          void key(void)
1049          {
1050   1        uchar  rk;
1051   1         key_flag=0;
1052   1      
1053   1         rk=keyscan();
1054   1         
1055   1         if(key_flag)
1056   1            {switch(rk)
1057   2              { case 0xEE:
1058   3                 one();
1059   3                         break;
1060   3      
1061   3               case 0xED:
1062   3                 two();                                                                                                                                                                                                                                                                                                 
             -                                                                                                                    
1063   3                         break;
1064   3      
1065   3                       case 0xE7:
1066   3                 three();
1067   3                         break;
1068   3      
1069   3                       case 0xEB:
1070   3                 four();
1071   3                         break;
1072   3      
1073   3                       case 0xDE:
1074   3                 five();
1075   3                         break;
1076   3      
1077   3                       case 0xDD:
1078   3                 six();
1079   3                         break;
1080   3      
1081   3                       case 0xD7:
1082   3                 seven();
1083   3                         break;
1084   3      
1085   3                       case 0xDB:
1086   3                 eight();
1087   3                         break;
1088   3      
1089   3                       case 0xBE:
1090   3                 nine();
1091   3                         break;
1092   3      
1093   3                       case 0xBD:
1094   3                 zero();
1095   3                         break;
1096   3      
1097   3                       case 0xB7:
1098   3                 point();
1099   3                         break;
1100   3      
1101   3                       case 0x7B:
1102   3                 up();
1103   3                         break;
1104   3      
1105   3                       case 0x7E:
1106   3                 left();
1107   3                         break;
C51 COMPILER V7.07   LCD3                                                                  09/07/2006 09:21:47 PAGE 19  

1108   3      
1109   3                       case 0x7D:
1110   3                 enter();
1111   3                         break;
1112   3      
1113   3                       case 0x77:
1114   3                 right();
1115   3                         break;
1116   3      
1117   3                       case 0xBB:
1118   3                 down();
1119   3                         break;
1120   3      
1121   3                       default:
1122   3                         break;
1123   3                }}
1124   1                key_flag=0;
1125   1               }
1126          
1127          //主函数
1128          void main(void) 
1129          {
1130   1      fnLCMInit();
1131   1      nintser();
1132   1      welcom();
1133   1      shortdelay(5000);
1134   1      menu();
1135   1      shortdelay(5000);
1136   1      mode();
1137   1      shortdelay(5000);
1138   1      while(1)
1139   1      key();
1140   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   4862    ----
   CONSTANT SIZE    =   3347    ----
   XDATA SIZE       =    588    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28      35
   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 + -