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

📄 800.lst

📁 市面上的车载GPS定位器源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 215   1              } 
 216          /*************************************************************
 217          充电控制
 218          **************************************************************/  
 219          void charge(void)
 220                {
 221   1               if((DC42==1)&&(DC34==0))
 222   1                 {
 223   2                        delay_ms(80);
 224   2                         if((DC42==1)&&(DC34==0))
 225   2                           {
 226   3                            DC_IO=1;
 227   3                               }
 228   2                          }
 229   1                 else if((DC42==0)&&(DC34==1))
 230   1                     {
 231   2                        delay_ms(80);
 232   2                        if((DC42==0)&&(DC34==1))
 233   2                          {
 234   3                           DC_IO=0;
 235   3                      }
 236   2                  }
 237   1         //    else if((DC42==0)&&(DC34==0))
 238   1         //        {
C51 COMPILER V7.00  800                                                                    08/08/2006 18:57:28 PAGE 5   

 239   1         //             DC_IO=1;
 240   1         //        }                          
 241   1                }     
 242          /*************************************************************
 243          串口发送一Byte
 244          8bit 数据位,无奇偶校验,1bit 停止位,硬件数据流控制。
 245          dat: 8bit 数据.
 246          *************************************************************/           
 247          void Send_one_Byte(uchar dat)
 248              {
 249   1              ES=0;
 250   1              TI=0;
 251   1          //  do
 252   1       //   for(;TI!=1;)
 253   1       //     {
 254   1              SBUF=dat;
 255   1      //      }
 256   1              while(TI==0);
 257   1          //  ES=1;
 258   1              }
 259          /************************************************************
 260          发送数据流
 261          AT[]
 262          *************************************************************/
 263          /*
 264          void Send_AT(void)
 265               {
 266                  uchar dat;
 267                  pointer=0;
 268                  do
 269                     {
 270                       dat=buffer[pointer];
 271                       Send_one_Byte(dat);
 272                       pointer++;
 273                        }
 274                      while(pointer!=comdat);
 275                      pointer=0;
 276                      //ES=1;
 277                   }
 278                   */
 279          /*****************************************************
 280          发送前len个字符;
 281          ******************************************************/
 282          void Send_AA(uchar *dat,uchar len)
 283               {
 284   1              uchar i;
 285   1              for(i=0;i<len;i++)
 286   1                {
 287   2                      Send_one_Byte(*(dat+i));
 288   2                      delay_us(4000);
 289   2                        }
 290   1              }
 291          /***************************************************
 292          接收中断服务函数
 293          ****************************************************/   
 294          void receive(void) interrupt 4  
 295               {
 296   1            if(RI==1)
 297   1              {
 298   2                  RI=0;
 299   2                  ES=0; 
 300   2                  buffer[pointer++]=SBUF;                //
C51 COMPILER V7.00  800                                                                    08/08/2006 18:57:28 PAGE 6   

 301   2                if((SBUF==0x0A)&&(pointer>2))
 302   2                      {
 303   3                              pointer=0;
 304   3                              ES=0;
 305   3                              comgnd=1;
 306   3                           }
 307   2              else
 308   2                  {  
 309   3                          initial_UART();           //处始化串口
 310   3                   }
 311   2               }
 312   1                }      
 313                    
 314          /****************************************************
 315          *****************************************************/
 316          void input(void)
 317                 {
 318   1           //     uchar i;  
 319   1           /*切断车辆蓄电池,车载终端向用户设置的报警电话发出报警信息*/ 
 320   1            
 321   1                   if(ON_OFF==1)
 322   1                 {
 323   2                   delay_ms(5);
 324   2                   if(ON_OFF==1)
 325   2                     {  
 326   3                      if(SNS==1)
 327   3                        {                     
 328   4                           // Send_Alarm();
 329   4                              Send_AA(AT_RESET,10);
 330   4                              Send_num=1;
 331   4                           SNS=0;
 332   4                           initial_UART();
 333   4                         }  
 334   3                     }
 335   2                       }
 336   1                    else 
 337   1                      {
 338   2                          SNS=1;      
 339   2                   }
 340   1                   
 341   1        /*按下报警按钮二秒钟以上,车载终端向用户设置的报警电话发出报警信息*/           
 342   1                if((Alarm1==0)||(Alarm2==0))  //P2.0   /*非法开启车门 ,车载终端向用户设置的报警电话发出报警信息*
             -/
 343   1                  {
 344   2                      key_delay++;
 345   2                      delay_ms(8);
 346   2                      if(key_delay>key_num)
 347   2                        {
 348   3                               if(WING==1)
 349   3                                 { 
 350   4                                //Send_D001();
 351   4                                  if(Alarm1==0)
 352   4                                    {
 353   5                                      Send_num=2;     
 354   5                                         }
 355   4                                    else if(Alarm2==0)
 356   4                                        {
 357   5                                          Send_num=3; 
 358   5                                         }    
 359   4                                  LED=0;                         
 360   4                                 Send_AA(AT_RESET,10);                   
 361   4                               //  Send_num=2;
C51 COMPILER V7.00  800                                                                    08/08/2006 18:57:28 PAGE 7   

 362   4                                 WING=0;
 363   4                                 initial_UART();
 364   4                                    }
 365   3                                 }
 366   2                      }
 367   1                else
 368   1                  {
 369   2                      key_delay=0;
 370   2                      WING=1;
 371   2                      }
 372   1        /*非法开启车门 ,车载终端向用户设置的报警电话发出报警信息*/
 373   1        /*
 374   1                if(Alarm2==0)
 375   1                   {
 376   1                      delay_ms(20);
 377   1                      if(Alarm2==0)
 378   1                        {
 379   1                               Send_D001();
 380   1                               initial_UART();
 381   1                                 }
 382   1                       }      
 383   1                       */                  
 384   1                  }
 385          /*********************************************************
 386          ***********************************************************/        
 387          void  Send_D001(void)
 388                 {
 389   1               uchar i;         
 390   1                 Send_AA(AT_CMGS_,10);
 391   1                     delay_us(5000); 
 392   1                     for(i=0;i<11;i++)
 393   1                        {
 394   2                          Send_one_Byte(byte_read(0x2C00+i));
 395   2                          delay_us(5000);  
 396   2                     }
 397   1                   delay_us(5000);
 398   1                   Send_AA(D001,17);     
 399   1                   delay_ms(11000);
 400   1                   Send_AA(AT_CMGS_,10);
 401   1                   delay_us(5000);
 402   1                     for(i=0;i<11;i++)
 403   1                        {
 404   2                          Send_one_Byte(byte_read(0x2E00+i));  
 405   2                          delay_us(5000);
 406   2                     }
 407   1                   delay_us(5000);
 408   1                   Send_AA(D001,17); 
 409   1                   delay_ms(5);   
 410   1                  }               
 411          /*********************************************************
 412          ***********************************************************/        
 413          
 414          void  Send_E001(void)
 415                 {
 416   1               uchar i;         
 417   1                 Send_AA(AT_CMGS_,10);
 418   1                     delay_us(5000); 
 419   1                     for(i=0;i<11;i++)
 420   1                        {
 421   2                          Send_one_Byte(byte_read(0x2C00+i));
 422   2                          delay_us(5000);  
 423   2                     }
C51 COMPILER V7.00  800                                                                    08/08/2006 18:57:28 PAGE 8   

 424   1                   delay_us(5000);
 425   1                   Send_AA(E001,17);     
 426   1                   delay_ms(11000);
 427   1                   Send_AA(AT_CMGS_,10);
 428   1                   delay_us(5000);
 429   1                     for(i=0;i<11;i++)
 430   1                        {
 431   2                          Send_one_Byte(byte_read(0x2E00+i));  
 432   2                          delay_us(5000);
 433   2                     }
 434   1                   delay_us(5000);
 435   1                   Send_AA(E001,17); 
 436   1                   delay_ms(5);   
 437   1                  }                       

⌨️ 快捷键说明

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