#include<pic.h> __CONFIG(0X3F72); unsigned int A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0; unsigned int K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,K1=0,L1=0,M1=0,N1=0,O1=0; unsigned int U=0,V=0,W=0,X=0,Y=0,Z=0; unsigned char T=0,ser1='R',data_cap1=0,st1=1,n,o,gpsdata[50]; unsigned int Z,val2,val3,val4,val5,M2,M3; unsigned int d=0,e=0; #define RS RD1 #define RW RD2 #define EN RD3 //*********************************************************************** // KEYPAD PIN DEFINE //********************************************************************** #define RESET RB1 //RESET SWITCH #define SS RB2 //IR SENSOR #define MOTOR RC0 #define BUZZER RC1 #define ir1 RB5 #define ir2 RB6 #define LDR RC2 static bit ultrasonic1@((unsigned )&PORTE*8+0); static bit trig@((unsigned )&PORTE*8+1); unsigned int g3,val12,val13,val13,val14,val15,H1=0,H2=0,H3=0; unsigned int aa,bb,dd,cc=50,VAL2=350,spo2,val24,val25; unsigned int adc_value,val1,val2=0,val3=0,val5=0,b,c,e,VAL22=0,TEMP,VALZ=0; //********************************************************************************** // DELAY FUNCTION //********************************************************************************** void delay(unsigned int a) { while(a--); } //********************************************************************************** // LCD COMMAND FUNCTION //********************************************************************************** void lcd_cmd(unsigned char com) { PORTD=(com & 0xf0); RS=0; RW=0; EN=1; delay(200); EN=0; unsigned int b; b=com<<4; PORTD=(b & 0xf0); RS=0; RW=0; EN=1; delay(200); EN=0; } //********************************************************************************** // LCD DATA FUNCTION //********************************************************************************** void lcd_data(unsigned char dat) { PORTD=(dat & 0xf0); RS=1; RW=0; EN=1; delay(200); EN=0; unsigned int c; c=dat<<4; PORTD=(c & 0xf0); RS=1; RW=0; EN=1; delay(200); EN=0; } //********************************************************************************** // LCD INITIALIZE FUNCTION //********************************************************************************** void lcd_init() { lcd_cmd(0x02); lcd_cmd(0x2c); lcd_cmd(0x06); lcd_cmd(0x0c); lcd_cmd(0x01); } //********************************************************************************** // LCD DISPLAY FUNCTION //********************************************************************************** void lcd_display(const unsigned char word[50]) { for(int l=0;word[l]!=0;l++) { lcd_data(word[l]); } } //****************************************************************************************************************************************** // GPS INTIALIZE FUNCTION //****************************************************************************************************************************************** void gps_init() { TXSTA=0X24; RCSTA=0X90; SPBRG=25; GIE=1; PEIE=1; RCIE=1; INTE=1; } void gsm_command(const unsigned char *da) { unsigned int s; for(s=0;da[s]!=0;s++) { while(!TXIF) { } OERR=0; TXREG=da[s]; } } void txs(unsigned char val) { while(!TXIF) { } OERR=0; TXREG=val; } void sms1() { txs('A');txs('T');txs('+');txs('C');txs('M');txs('G'); txs('S');txs('='); txs('"'); txs('7');txs('8');txs('1');txs('2');txs('8'); txs('5');txs('9');txs('6');txs('1');txs('2'); txs('"'); txs(13); delay(10000);txs(10); delay(600); delay(600); gsm_command("ACCIDENT OCCURED "); TXREG=0x0D; delay(5000); //TXREG=(x+0x30); delay(600); txs(13);delay(60000); txs(10); delay(10000); gsm_command("GPS LOCATION "); delay(600); txs(13);delay(60000); txs(10); delay(10000); for(o=16;o<28;o++) { ser1=(gpsdata[o]); TXREG=(ser1); delay(600); } for(o=30;o<42;o++) { ser1=(gpsdata[o]); TXREG=(ser1); delay(600); } delay(60000);delay(60000); txs(13);delay(60000); txs(10); delay(10000); txs(26); delay(50000);delay(50000); delay(50000);delay(50000); } //********************************************************************************** // SPEED SENSOR //********************************************************************************** void heart_beat() { while(CNT<=6) { TMR1ON=1; TMR1CS=0; // TIMER MODE T1CKPS1=1; // SETTING PRESCALAR VALUE AS 8 T1CKPS0=1; TMR1H=0x0B; TMR1L=0xDB; while(TMR1IF==0) { if((SS==1)&&(VAL8==0)) { VAL8=1; delay(10000); } if(SS==0) { VAL8=0; } } if(TMR1IF==1) { TMR1IF=0; CNT=CNT+1; TMR1ON=0; } } CNT=0; if((COUNT>=0)&&(COUNT<=5)) { COUNT1=COUNT1*12; } if((COUNT>=6)&&(COUNT<=8)) { COUNT1=COUNT1*10; } if((COUNT>=8)&&(COUNT<=12)) { COUNT1=COUNT1*10; } if((COUNT>=13)&&(COUNT<=29)) { COUNT1=COUNT1*8; } } //****************************************************************************************************************************************** // INTERRUPT FUNCTION //****************************************************************************************************************************************** void interrupt rcx() { if(INTF==1) { INTF=0; T=1; } if(RCIF==1) { RCIF=0; ser1=RCREG; if((ser1=='R')&&(st1==1)) { data_cap1=1; st1=0; } if((data_cap1==1)&&(n<45)) { gpsdata[n]=ser1; n=n+1; } } } //****************************************************************************************************************************************** // GPS SEND FUNCTION //****************************************************************************************************************************************** void gps_send() { if(n>43) { lcd_cmd(0x01); lcd_cmd(0x80); TXREG=('H'); delay(600); for(o=16;o<28;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } TXREG=('H'); delay(600); for(o=16;o<28;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } lcd_cmd(0xc0); TXREG=('I'); delay(600); for(o=30;o<42;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } TXREG=('I'); delay(600); for(o=30;o<42;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } delay(50000);delay(50000);delay(50000); delay(50000);delay(50000);delay(50000); lcd_cmd(0x01); lcd_cmd(0x80); lcd_display(" WELCOME "); data_cap1=0; st1=1; n=0; } } void serial(const unsigned char *a) { unsigned char i; for(i=0;a[i]!=0;i++) { TXREG=a[i]; delay(20000); //TXREG=0X0D; } } //*************************************************************** //ultrsonic sensor //*************************************************************** void sensor() { lcd_cmd(0x01); lcd_cmd(0x80); trig=0; for(e=0;e<30;e++); trig=1; for(e=0;e<30;e++); trig=0; while(ultrasonic1==0); if(ultrasonic1==1) { while(ultrasonic1==1) { d++; if(d>10000) break; } d=d*2; g3=d; lcd_cmd(0x01); delay(100); lcd_cmd(0x80); delay(100); lcd_display("ULTRASONIC L:"); lcd_cmd(0xC0); lcd_data((d%10000)/1000+0x30); lcd_data((d%1000)/100+0x30); lcd_data((d%100)/10+0x30); lcd_data((d%10)+0x30); lcd_data('m'); lcd_data('m'); } delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); if(d<30) { lcd_cmd(0x80); lcd_display("ULTRASONIC Low:"); BUZZER=1; delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); BUZZER=0; } d=0; delay(10000);delay(10000);delay(10000); } //********************************************************************************** // MAIN FUNCTION //********************************************************************************** void main() { ADCON1=0X8E; ADCON0=0x00; TRISB=0XF7; PORTB=0X00; TRISC=0x84; PORTC=0X00; TRISD=0x00; PORTD=0x00; TRISE=0x01; PORTE=0x00; lcd_init(); delay(200); lcd_cmd(0x80); lcd_display("WELCOME"); gps_init(); delay(50000);delay(50000);delay(50000); delay(50000);delay(50000);delay(50000); lcd_cmd(0x01); VALA=0; VALB=1; T=0; //********************************************************************************** // WHILE FUNCTION //********************************************************************************** while(1) { //*********************************************************************** //ACCIDENT SENSOR //*********************************************************************** if((T==1)&&(VALB==1)) { T=0; delay(6000); lcd_cmd(0x80); lcd_display("ACC OCCURED1 "); VALB=0; MOTOR=0; delay(50000);delay(50000); VALA=1; } if(VALA==1) { data_cap1=0; st1=1; n=0; lcd_cmd(0x80); lcd_display("ACC OCCURED2 "); U=U+1; V=U/10; W=U%10; BUZZER=1; lcd_cmd(0xCE); lcd_data(V+0x30); lcd_data(W+0x30); delay(1000);delay(1000);delay(1000);delay(1000); } { BUZZER=0; data_cap1=0; st1=1; n=0; TXREG=('E'); delay(600); TXREG=('0'); delay(600); lcd_cmd(0x80); lcd_display("NORMAL "); VALB=1; VALA=0; U=0; T=0; delay(50000);delay(50000); } if(U==10) { TXREG=('G'); delay(600); TXREG=('1'); delay(600); BUZZER=1; delay(50000); lcd_cmd(0x01); lcd_cmd(0x80); lcd_display("GPS SENDING......................"); delay(50000);delay(50000);delay(50000); gps_send(); delay(50000);delay(50000);delay(50000); delay(50000);delay(50000);delay(50000); serial("AT"); txs(13);delay(60000);delay(60000); txs(10); delay(10000); delay(10000); serial("AT+CMGF=1"); txs(13);delay(60000);delay(60000); txs(10); delay(10000); delay(10000); sms1(); delay(50000); delay(50000);delay(50000);delay(50000);delay(50000); BUZZER=0; delay(50000); delay(50000);delay(50000);delay(50000);delay(50000); while(1); } if(VALB==1) { MOTOR=1; //*********************************************************************** // HEART BEAT SENSOR //*********************************************************************** if(SS==0) { COUNT1=0; heart_beat(); } P=COUNT1/100; Q=COUNT1%100; R=Q/10; S=Q%10; lcd_cmd(0xC6); lcd_display("S="); lcd_data(P+0x30); lcd_data(R+0x30); lcd_data(S+0x30); delay(1000); delay(50000); } if(LDR==0) { BUZZER=1; lcd_cmd(0x86); lcd_display("LDR=1"); lcd_cmd(0xC0); lcd_display("lane detected"); delay(10000);delay(10000);delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); BUZZER=0; } else { lcd_cmd(0x86); lcd_display("LDR=0"); delay(10000);delay(10000);delay(10000);delay(10000); } delay(30000);delay(30000); sensor(); delay(30000);delay(30000); lcd_cmd(0x01); } }
Standard input is empty
#include<pic.h> __CONFIG(0X3F72); unsigned int A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0; unsigned int K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,K1=0,L1=0,M1=0,N1=0,O1=0; unsigned int U=0,V=0,W=0,X=0,Y=0,Z=0; unsigned char T=0,ser1='R',data_cap1=0,st1=1,n,o,gpsdata[50]; unsigned int COUNT,CNT,COUNT,COUNT1,VAL8=0,VALA=0,VALB=1,VALC=0; unsigned int Z,val2,val3,val4,val5,M2,M3; unsigned int d=0,e=0; #define RS RD1 #define RW RD2 #define EN RD3 //*********************************************************************** // KEYPAD PIN DEFINE //********************************************************************** #define RESET RB1 //RESET SWITCH #define SS RB2 //IR SENSOR #define MOTOR RC0 #define BUZZER RC1 #define ir1 RB5 #define ir2 RB6 #define LDR RC2 static bit ultrasonic1@((unsigned )&PORTE*8+0); static bit trig@((unsigned )&PORTE*8+1); unsigned int g3,val12,val13,val13,val14,val15,H1=0,H2=0,H3=0; unsigned int aa,bb,dd,cc=50,VAL2=350,spo2,val24,val25; unsigned int adc_value,val1,val2=0,val3=0,val5=0,b,c,e,VAL22=0,TEMP,VALZ=0; //********************************************************************************** // DELAY FUNCTION //********************************************************************************** void delay(unsigned int a) { while(a--); } //********************************************************************************** // LCD COMMAND FUNCTION //********************************************************************************** void lcd_cmd(unsigned char com) { PORTD=(com & 0xf0); RS=0; RW=0; EN=1; delay(200); EN=0; unsigned int b; b=com<<4; PORTD=(b & 0xf0); RS=0; RW=0; EN=1; delay(200); EN=0; } //********************************************************************************** // LCD DATA FUNCTION //********************************************************************************** void lcd_data(unsigned char dat) { PORTD=(dat & 0xf0); RS=1; RW=0; EN=1; delay(200); EN=0; unsigned int c; c=dat<<4; PORTD=(c & 0xf0); RS=1; RW=0; EN=1; delay(200); EN=0; } //********************************************************************************** // LCD INITIALIZE FUNCTION //********************************************************************************** void lcd_init() { lcd_cmd(0x02); lcd_cmd(0x2c); lcd_cmd(0x06); lcd_cmd(0x0c); lcd_cmd(0x01); } //********************************************************************************** // LCD DISPLAY FUNCTION //********************************************************************************** void lcd_display(const unsigned char word[50]) { for(int l=0;word[l]!=0;l++) { lcd_data(word[l]); } } //****************************************************************************************************************************************** // GPS INTIALIZE FUNCTION //****************************************************************************************************************************************** void gps_init() { TXSTA=0X24; RCSTA=0X90; SPBRG=25; GIE=1; PEIE=1; RCIE=1; INTE=1; } void gsm_command(const unsigned char *da) { unsigned int s; for(s=0;da[s]!=0;s++) { while(!TXIF) { } OERR=0; TXREG=da[s]; } } void txs(unsigned char val) { while(!TXIF) { } OERR=0; TXREG=val; } void sms1() { txs('A');txs('T');txs('+');txs('C');txs('M');txs('G'); txs('S');txs('='); txs('"'); txs('7');txs('8');txs('1');txs('2');txs('8'); txs('5');txs('9');txs('6');txs('1');txs('2'); txs('"'); txs(13); delay(10000);txs(10); delay(600); delay(600); gsm_command("ACCIDENT OCCURED "); TXREG=0x0D; delay(5000); //TXREG=(x+0x30); delay(600); txs(13);delay(60000); txs(10); delay(10000); gsm_command("GPS LOCATION "); delay(600); txs(13);delay(60000); txs(10); delay(10000); for(o=16;o<28;o++) { ser1=(gpsdata[o]); TXREG=(ser1); delay(600); } for(o=30;o<42;o++) { ser1=(gpsdata[o]); TXREG=(ser1); delay(600); } delay(60000);delay(60000); txs(13);delay(60000); txs(10); delay(10000); txs(26); delay(50000);delay(50000); delay(50000);delay(50000); } //********************************************************************************** // SPEED SENSOR //********************************************************************************** void heart_beat() { while(CNT<=6) { TMR1ON=1; TMR1CS=0; // TIMER MODE T1CKPS1=1; // SETTING PRESCALAR VALUE AS 8 T1CKPS0=1; TMR1H=0x0B; TMR1L=0xDB; while(TMR1IF==0) { if((SS==1)&&(VAL8==0)) { VAL8=1; COUNT=COUNT+1; delay(10000); } if(SS==0) { VAL8=0; } } if(TMR1IF==1) { TMR1IF=0; CNT=CNT+1; TMR1ON=0; } } COUNT1=COUNT; CNT=0; if((COUNT>=0)&&(COUNT<=5)) { COUNT1=COUNT1*12; } if((COUNT>=6)&&(COUNT<=8)) { COUNT1=COUNT1*10; } if((COUNT>=8)&&(COUNT<=12)) { COUNT1=COUNT1*10; } if((COUNT>=13)&&(COUNT<=29)) { COUNT1=COUNT1*8; } COUNT=0; } //****************************************************************************************************************************************** // INTERRUPT FUNCTION //****************************************************************************************************************************************** void interrupt rcx() { if(INTF==1) { INTF=0; T=1; } if(RCIF==1) { RCIF=0; ser1=RCREG; if((ser1=='R')&&(st1==1)) { data_cap1=1; st1=0; } if((data_cap1==1)&&(n<45)) { gpsdata[n]=ser1; n=n+1; } } } //****************************************************************************************************************************************** // GPS SEND FUNCTION //****************************************************************************************************************************************** void gps_send() { if(n>43) { lcd_cmd(0x01); lcd_cmd(0x80); TXREG=('H'); delay(600); for(o=16;o<28;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } TXREG=('H'); delay(600); for(o=16;o<28;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } lcd_cmd(0xc0); TXREG=('I'); delay(600); for(o=30;o<42;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } TXREG=('I'); delay(600); for(o=30;o<42;o++) { ser1=(gpsdata[o]); TXREG=(ser1); lcd_data(ser1); delay(600); } delay(50000);delay(50000);delay(50000); delay(50000);delay(50000);delay(50000); lcd_cmd(0x01); lcd_cmd(0x80); lcd_display(" WELCOME "); data_cap1=0; st1=1; n=0; } } void serial(const unsigned char *a) { unsigned char i; for(i=0;a[i]!=0;i++) { TXREG=a[i]; delay(20000); //TXREG=0X0D; } } //*************************************************************** //ultrsonic sensor //*************************************************************** void sensor() { lcd_cmd(0x01); lcd_cmd(0x80); trig=0; for(e=0;e<30;e++); trig=1; for(e=0;e<30;e++); trig=0; while(ultrasonic1==0); if(ultrasonic1==1) { while(ultrasonic1==1) { d++; if(d>10000) break; } d=d*2; g3=d; lcd_cmd(0x01); delay(100); lcd_cmd(0x80); delay(100); lcd_display("ULTRASONIC L:"); lcd_cmd(0xC0); lcd_data((d%10000)/1000+0x30); lcd_data((d%1000)/100+0x30); lcd_data((d%100)/10+0x30); lcd_data((d%10)+0x30); lcd_data('m'); lcd_data('m'); } delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); if(d<30) { lcd_cmd(0x80); lcd_display("ULTRASONIC Low:"); BUZZER=1; delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); BUZZER=0; } d=0; delay(10000);delay(10000);delay(10000); } //********************************************************************************** // MAIN FUNCTION //********************************************************************************** void main() { ADCON1=0X8E; ADCON0=0x00; TRISB=0XF7; PORTB=0X00; TRISC=0x84; PORTC=0X00; TRISD=0x00; PORTD=0x00; TRISE=0x01; PORTE=0x00; lcd_init(); delay(200); lcd_cmd(0x80); lcd_display("WELCOME"); gps_init(); delay(50000);delay(50000);delay(50000); delay(50000);delay(50000);delay(50000); lcd_cmd(0x01); VALA=0; VALB=1; T=0; //********************************************************************************** // WHILE FUNCTION //********************************************************************************** while(1) { //*********************************************************************** //ACCIDENT SENSOR //*********************************************************************** if((T==1)&&(VALB==1)) { T=0; delay(6000); lcd_cmd(0x80); lcd_display("ACC OCCURED1 "); VALB=0; MOTOR=0; delay(50000);delay(50000); VALA=1; } if(VALA==1) { data_cap1=0; st1=1; n=0; lcd_cmd(0x80); lcd_display("ACC OCCURED2 "); U=U+1; V=U/10; W=U%10; BUZZER=1; lcd_cmd(0xCE); lcd_data(V+0x30); lcd_data(W+0x30); delay(1000);delay(1000);delay(1000);delay(1000); } if((RESET==1)&&(U<=9)) { BUZZER=0; data_cap1=0; st1=1; n=0; TXREG=('E'); delay(600); TXREG=('0'); delay(600); lcd_cmd(0x80); lcd_display("NORMAL "); VALB=1; VALA=0; U=0; T=0; delay(50000);delay(50000); } if(U==10) { TXREG=('G'); delay(600); TXREG=('1'); delay(600); BUZZER=1; delay(50000); lcd_cmd(0x01); lcd_cmd(0x80); lcd_display("GPS SENDING......................"); delay(50000);delay(50000);delay(50000); gps_send(); delay(50000);delay(50000);delay(50000); delay(50000);delay(50000);delay(50000); serial("AT"); txs(13);delay(60000);delay(60000); txs(10); delay(10000); delay(10000); serial("AT+CMGF=1"); txs(13);delay(60000);delay(60000); txs(10); delay(10000); delay(10000); sms1(); delay(50000); delay(50000);delay(50000);delay(50000);delay(50000); BUZZER=0; delay(50000); delay(50000);delay(50000);delay(50000);delay(50000); while(1); } if(VALB==1) { MOTOR=1; //*********************************************************************** // HEART BEAT SENSOR //*********************************************************************** if(SS==0) { COUNT1=0; heart_beat(); } P=COUNT1/100; Q=COUNT1%100; R=Q/10; S=Q%10; lcd_cmd(0xC6); lcd_display("S="); lcd_data(P+0x30); lcd_data(R+0x30); lcd_data(S+0x30); delay(1000); delay(50000); } if(LDR==0) { BUZZER=1; lcd_cmd(0x86); lcd_display("LDR=1"); lcd_cmd(0xC0); lcd_display("lane detected"); delay(10000);delay(10000);delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); delay(10000);delay(10000); BUZZER=0; } else { lcd_cmd(0x86); lcd_display("LDR=0"); delay(10000);delay(10000);delay(10000);delay(10000); } delay(30000);delay(30000); sensor(); delay(30000);delay(30000); lcd_cmd(0x01); } }