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