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

📄 800.lst

📁 市面上的车载GPS定位器源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 438          /*****************************************************************
 439          ******************************************************************/ 
 440          
 441          void  Send_Alarm(void)
 442                 {
 443   1                uchar i;
 444   1                
 445   1                 Send_AA(AT_CMGS_,10);
 446   1                     delay_us(4000); 
 447   1                     for(i=0;i<11;i++)
 448   1                        {
 449   2                          Send_one_Byte(byte_read(0x2C00+i));
 450   2                          delay_us(4000);  
 451   2                     }
 452   1                   delay_us(4000);
 453   1                   Send_AA(GPL,23);     
 454   1                   
 455   1                   delay_ms(12000);
 456   1                   
 457   1                   Send_AA(AT_CMGS_,10);
 458   1                   delay_us(4000);
 459   1                     for(i=0;i<11;i++)
 460   1                        {
 461   2                          Send_one_Byte(byte_read(0x2E00+i));  
 462   2                          delay_us(4000);
 463   2                     }
 464   1                   delay_us(4000);
 465   1                   Send_AA(GPL,23); 
 466   1                   delay_ms(5);   
 467   1                      
 468   1                  }       
 469          /************************************************************
 470          短消息命令判断处理
 471          ************************************************************/
 472          void  AT_IO(void)
 473                {
 474   1                    uchar i;
 475   1                   if(memcmp(CMT,buffer,6)==0)            //短消息来电提示
 476   1                     {
 477   2                       delay_ms(1000);
 478   2                           Send_AA(AT_CMGR_,11);              //读取短消息
 479   2                           delay_us(4000);
 480   2                           Send_one_Byte(buffer[7]);
 481   2                           delay_us(4000);
 482   2                           Send_one_Byte(0x0D);
 483   2                           delay_us(4000);
 484   2                           Send_one_Byte(0x0A);
 485   2                           initial_UART();    
C51 COMPILER V7.00  800                                                                    08/08/2006 18:57:28 PAGE 9   

 486   2                //         OFF_1=0;
 487   2                              }
 488   1                              
 489   1                      else if(memcmp(AT_READY,buffer,10)==0)      //AT+READY
 490   1                             {
 491   2                                 if(Send_num==1)
 492   2                                           {
 493   3                                          
 494   3                                            delay_ms(7000);
 495   3                                        Send_Alarm();
 496   3                                            initial_UART();
 497   3                                                  Send_num=0;
 498   3                                           }
 499   2                                       else if(Send_num==2)
 500   2                                           {
 501   3                                             LED=0;
 502   3                                            delay_ms(7000);
 503   3                                        Send_E001();
 504   3                                            initial_UART();
 505   3                                                  Send_num=0;
 506   3                                           }
 507   2                                   else if(Send_num==3)
 508   2                                           {
 509   3                                             LED=0;
 510   3                                                delay_ms(7000);
 511   3                                                Send_D001();
 512   3                                                initial_UART();
 513   3                                                Send_num=0;
 514   3                                           }
 515   2                              
 516   2                                      //       uart0_init(3);
 517   2                                 }
 518   1                                 
 519   1                      else if(memcmp(RING,buffer,6)==0)           //来电提示
 520   1                             {                        
 521   2                                    Send_AA(AT_QCCAV,10);             //接听
 522   2                                        initial_UART();
 523   2                                  }   
 524   1                                                                      
 525   1                  else if(memcmp(CMGR_,buffer,8)==0)          //+CMGR:
 526   1                         {
 527   2                                i=Lookup(buffer,5);               //
 528   2                            if(memcmp(SN,(buffer+i),6)==0)    //比较密码   
 529   2                               {               
 530   3                                 if(memcmp(AON,(buffer+i+6),3)==0)       //比较指令 AON   开机指令
 531   3                                       {
 532   4                                     A_IO=1;  
 533   4                                     delay_ms(5000);  
 534   4                                     Send_CMGS(buffer+18);
 535   4                                     delay_us(4000);
 536   4                                     Send_AA(AON_OK,14);
 537   4                                } 
 538   3                           else if(memcmp(BON,(buffer+i+6),3)==0)    //比较指令  BON   开机指令
 539   3                                {
 540   4                                      B_IO=1;
 541   4                                      delay_ms(5000); 
 542   4                                      Send_CMGS(buffer+18);
 543   4                                      delay_us(4000);
 544   4                                      Send_AA(BON_OK,14);
 545   4                                 }                        
 546   3                            else if(memcmp(AOFF,(buffer+i+6),4)==0)  //比较指令 AOFF  关机指令
 547   3                                { 
C51 COMPILER V7.00  800                                                                    08/08/2006 18:57:28 PAGE 10  

 548   4                                 A_IO=0;
 549   4                                 delay_ms(5000);
 550   4                                 Send_CMGS(buffer+18);
 551   4                                 delay_us(4000);
 552   4                                 Send_AA(AOFF_OK,15);   
 553   4                                    }               
 554   3                                else if(memcmp(BOFF,(buffer+i+6),4)==0)  //比较指令  BOFF 关机指令
 555   3                               { 
 556   4                                 B_IO=0;
 557   4                                 delay_ms(5000);
 558   4                                 Send_CMGS(buffer+18);
 559   4                                 delay_us(4000);
 560   4                                 Send_AA(BOFF_OK,15);   
 561   4                                    }   
 562   3                                else if(memcmp(OFF,(buffer+i+6),3)==0)  //比较指令  OFF 关机指令 
 563   3                                   {
 564   4                                      LED=1;
 565   4                                     delay_ms(5000);
 566   4                                 Send_CMGS(buffer+18);
 567   4                                 delay_us(4000);
 568   4                                 Send_AA(OFF_OK,14); 
 569   4                                   }      
 570   3                                else if(buffer[i+7]==0x53)              //比较指令 S = 密码改写
 571   3                                    {
 572   4                                       if(Write_SN((buffer+i+9),SN)==1)   //
 573   4                                         {
 574   5                                                delay_ms(5000);
 575   5                                        Send_CMGS(buffer+18);
 576   5                                        delay_us(4000);
 577   5                                        Send_AA(SN_OK,13);  
 578   5                           //           OFF_2=0; 
 579   5                                          }
 580   4                                       else
 581   4                                          {
 582   5                                            delay_ms(5000);
 583   5                                        Send_CMGS(buffer+18);
 584   5                                        delay_us(4000);
 585   5                                        Send_AA(SN_OK,13);  
 586   5                           //           OFF_2=0;      
 587   5                                              }    
 588   4                          //                        OFF_2=0;
 589   4                                 }
 590   3                            else if(buffer[i+6]==0x41)               //比较指令 A   设置手机号码
 591   3                                  {
 592   4                                    if(Write_ATT(buffer+i+7,0x2C00)==1)
 593   4                                      {
 594   5                                        delay_ms(5000);
 595   5                                        Send_CMGS(buffer+18);
 596   5                                        delay_us(4000);
 597   5                                        Send_AA(ATT_OK,15);           
 598   5                                              }
 599   4                                       else
 600   4                                          {
 601   5                                            delay_ms(5000);
 602   5                                        Send_CMGS(buffer+18);
 603   5                                        delay_us(4000);
 604   5                                        Send_AA(ATT_ERROR,17);                
 605   5                                      }               
 606   4                                      }
 607   3                               else if(buffer[i+6]==0x42)                 //比较指令 B   设置手机号码
 608   3                                      {
 609   4                                        if(Write_ATT(buffer+i+7,0x2E00)==1)
C51 COMPILER V7.00  800                                                                    08/08/2006 18:57:28 PAGE 11  

 610   4                                      {
 611   5                                        delay_ms(5000);
 612   5                                        Send_CMGS(buffer+18);
 613   5                                        delay_us(4000);
 614   5                                        Send_AA(ATT_OK,15);           
 615   5                                              }
 616   4                                       else
 617   4                                          {
 618   5                                            delay_ms(5000);
 619   5                                        Send_CMGS(buffer+18);
 620   5                                        delay_us(4000);
 621   5                                        Send_AA(ATT_ERROR,17);                
 622   5                                      }                       
 623   4                                       }          
 624   3                                }
 625   2                   else           
 626   2                       {
 627   3                           delay_ms(5000);
 628   3                           Send_CMGS(buffer+18);
 629   3                           delay_us(4000);
 630   3                           Send_AA(SN_ERROR,16);  
 631   3                       }        
 632   2                        delay_ms(9000);                       
 633   2                            Send_AA(AT_SMSD,11);
 634   2                      //    OFF_1=1;
 635   2                            initial_UART();
 636   2                    }     
 637   1                    
 638   1                 } 
 639          /**********************************************************************
 640          读取短消息
 641          ***********************************************************************/
 642          /*
 643          void SMS_read(void)
 644                {
 645                   Send_AA(AT_CMGR_,11);              //读取短消息
 646                   Send_one_Byte(buffer[7]);
 647                   Send_one_Byte(0x0D);
 648                   Send_one_Byte(0x0A);
 649                    }
 650                    */
 651          /**********************************************************************
 652          判断第几条短信
 653          ***********************************************************************/
 654          /*
 655          void SMS_num(void)
 656                {
 657                  uchar i;
 658                  for(i=7;
 659                while(buffer[i]!=0x0D);
 660                  }
 661                  */           
 662          /**********************************************************************
 663          ***********************************************************************/

⌨️ 快捷键说明

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