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

📄 main.lst

📁 这个文档程序主要应用了单片机的串行通讯部分
💻 LST
📖 第 1 页 / 共 4 页
字号:
 206   5                                                      newsoverf=0;//收到结束标志并清除
 207   5                                                      lcd_prt_letter(90,0x2a,0);//“ ”
 208   5                                                      lcd_prt_letter(95,0x2a,0);//“ ”
 209   5                                                      lcd_prt_char(91,'j');//“退”
 210   5                                                      lcd_prt_char(93,'k');//“出”                                                                                           
 211   5                                                      break;
 212   5                                              }
 213   4                                              break;
 214   4                                      default:tiaoshi=1;lightflag=0;break;//未知状态
 215   4                              }
 216   3                      }
 217   2      /*3333333333333333333333333333333333333333333333333333333333333333333333333*/
 218   2                      if(state>=0x30&&state<0x40)//III.ZCL-1C查询
 219   2                      {
 220   3                              switch(state)
 221   3                              {
 222   4                                      case 0x30:
 223   4                                              if(statefinish==0)
 224   4                                              {
 225   5                                                      statefinish=1;mlimitf=1;
 226   5                                                      //serl_snd_string(send);//发送命令
 227   5                                                      clrscr(0);
 228   5                                                      clrscr(1);
 229   5                                                      clrscr(2);
 230   5                                                      
 231   5                                                      lcd_prt_char(33,'l');//“消息00”
 232   5                                                      lcd_prt_char(35,'m');
 233   5                                                      lcd_prt_letter(37,zclsend[16]/0x10,0);
 234   5                                                      lcd_prt_letter(38,zclsend[16]&0x0f,0);
 235   5                                                      lcd_prt_char(92,'p');//“发送”
 236   5                                                      lcd_prt_char(94,'q');
 237   5                                                      lcd_prt_char(72,'j');//“退出”
 238   5                                                      lcd_prt_char(74,'k');//
 239   5                                                      lcd_prt_char(79,'v');//“→”
 240   5                                                      lcd_prt_letter(86,0x30,0);//“↑”
 241   5                                              }
C51 COMPILER V8.02   MAIN                                                                  09/16/2008 10:53:22 PAGE 5   

 242   4                                              else 
 243   4                                              {
 244   5                                                      lcd_prt_letter(37,zclsend[16]/0x10,!contraf);
 245   5                                                      lcd_prt_letter(38,zclsend[16]&0x0f,contraf);
 246   5                                              }break;
 247   4                                      case 0x31:break;
 248   4                                      case 0x32:break;
 249   4                                      case 0x33:break;
 250   4                                      case 0x34:break;
 251   4                                      case 0x35:break;
 252   4                                      default:tiaoshi=1;lightflag=0;break;//未知状态
 253   4                              }
 254   3                      }
 255   2      /*4444444444444444444444444444444444444444444444444444444444444444444444444*/
 256   2                      if(state>=0x40&&state<0x50)//IV.GPRS配置
 257   2                      {
 258   3                              switch(state)
 259   3                              {
 260   4                                      case 0x40:
 261   4                                              if(statefinish==0)
 262   4                                                      {
 263   5                                                              statefinish=1;mlimitf=1;                                                                                                
 264   5                                                              break;                                                  
 265   5                                                      }
 266   4                                              else
 267   4                                              {
 268   5                                                      if(gprsresf)
 269   5                                                      {
 270   6                                                              //状态跳转显示内容
 271   6                                                              statefinish=0;
 272   6                                                              state=0x41;
 273   6                                                              gprsresf=0;
 274   6                                                      }
 275   5                                                      if(gprslostf)
 276   5                                                      {
 277   6                                                              //显示错误
 278   6                                                              lcd_prt_char(32,'A');//“无应答!”
 279   6                                                              lcd_prt_char(34,'B');//
 280   6                                                              lcd_prt_char(36,'C');//
 281   6                                                              lcd_prt_char(38,'D');//
 282   6                                                              lcd_prt_char(72,'j');//“退出”
 283   6                                                              lcd_prt_char(74,'k');//
 284   6                                                              lcd_prt_char(92,'u');//“重连”
 285   6                                                              lcd_prt_char(94,'E');//         
 286   6                                                              gprslostf=0;//本次通信结束
 287   6                                                      }
 288   5                                              }break;
 289   4                                      case 0x41:
 290   4                                              if(statefinish==0)
 291   4                                              {
 292   5                                                      statefinish=1;//状态收到
 293   5                                                      mlimitf=1;//一分钟倒计时开始
 294   5                                                      gprsturner=0;//准备显示                                         
 295   5                                                      break;
 296   5                                              }
 297   4                                              displaygprs();//显示配置
 298   4                                              break;
 299   4                                      case 0x42:if(statefinish==0){statefinish=1;;break;}break;
 300   4                                      case 0x43:if(statefinish==0){statefinish=1;;break;}break;
 301   4                                      case 0x44:if(statefinish==0){statefinish=1;;break;}break;
 302   4                                      case 0x45:if(statefinish==0){statefinish=1;;break;}break;
 303   4                                      default:tiaoshi=1;lightflag=0;break;//未知状态
C51 COMPILER V8.02   MAIN                                                                  09/16/2008 10:53:22 PAGE 6   

 304   4                              }
 305   3                      }
 306   2      /*5555555555555555555555555555555555555555555555555555555555555555555555555*/
 307   2                      if(state>=0x50&&state<0x60)//IV.GPRS配置
 308   2                      {
 309   3                              switch(state)
 310   3                              {
 311   4                                      case 0x50:
 312   4                                              if(statefinish==0)
 313   4                                                      {
 314   5                                                              statefinish=1;mlimitf=1;                                                                                                
 315   5                                                              break;                                                  
 316   5                                                      }
 317   4                                              else
 318   4                                              {
 319   5                                                      if(gprsresf)
 320   5                                                      {
 321   6                                                              //状态跳转显示内容
 322   6                                                              statefinish=0;
 323   6                                                              state=0x51;
 324   6                                                              gprsresf=0;
 325   6                                                      }
 326   5                                                      if(gprslostf)
 327   5                                                      {
 328   6                                                              //显示错误
 329   6                                                              lcd_prt_char(32,'A');//“无应答!”
 330   6                                                              lcd_prt_char(34,'B');//
 331   6                                                              lcd_prt_char(36,'C');//
 332   6                                                              lcd_prt_char(38,'D');//
 333   6                                                              lcd_prt_char(72,'j');//“退出”
 334   6                                                              lcd_prt_char(74,'k');//
 335   6                                                              lcd_prt_char(92,'u');//“重连”
 336   6                                                              lcd_prt_char(94,'E');//         
 337   6                                                              gprslostf=0;//本次通信结束
 338   6                                                      }
 339   5                                              }break;
 340   4                                      case 0x51:
 341   4                                              if(statefinish==0)
 342   4                                              {
 343   5                                                      statefinish=1;//状态收到
 344   5                                                      mlimitf=1;//一分钟倒计时开始
 345   5                                                      gprsturner=0;//准备显示                                         
 346   5                                                      break;
 347   5                                              }
 348   4                                              displaycdma();//显示配置
 349   4                                              break;
 350   4                                      case 0x52:if(statefinish==0){statefinish=1;;break;}break;
 351   4                                      case 0x53:if(statefinish==0){statefinish=1;;break;}break;
 352   4                                      case 0x54:if(statefinish==0){statefinish=1;;break;}break;
 353   4                                      case 0x55:if(statefinish==0){statefinish=1;;break;}break;
 354   4                                      default:tiaoshi=1;lightflag=0;break;//未知状态
 355   4                              }
 356   3                      }
 357   2                      //第四按键处理
 358   2                      key_manager();
 359   2              }       
 360   1      }
 361          
 362          /***************************************************************************/
 363          ////////////////////////////////////状态服务程序/////////////////////////////
 364          /***************************************************************************/
 365          /************************************刷新屏幕*******************************/
C51 COMPILER V8.02   MAIN                                                                  09/16/2008 10:53:22 PAGE 7   

 366          void scrfresh(void)
 367          {
 368   1              clrscr(0);clrscr(1);clrscr(2);
 369   1              lcd_prt_char(30,'a');//“网络测试仪表”
 370   1              lcd_prt_char(32,'b');
 371   1              lcd_prt_char(34,'c');
 372   1              lcd_prt_char(36,'d');
 373   1              lcd_prt_char(38,'e');
 374   1              lcd_prt_char(40,'f');
 375   1              lcd_prt_char(28,'s');//图象
 376   1              lcd_prt_char(42,'t');
 377   1              lcd_prt_letter(79,'G',0);//GPRS
 378   1              lcd_prt_letter(80,'P',0);
 379   1              lcd_prt_letter(81,'R',0);
 380   1              lcd_prt_letter(82,'S',0);
 381   1              lcd_prt_letter(86,'C',0);//CDMA
 382   1              lcd_prt_letter(87,'D',0);
 383   1              lcd_prt_letter(88,'M',0);
 384   1              lcd_prt_letter(89,'A',0);
 385   1              if(oldnewsf0||oldnewsf1||oldnewsf2){lcd_prt_char(72,'h');lcd_prt_char(74,'i');}
 386   1              else {lcd_prt_char(72,'s');lcd_prt_char(74,'t');}//图象
 387   1              if(newnewsf0||newnewsf1||newnewsf2){lcd_prt_char(92,'g');lcd_prt_char(94,'i');}
 388   1              else //ZCL      
 389   1              {
 390   2                      lcd_prt_letter(93,'Z',0);
 391   2                      lcd_prt_letter(94,'C',0);
 392   2                      lcd_prt_letter(95,'L',0);
 393   2                      //lcd_prt_letter(95,0x01,0);
 394   2              }
 395   1      }
 396          
 397          /************************************存储消息*******************************/
 398          void storenews(void)
 399          {
 400   1              uchar addrh,addrl,i=0;
 401   1              if(newnewsf0&&newnewsf1&&newnewsf2){tiaoshi=1;lightflag=0;}
 402   1              else
 403   1              {
 404   2                      switch(storeturn)
 405   2                      {
 406   3                              case 0:addrh=0x80;addrl=0x00;newnewsf0=1;break;
 407   3                              case 1:addrh=0x82;addrl=0x00;newnewsf1=1;break;
 408   3                              case 2:addrh=0x84;addrl=0x00;newnewsf2=1;break;
 409   3                              default:tiaoshi=1;lightflag=0;break;
 410   3                      }
 411   2                      storeturn++;
 412   2                      if(storeturn==3)storeturn=0;
 413   2              }
 414   1              eep_clr_sector(addrh);
 415   1              while(!((temp[i]==0xee)&&(temp[i+1]==0xee)&&(temp[i+2]==0xee)))
 416   1              {
 417   2                      eep_write_byte(addrh,addrl++,temp[i++]);
 418   2                      //temp[i-1]=0xee;
 419   2              }

⌨️ 快捷键说明

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