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

📄 main.lst

📁 这个文档程序主要应用了单片机的串行通讯部分
💻 LST
📖 第 1 页 / 共 4 页
字号:
 420   1              for(i=0;i<3;i++)eep_write_byte(addrh,addrl+i,0xee);//写结束码
 421   1      
 422   1      }
 423          
 424          void storegprsnews(void)
 425          {
 426   1              uchar i;        
 427   1              for(i=0;i<82;i++)gprsres[i]=temp[i+6];
C51 COMPILER V8.02   MAIN                                                                  09/16/2008 10:53:22 PAGE 8   

 428   1      }
 429          
 430          
 431          
 432          /************************************载入消息*******************************/
 433          void loadnews(uchar m)
 434          {       
 435   1              uchar addrh,addrl;
 436   1              uint i=0;
 437   1              if(!m)//载入新消息
 438   1              {
 439   2                      if     (newnewsf2){addrh=0x84;addrl=0x00;newnewsf2=0;oldnewsf2=1;}
 440   2                      else if(newnewsf1){addrh=0x82;addrl=0x00;newnewsf1=0;oldnewsf1=1;}
 441   2                      else if(newnewsf0){addrh=0x80;addrl=0x00;newnewsf0=0;oldnewsf0=1;}
 442   2                      else {tiaoshi=1;lightflag=0;}
 443   2              }
 444   1              else//载入旧消息
 445   1              {
 446   2                      if     (m==1){addrh=0x80;addrl=0x00;}
 447   2                      else if(m==2){addrh=0x82;addrl=0x00;}
 448   2                      else if(m==3){addrh=0x84;addrl=0x00;}
 449   2                      else {tiaoshi=1;lightflag=0;}
 450   2              }
 451   1              for(i=0;i<256;i++){temp[i]=eep_read_byte(addrh,addrl++);}
 452   1      }
 453          /***********************************列表旧消息******************************/
 454          void showoldnews(void)
 455          {
 456   1              clrscr(0);clrscr(1);clrscr(2);
 457   1              lcd_prt_char(72,'j');lcd_prt_char(74,'k');//退出
 458   1              if(oldnewsf0){lcd_prt_char(78,'l');lcd_prt_char(80,'m');lcd_prt_letter(82,1,0);}
 459   1              else {lcd_prt_char(79,'s');lcd_prt_char(81,'t');}//图象
 460   1              if(oldnewsf1){lcd_prt_char(84,'l');lcd_prt_char(86,'m');lcd_prt_letter(88,2,0);}
 461   1              else {lcd_prt_char(85,'s');lcd_prt_char(87,'t');}//图象
 462   1              if(oldnewsf2){lcd_prt_char(90,'l');lcd_prt_char(92,'m');lcd_prt_letter(94,3,0);}
 463   1              else {lcd_prt_char(92,'s');lcd_prt_char(94,'t');}//图象
 464   1      }
 465          
 466          
 467          /************************************显示消息*******************************/
 468          void displaynews(uchar startstr)
 469          {
 470   1              uchar position=0;
 471   1              uchar *str=temp;
 472   1              
 473   1              clrscr(0);clrscr(1);clrscr(2);
 474   1              while(!((*(startstr+str)==0xee)&&(*(startstr+str+1)==0xee)&&(*(startstr+str+2)==0xee)))
 475   1              {
 476   2                      lcd_prt_letter(position++,(*(startstr+str)>>4)&0x0f,0);
 477   2                      lcd_prt_letter(position++,(*(startstr+str))&0x0f,0);
 478   2                      str++;
 479   2                      lcd_prt_letter(position++,0x2a,0);
 480   2      
 481   2                      if(position==96){lcd_prt_letter(95,0x2d,0);break;}//满屏,,跳出循环
 482   2              }
 483   1              if(position<92){statefinish=0;state=0x28;}
 484   1              if(position>=92&&position<96){lcd_prt_letter(95,0x2d,0);newsoverf=1;}
 485   1                      
 486   1              //startposition=0;      
 487   1      }
 488          
 489          /********************************辅助显示GPRS配置***************************/
C51 COMPILER V8.02   MAIN                                                                  09/16/2008 10:53:22 PAGE 9   

 490          void adisplaygprs(uchar point,uint num,uchar ipf)
 491          {
 492   1              uchar temppoint;
 493   1              if(gprsturner>100)temppoint=gprsturner-100;
 494   1              else temppoint=gprsturner;
 495   1      
 496   1              if(!ipf)//IP不显示前面的0
 497   1              lcd_prt_letter(point,num/1000,temppoint==point);
 498   1              num%=1000;
 499   1              lcd_prt_letter(point+1,num/100,temppoint==point+1);
 500   1              num%=100;
 501   1              lcd_prt_letter(point+2,num/10,temppoint==point+2);
 502   1              num%=10;
 503   1              lcd_prt_letter(point+3,num,temppoint==point+3); 
 504   1      }
 505          
 506          /**********************************显示GPRS配置*****************************/
 507          void displaygprs(void)
 508          {
 509   1              uchar i;
 510   1              uint num;
 511   1              if(gprsturner<100)
 512   1              {
 513   2                      if(!gprsturner)
 514   2                      {
 515   3                              gprsturner=8;
 516   3                              clrscr(0);clrscr(1);clrscr(2);
 517   3                              lcd_prt_char(0,'M');//“手机号码”
 518   3                              lcd_prt_char(2,'N');
 519   3                              lcd_prt_char(4,'O');
 520   3                              lcd_prt_char(6,'P');
 521   3                              lcd_prt_char(24,'I');//“心跳时间”
 522   3                              lcd_prt_char(26,'J');
 523   3                              lcd_prt_char(28,'K');
 524   3                              lcd_prt_char(30,'L');
 525   3                              lcd_prt_char(36,'Q');//“接入点”
 526   3                              lcd_prt_char(38,'R');
 527   3                              lcd_prt_char(40,'S');
 528   3                              lcd_prt_char(48,'u');//“重连时间”
 529   3                              lcd_prt_char(50,'E');
 530   3                              lcd_prt_char(52,'K');
 531   3                              lcd_prt_char(54,'L');
 532   3                              lcd_prt_char(60,'U');//“断开时间”
 533   3                              lcd_prt_char(62,'V');
 534   3                              lcd_prt_char(64,'K');
 535   3                              lcd_prt_char(66,'L');
 536   3                              lcd_prt_char(72,'j');//“退出”
 537   3                              lcd_prt_char(74,'k');//
 538   3                              lcd_prt_char(79,'v');//“→”
 539   3                              lcd_prt_letter(86,0x30,0);//“+_”
 540   3                              lcd_prt_char(92,'G');//“配置”
 541   3                              lcd_prt_char(94,'H');
 542   3                      }
 543   2                      else
 544   2                      {               
 545   3                              //手机号码      
 546   3                              for(i=0;i<11;i++)lcd_prt_letter(8+i,gprsres[23+i]-0x30,gprsturner==8+i);
 547   3                              //心跳时间
 548   3                              num=gprsres[14]*5;
 549   3                              adisplaygprs(32,num,0);
 550   3                              //接入点
 551   3                              for(i=0;i<gprsres[42];i++)lcd_prt_letter(42+i,gprsres[43+i],gprsturner==42+i);
C51 COMPILER V8.02   MAIN                                                                  09/16/2008 10:53:22 PAGE 10  

 552   3                              //重连时间
 553   3                              num=(gprsres[34]*256+gprsres[35])*5;
 554   3                              adisplaygprs(56,num,0);
 555   3                              //断开时间
 556   3                              num=(gprsres[36]*256+gprsres[37])*5;
 557   3                              adisplaygprs(68,num,0);
 558   3                      }
 559   2              }
 560   1              else
 561   1              {
 562   2                      if(gprsturner==100)
 563   2                      {
 564   3                              gprsturner=106;
 565   3                              clrscr(0);clrscr(1);clrscr(2);
 566   3                              lcd_prt_char(0,'o');//“终端号”
 567   3                              lcd_prt_char(2,'Y');
 568   3                              lcd_prt_char(4,'O');
 569   3                              lcd_prt_char(24,'Z');//“远程IP”
 570   3                              lcd_prt_char(26,'w');
 571   3                              lcd_prt_letter(28,0x18,0);
 572   3                              lcd_prt_letter(29,0x1f,0);
 573   3                              lcd_prt_char(48,'W');//“本地端口”
 574   3                              lcd_prt_char(50,'X');
 575   3                              lcd_prt_char(52,'Y');
 576   3                              lcd_prt_char(54,'T');
 577   3                              lcd_prt_char(60,'Z');//“远程端口”
 578   3                              lcd_prt_char(62,'w');
 579   3                              lcd_prt_char(64,'Y');
 580   3                              lcd_prt_char(66,'T');
 581   3                              lcd_prt_char(72,'j');//“退出”
 582   3                              lcd_prt_char(74,'k');//
 583   3                              lcd_prt_char(79,'v');//“→”
 584   3                              lcd_prt_letter(86,0x30,0);//“+_”
 585   3                              lcd_prt_char(92,'G');//“配置”
 586   3                              lcd_prt_char(94,'H');
 587   3                      }
 588   2                      else
 589   2                      {
 590   3                              //终端号
 591   3                              lcd_prt_letter(6,(gprsres[12]>>4)&0x0f,gprsturner==106);
 592   3                              lcd_prt_letter(7,gprsres[12]&0x0f,gprsturner==107);
 593   3                              lcd_prt_letter(8,(gprsres[13]>>4)&0x0f,gprsturner==108);
 594   3                              lcd_prt_letter(9,gprsres[13]&0x0f,gprsturner==109);
 595   3                              //远程IP
 596   3                              num=gprsres[0];
 597   3                              adisplaygprs(30-1,num,1);//留出千位,,位置内部自加一
 598   3                              lcd_prt_letter(33,0x2f,0);
 599   3                              num=gprsres[1];
 600   3                              adisplaygprs(34-1,num,1);
 601   3                              lcd_prt_letter(37,0x2f,0);
 602   3                              num=gprsres[2];
 603   3                              adisplaygprs(38-1,num,1);
 604   3                              lcd_prt_letter(41,0x2f,0);
 605   3                              num=gprsres[3];
 606   3                              adisplaygprs(42-1,num,1);
 607   3                              //本地端口
 608   3                              num=(gprsres[10]*256+gprsres[11]);
 609   3                              adisplaygprs(56,num,0);
 610   3                              //远程端口
 611   3                              num=(gprsres[4]*256+gprsres[5]);
 612   3                              adisplaygprs(68,num,0);
 613   3                      }
C51 COMPILER V8.02   MAIN                                                                  09/16/2008 10:53:22 PAGE 11  

 614   2              }
 615   1      
 616   1      }
 617          /**********************************显示CDMA配置*****************************/
 618          void displaycdma(void)
 619          {
 620   1              //uchar i;
 621   1              uint num;
 622   1              if(gprsturner<100)
 623   1              {
 624   2                      if(!gprsturner)
 625   2                      {
 626   3                              gprsturner=6;
 627   3                              clrscr(0);clrscr(1);clrscr(2);
 628   3                              lcd_prt_char(0,'o');//“终端号”
 629   3                              lcd_prt_char(2,'Y');
 630   3                              lcd_prt_char(4,'O');
 631   3                              lcd_prt_char(24,'Z');//“远程IP”

⌨️ 快捷键说明

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