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

📄 19264cv0_1.lst

📁 V型机LCD程序2005-11-5,V型机LCD程序2005-11-5
💻 LST
📖 第 1 页 / 共 5 页
字号:
 973   2                              Dispchar(2,11,(number_ascii(RxMain_data[5])),1);
 974   2                              Dispchar(2,10,(number_ascii((RxMain_data[5]>>4))),1);
 975   2                              Dispchar(2,13,(number_ascii(RxMain_data[6])),1);
 976   2                              Dispchar(2,12,(number_ascii((RxMain_data[6]>>4))),1);
 977   2                              */
 978   2                              /*
 979   2                              Dispchar(2,0,(RxMain_data[0]),1);
 980   2                              Dispchar(2,1,(RxMain_data[1]),1);
 981   2                              Dispchar(2,2,(RxMain_data[2]),1);
 982   2                              Dispchar(2,4,(number_ascii(RxMain_data[3])),1);
 983   2                              Dispchar(2,3,(number_ascii(((RxMain_data[3])>>4))),1);
 984   2      
C51 COMPILER V7.50   19264CV0_1                                                            06/06/2005 09:14:09 PAGE 17  

 985   2                              Dispchar(2,6,(number_ascii(RxMain_data[4])),1);
 986   2                              Dispchar(2,5,(number_ascii((RxMain_data[4]>>4))),1);
 987   2                              Dispchar(2,8,(number_ascii(RxMain_data[5])),1);
 988   2                              Dispchar(2,7,(number_ascii((RxMain_data[5]>>4))),1);
 989   2      
 990   2                              Dispchar(2,10,(number_ascii(RxMain_data[6])),1);
 991   2                              Dispchar(2,9,(number_ascii((RxMain_data[6]>>4))),1);
 992   2      
 993   2                              Dispchar(2,12,(RxMain_data[7]),1);
 994   2                              Dispchar(2,11,(RxMain_data[8]),1);
 995   2                              Dispchar(2,13,(RxMain_data[9]),1);
 996   2                              Dispchar(2,14,(RxMain_data[10]),1);
 997   2                              Dispchar(2,15,(RxMain_data[11]),1);
 998   2                              Dispchar(2,16,(RxMain_data[12]),1);
 999   2                              Dispchar(2,17,(RxMain_data[13]),1);
1000   2                              Dispchar(2,18,(RxMain_data[14]),1);
1001   2                              Dispchar(2,19,(KEYVAL_OK|0x30),1);
1002   2                              Dispchar(2,20,(RxMain_end|0x30),1);
1003   2                              */
1004   2                              //for debug end
1005   2                              //p1tune(RAMCS);
1006   2                              //i=E_ConveneRec[0].Timer;
1007   2                              i=SP;
1008   2                              Dispchar(6,1,(number_ascii(i)),1);
1009   2                              Dispchar(6,0,(number_ascii((i>>4))),1);
1010   2      
1011   2                              //Dispchar(6,2,(RxMain_data[0]),0);
1012   2                              //Dispchar(6,4,(RxMain_data[1]),0);
1013   2                              //Dispchar(6,6,(RxMain_data[2]),0);
1014   2                              //Dispchar(6,8,(RxMain_data[3]),0);             
1015   2                              RefushFace();//刷新主界面//for  
1016   2                              
1017   2                              //||OldInforCnt!=NewInforCnt
1018   2                              //如果有来电而且未显示来电号码。或者在非主界面显示超时或者即时显示新信息超时
1019   2                              if((comeingtelep&&dispteleph)||WaitingOver||((BLtime>=6100)&&((InforType&0x0f)>0)))
1020   2                              {       
1021   3                                      keytabindex=0;
1022   3                                      mainface();
1023   3                                      pic_temp=0;
1024   3                                      if((InforType&0x0f)>0)//清除新信息显示标志
1025   3                                              InforType=0;    
1026   3                              
1027   3                              } 
1028   2                              if(testkey())
1029   2                              {
1030   3                                      
1031   3                                      KeyCaller=0x10;
1032   3                                      keytune();
1033   3                                      
1034   3                              }
1035   2                              IRKeyVal=HandleIR();
1036   2                              if(IRKeyVal!=0xff)
1037   2                              {       
1038   3                                      
1039   3                                      KeyCaller=0x20;
1040   3                                      keytune();
1041   3                                      
1042   3                              }                                               
1043   2                              
1044   2                              if(gps_rec_end)
1045   2                              {       
1046   3                                      seridatatune();//GPS信号处理
C51 COMPILER V7.50   19264CV0_1                                                            06/06/2005 09:14:09 PAGE 18  

1047   3                                      gps_star = 0;
1048   3                                      gps_rec_end = 0;
1049   3                                      
1050   3                              }                       
1051   2      
1052   2                              rxdatatune();//处理主机发送来的数据*/
1053   2                              
1054   2                              if(MainRecBusy_flag&&MainRecBusyTime>110)//接受主机数据完后延迟一秒
1055   2                              {
1056   3                                      MainRecBusy_flag=0;
1057   3                                      MainRecBusyTime=0;
1058   3                                      CONRX=DGPS_COMM;
1059   3                                      flag_main_dgps=DGPS_COMM;
1060   3                                      EX1=1;//开外部中断1,检测主机串行信号
1061   3                              
1062   3                              }
1063   2                              
1064   2                              if(MainRecTimer>250)//从接受主机数据开始延迟2.5秒后断开
1065   2                              {
1066   3                                      flag_main_dgps=DGPS_COMM;
1067   3                                      CONRX=DGPS_COMM;
1068   3                                      MainRecTimer=0;
1069   3                                      EX1=1;//开外部中断1,检测主机串行信号   
1070   3                              
1071   3                              }       
1072   2                                      
1073   2                                              
1074   2                  } 
1075   1                    
1076   1       
1077   1      }
1078          
1079          ////////////////主函数结束///////////////////////////////////////////////
1080           
1081          void untogb(uchar hi_unicode,uchar low_unicode)//unicode 转换成 GB2312内码
1082          {                                               //查表后所得到的是区位码+0x2020
1083   1                                              //加0x8080转化为内码送入缓冲
1084   1                                      //如果以后RAM不够用可采用返回参数方式
1085   1                              //!!不可显示字符转换会出乱码!!!//不转换ASCII的UNICODE
1086   1              uint16 data unicode;
1087   1              /*if(hi_unicode==0&&low_unicode<0xa4)//如果是ASCII字符
1088   1              {
1089   1              }*/             
1090   1              p1tune(ROMCS);
1091   1              A18=1;
1092   1              A17=0;//非常重要!!!!!
1093   1              LCDRWIO=1;
1094   1              LCDDIIO=1;
1095   1              //P1=ROMCS;                                                     
1096   1              unicode=hi_unicode;
1097   1              //CY=0;
1098   1              unicode=unicode<<8;
1099   1              //k=low_unicode;
1100   1              unicode+=(uint16)(low_unicode);
1101   1      
1102   1              if(unicode>=0x80a4)//判断是在第一还是第二个64K范围
1103   1              {               
1104   2                      //unicode=unicode-0x80a4;
1105   2                      unicode-=0x80a4;     //减去0x8000
1106   2                      A16=1;
1107   2                      //unicode-=0x00a4;
1108   2              }
C51 COMPILER V7.50   19264CV0_1                                                            06/06/2005 09:14:09 PAGE 19  

1109   1              else
1110   1              {       
1111   2                      A16=0;
1112   2                      unicode-=0x00a4;
1113   2              }
1114   1              //CY=0;
1115   1                      
1116   1              unicode=unicode<<1;
1117   1              
1118   1              if(unicode<0x0400)//STC89C512RD+有1024BYTE XRAM如用此IC 0X400以内地址需屏蔽
1119   1              {       FlagXram=1;//读取点阵时使用XDATA 0x0000--0x02ff标志。1:使用 0:未使用
1120   2                      AUXR|=0x02;//屏蔽内部XRAM
1121   2              }
1122   1              
1123   1              hi_gb=XBYTE[unicode];
1124   1              
1125   1              unicode++;
1126   1              low_gb=XBYTE[unicode];
1127   1              FlagXram=0;//读取点阵时使用XDATA 0x0000--0x02ff标志。1:使用 0:未使用
1128   1              AUXR&=0xfd;//使能内部XRAM
1129   1              
1130   1              /*if((hi_gb<0x21)||(low_gb<0x21))//for debug
1131   1              {
1132   1                      hi_gb=0x21;low_gb=0x32;
1133   1      
1134   1      
1135   1              } //for debug
1136   1      
1137   1              //P1=j;
1138   1               if((hi_gb>0x77)||(low_gb>0x7e))//for debug
1139   1              {
1140   1                      hi_gb=0x21;low_gb=0x24;
1141   1      
1142   1      
1143   1              } //for debug*/ 
1144   1              hi_gb=hi_gb|0x80;
1145   1              low_gb=low_gb|0x80;
1146   1      
1147   1              A18=0;
1148   1             
1149   1      
1150   1      }
1151          
1152          
1153          
1154          void rxdatatune(void)//接收主机数据处理
1155          {                                                                                
1156   1              uchar data i,j,k,checksum;
1157   1              
1158   1              uint16 idata p,q,r;
1159   1              
1160   1              p=q=r=0;
1161   1              i=j=k=checksum=0;
1162   1              //while(TxNum!=0||TxPos!=0);
1163   1              //ES=0;
1164   1              Feedingdog();
1165   1              LCDRWIO=1;
1166   1              LCDDIIO=1;
1167   1              p1tune(RAMCS);
1168   1                      
1169   1              if(RxMain_end)
1170   1              {                       
C51 COMPILER V7.50   19264CV0_1                                                            06/06/2005 09:14:09 PAGE 20  

1171   2                      
1172   2                      p=RxMain_data[3];
1173   2                      p=(p<<8);
1174   2                      p+=RxMain_data[4];
1175   2                      p+=5;//加上$+设备字+命令字+2数据长度字节
1176   2                      checksum=RxMain_data[3];                
1177   2                      for(q=4;q<p;q++)                              
1178   2                      {
1179   3                              checksum^=RxMain_data[q];               
1180   3                      }//算校验和
1181   2      
1182   2                      //for GPRS SMS DEBUG STAR
1183   2                      if(RxMain_data[2]==0x43)//发送短语或者业务代码后主机的回应。
1184   2                      {
1185   3                               if(RxMain_data[5]==0x00)
1186   3                                      KEYVAL_OK=1;
1187   3                               else
1188   3                                      KEYVAL_OK=0;
1189   3                               RxMain_end=FALSE;
1190   3                      }
1191   2                      if(RxMain_data[2]==0x42)//for test
1192   2                      {       ReturnOK(0x42);  //for test
1193   3                              BEEPtime=0;                                     
1194   3                              BLtime=0;
1195   3                              BEEP=0;
1196   3                              BLIGHT=0;
1197   3                              if(RxMain_data[15]==0x00)//如果是公共信息
1198   3                                      CommProcess(p);//GPRS发送的公共信息处理
1199   3                              if(RxMain_data[15]==0x10)//如果是调度信息
1200   3                                      ScheduleInforProcess(p);//GPRS发送的调度信息处理
1201   3                                      //电召存储
1202   3                              if(RxMain_data[15]>=0x20&&RxMain_data[15]<0x30) 
1203   3                                      ConveneInforProcess(p);//电召信息存储
1204   3                              if(RxMain_data[15]==0x30)//如果是定制短语
1205   3                                      CenterCstmWordsProcess(p);
1206   3                              if(RxMain_data[15]==0x40)//登陆密码恢复出厂设置
1207   3                              {
1208   4                                      reginit();//登录初始化
1209   4                              }
1210   3      
1211   3                              ReturnOK(0x42);
1212   3                              if(keytabindex==115)//如果正在及时显示新信息状态
1213   3                                      InforType|=1;
1214   3      
1215   3                            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -