Saturday, 10 May 2014

gsm-gps code for emergency service project


int i = 0;
int received = 0;
char DataType[] = "GPXXX";
char NMEA[] = "$xxxxx,xxxxxxxxx,xxxx.xxx,x,xxxxx.xxx,x,x,xx,x.x,xxx.x,x,xx.x,x,,*xx";
char receive;
char  error;

  sbit LED at RA0_bit;
           //sbit LED1 at RC2_bit;
          // sbit LED2 at RC3_bit;
char uart_rd;

unsigned char t,add;
unsigned char temp,temp1,temp2;              //


sbit  RELAY at RC0_bit;

//sbit USEN at RB7_bit;
//sbit VIB at RB1_bit;
sbit check2 at RD7_bit;
sbit check1 at RD6_bit;




    unsigned char SAT_DATA[57];

unsigned char pass[5]="1234", pass1[5],compare,fg=0;

 char txt[6];
unsigned int tmp1,tmp2,tmp3,count,count1=0;

      unsigned char SCI_ReceiveByte( void )
        {                                                                                        // RECIVING SERIAL DATA
        unsigned char byte;
        //        RI=0;
       while(!UART1_Data_Ready());     // If data is received,
      byte = UART1_Read();     // read the received data,
        return byte;                                                         // RETURN THE DATA
        }



         void RX_GPRMS()
{
 unsigned char RX=0;
        while(RX!='$')
        {
        RX=SCI_ReceiveByte();
        }

        RX=0;
        while(RX!='G')
        {
        RX=SCI_ReceiveByte();
        }

        RX=0;
        while(RX!='P')
        {
        RX=SCI_ReceiveByte();
        }

        RX=0;
        while(RX!='R')
        {
        RX=SCI_ReceiveByte();
        }

        RX=0;
        while(RX!='M')
        {
        RX=SCI_ReceiveByte();
        }

        RX=0;
        while(RX!='C')
        {
        RX=SCI_ReceiveByte();
        }

         RX=0;

          }

void RX_DATA()
{

        for(i=0;i<57;i++)
        {
        SAT_DATA[i]=SCI_ReceiveByte();
        }
}

 void send_sms1()
 {
 LED=0;
                RELAY=0;
                Delay_ms(500);

                         RX_GPRMS();
                       RX_DATA();
       LED=1;
        RELAY=1;
        Delay_ms(500);

         UART1_write_Text ("AT+CMGS=\"8123902188\"");
         Delay_ms(50);
         UART1_Write(13);
          UART1_Write(10);
          Delay_ms(500);
           Delay_ms(100);

             UART1_write_Text ("LAT");

                        for(i=14;i<26;i++)
          {
         UART1_write(SAT_DATA[i]);
         }
         UART1_write_Text ("LOG");

               for(i=27;i<39;i++)
          {
         UART1_write(SAT_DATA[i]);
         }
          UART1_Write(26);



 }




 void send_sms2()
 {
 LED=0;
                RELAY=0;
                Delay_ms(500);

                         RX_GPRMS();
                       RX_DATA();
       LED=1;
        RELAY=1;
        Delay_ms(500);

         UART1_write_Text ("AT+CMGS=\"9739100797\"");
         Delay_ms(50);
         UART1_Write(13);
          UART1_Write(10);
          Delay_ms(500);
           Delay_ms(100);

             UART1_write_Text ("LAT");

                        for(i=14;i<26;i++)
          {
         UART1_write(SAT_DATA[i]);
         }
         UART1_write_Text ("LOG");

               for(i=27;i<39;i++)
          {
         UART1_write(SAT_DATA[i]);
         }
          UART1_Write(26);



 }





void main() {

 UART1_Init(9600);
 Delay_ms(100);
//TRISD=0X00;
//TRISB=0X00;

TRISA0_bit=0;

TRISC0_bit=0;

TRISD7_bit=1;
TRISD6_bit=1;
//TRISA0_bit=0;

//TRISD7_bit=1;
//check1=1;
LED=1;

     Delay_ms(100);
         RELAY=1;
        Delay_ms(2000);
         UART1_write_Text ("AT");
         Delay_ms(200);
         UART1_Write(13);
          UART1_Write(10);
          Delay_ms(500);

          UART1_write_Text ("AT+CMGF=1");
         Delay_ms(200);
         UART1_Write(13);
          UART1_Write(10);

          UART1_write_Text ("AT+CMGD=1");
         Delay_ms(200);
         UART1_Write(13);
          UART1_Write(10);
          Delay_ms(500);


        RELAY=0;
        check1=0;
        check2=0;
        Delay_ms(1000);
        LED=0;

   while(1) {


if(check1==1)
{
LED=1;
  RELAY=0;
  delay_ms(100);
  send_sms1();
  delay_ms(100);
}
else if(check2==1)
{
LED=1;
RELAY=0;
delay_ms(100);
send_sms2();
delay_ms(100);
}
}
}

No comments:

Post a Comment