Вы находитесь на странице: 1из 8

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY

CHAPTER 5 SOFTWARE CODING


#include<pic.h> #include<stdio.h> #include<conio.h> #include "delay.c" #include<string.h> #include "usart.c"

__CONFIG(0x3f72);

#define door RD1 #define buzzer RD0 #define crash RD2

unsigned char X,Y,Z; const unsigned char MSG[] = "AT+CMGS=9962328198"; const unsigned char NETW[] = "AT+CNMI=1,0,2,0,1"; const unsigned char LOC[] = "AT+CSCB=0,50,1"; const unsigned char message[20]={"767 A10 Crashed!"}; int k=0;

unsigned char GetX(void); unsigned char GetY(void); unsigned char GetZ(void);

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY

bank1 unsigned char x[80];

void send_commands(void); void Send_Msg(void); void Send_TestCMD(void); void gsm(void);

void main() { char hor,ver;

TRISA = 0xff; TRISD = 0x00; PORTD = 0x00; ADCON1 = 0x00;

while(1) { hor = GetX(); ver = GetZ(); GetY(); crash = 0;

if(hor >= 0x55)

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY { buzzer = 1; Delay_ms4M(100); Delay_ms4M(100); Delay_ms4M(100); } buzzer = 0;

if(ver <= 0x5a) { buzzer = 1; Delay_ms4M(100); Delay_ms4M(100); Delay_ms4M(100); } buzzer = 0;

if(crash == 1) { crash = 0; door = 1; Delay_ms4M(1000); door = 0; gsm(); }

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY } }

unsigned char GetX() { ADCON0=0x41; Delay_ms4M(1); ADGO=1; while(ADGO==1); X = ADRESH; TXREG = 0xA1; Delay_ms4M(25); TXREG = X; Delay_ms4M(25); return(X); }

unsigned char GetY() { ADCON0=0x49; Delay_ms4M(1); ADGO=1; while(ADGO==1); Y = ADRESH; TXREG = 0xA2;

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY Delay_ms4M(25); TXREG = Y; Delay_ms4M(25); return(Y); }

unsigned char GetZ() { ADCON0=0x51; Delay_ms4M(1); ADGO=1; while(ADGO==1); Z = ADRESH; TXREG = 0xA3; Delay_ms4M(25); TXREG = Z; Delay_ms4M(25); return(Z); }

void gsm(void) { Delay_ms4M(2000); init_comms(); Delay_ms4M(1000);

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY

// //

Send_TestCMD(); Delay_ms4M(4000);

//

send_commands(); Send_Msg();

void send_commands(void) { printf("%s%c",NETW,13);

RCIF = 0; cgets(x); while(!(strstr(x,"OK"))) cgets(x);

printf("%s%c",LOC,13);

RCIF = 0; cgets(x); while(!(strstr(x,"OK"))) cgets(x); Delay_ms4M(1000);

RCIF = 0;

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY cgets(x); while(!(strstr(x,"+CBM"))) cgets(x);

cgets(x);cgets(x);

Delay_ms4M(1000); RCIF = 0; }

void Send_Msg(void) { k = 0; while(MSG[k] != '\0') { TXREG = MSG[k++]; Delay_ms4M(100); }

TXREG = 0x0d; Delay_ms4M(100);

k =0 ; while(message[k] != '\0') { TXREG = message[k++]; Delay_ms4M(100);

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

AN BLOCK BOX ALERT SYSTEM FOR CRASH RECOVERY AND PREDICTION USING MEMS TECHNOLOGY }

TXREG = 0x1A; Delay_ms4M(100); }

void Send_TestCMD(void) { printf("AT%c",13);

RCIF = 0; cgets(x); while(!(strstr(x,"OK"))) cgets(x); }

BHARATH COLLEGE OF ENGINEERING & TECHNOLOGY FOR WOMEN

Page|28

Вам также может понравиться