Vous êtes sur la page 1sur 9

#include <htc.

h>
#define ldata PORTD
#define rs RE2
#define rw RE1
#define en RE0
#define device RB1
#define buzzer RB7
#define refill RB0
void Lcdinit();
void Lcddisplay(unsigned char value[]);
void lcddata(unsigned char value);
void Lcdcmd(unsigned char value);
void delay();
void delay1();
void serial_txr(unsigned char a);
void Send_SMS(void);
void Send_SMS2(void);
void USART_puts(const unsigned char *string);
void putch1(unsigned char data);
void Serial_init()
{
TRISC=0XC0;
TXSTA=0x24;
SPBRG=20;
RCSTA=0x90;
TXIF=1;
}
void Send_SMS(void)
{
USART_puts("AT\0");
putch1(0x0D);
delay();

USART_puts("AT+CMGF=1");
putch1(0x0D);// ascii of Carriage Return
delay();

USART_puts("AT+CMGS=\"9994092357\"\0");
putch1(0x0D);
delay();

USART_puts("LPG GAS IS LEAKING \0");
putch1(0x0A);
delay();

putch1(0x0D);
delay();

putch1(0x1A);
}
void Send_SMS2(void)
{
USART_puts("AT\0");
putch1(0x0D);
delay();

USART_puts("AT+CMGF=1");
putch1(0x0D);// ascii of Carriage Return
delay();
USART_puts("AT+CMGS=\"8012776644\"\0");
putch1(0x0D);
delay();

USART_puts("LPG GAS TO BE REFILLED FOR THIS CUSTOMER \0");
putch1(0x0A); delay();

putch1(0x0D);
delay();

putch1(0x1A);
}
void USART_puts(const unsigned char *string)
{
while(*string)
putch1(*string++);
}
void putch1(unsigned char data)
{
while(TXIF==0);
TXREG=data;
delay();
}
void delay()
{
int i;
for(i=0;i<1200;i++);
}
void delay1()
{
int i;
for(i=0;i<50;i++);
}
void Lcdinit()
{
Lcdcmd(0x38);
delay();
delay();
delay();
delay();
Lcdcmd(0x38);
delay();
delay();
delay();
delay();
Lcdcmd(0x38);
delay();
delay();
delay();
delay();
Lcdcmd(0x01);
delay();
Lcdcmd(0x02);
delay();
Lcdcmd(0x08);
delay();
Lcdcmd(0x0c);
delay();
Lcdcmd(0x06);
delay();
Lcdcmd(0x80);
delay();
}
void Lcdcmd(unsigned char value)
{
ldata=value;
rs=0;
rw=0;
en=1;
delay1();
en=0;
return;
}
void lcddata(unsigned char value)
{
ldata=value;
rs=1;
rw=0;
en=1;
delay1();
en=0;
}
void serial_txr(unsigned char a)
{
TXREG=a;
while(TXIF==0);
}
unsigned char val[6],flagx=0,val1[90];
void Delay()
{
long i;
for(i=0;i<1500;i++)
{
}
}
/* Sample code to set up the A2D module */
void init_a2d(void){
ADCON0=0;
ADCON1=2;
ADON=1;
}
/* Return an 8 bit result */
unsigned char read_a2d(unsigned char channel)
{
channel&=0x02;
ADCON0&=0xC4;
ADCON0|=(channel<<3);
while(ADGO)continue;
return(ADRESH);
}
void main()
{
unsigned char temp,gas;
CMCON=0x07;
RCSTA=0X90;
TXSTA=(0X25);
SPBRG=0x21;
CVRCON=0x01;
TRISD=0x00;
TRISE=0x00;
SSPCON=0x00;
TRISB=0x0F;
TRISC=0X80;
Serial_Init();

TRISA=0x00;
Lcdinit();
init_a2d();

device=0;
buzzer=0;
Lcdcmd(0x01);
delay();
delay();
delay();
Lcdcmd(0x80);
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata('L');
lcddata('P');
lcddata('G');
lcddata(' ');
lcddata('R');
lcddata('E');
lcddata('F');
lcddata('I');
lcddata('L');
lcddata('L');
lcddata(' ');

lcddata('&');
lcddata('&');

Lcdcmd(0xC0);
lcddata('L');
lcddata('E');
lcddata('A');
lcddata('K');
lcddata('A');
lcddata('G');
lcddata('E');
lcddata(' ');
lcddata('S');
lcddata('Y');
lcddata('S');
lcddata('T');
lcddata('E');
lcddata('M');
lcddata(' ');

delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();delay2();
/*Lcdcmd(0x80);
lcddata(' ');
lcddata(' ');
lcddata('B');
lcddata('Y');
lcddata(' ');
lcddata('T');
lcddata('H');
lcddata('I');
lcddata('R');
lcddata('U');
lcddata('T');
lcddata('H');
lcddata('A');
lcddata('N');
lcddata('I');

lcddata(' ');
lcddata(' ');
Lcdcmd(0xC0);
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata('P');
lcddata('O');
lcddata('L');
lcddata('Y');
lcddata('T');
lcddata('E');
lcddata('C');
lcddata('H');
lcddata('N');
lcddata('I');
lcddata('C'); */

//device=0x01;
while(1)
{

if (device==1)
{
Lcdcmd(0x01);
delay();
delay();
delay();
Lcdcmd(0x80);
lcddata(' ');
lcddata(' ');
lcddata('G');
lcddata('A');
lcddata('S');
lcddata(' ');
lcddata('L');
lcddata('E');
lcddata('K');
lcddata('A');
lcddata('G');
lcddata('E');
lcddata(' ');
lcddata(' ');
lcddata(' ');

lcddata(' ');
lcddata(' ');
Lcdcmd(0xC0);
lcddata(' ');
lcddata(' ');
lcddata('D');
lcddata('E');
lcddata('T');
lcddata('E');
lcddata('C');
lcddata('T');
lcddata('E');
lcddata('D');
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata(' ');

buzzer=1;
Send_SMS();
delay2();delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
} // end if
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
buzzer=0;
if(refill==0)
{
Lcdcmd(0x01);
delay();
delay();
delay();
Lcdcmd(0x80);
lcddata(' ');
lcddata(' ');
lcddata('L');
lcddata('P');
lcddata('G');
lcddata(' ');
lcddata('G');
lcddata('A');
lcddata('S');
lcddata(' ');
lcddata('T');
lcddata('O');
lcddata(' ');
lcddata('B');
lcddata('E');

lcddata(' ');
lcddata(' ');
Lcdcmd(0xC0);
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata('R');
lcddata('E');
lcddata('F');
lcddata('I');
lcddata('L');
lcddata('L');
lcddata('E');
lcddata('D');
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata(' ');


Send_SMS2();
delay2();delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
delay2();
}
if(refill==1)
{
Lcdcmd(0x01);
delay();
delay();
delay();
Lcdcmd(0x80);
lcddata(' ');
lcddata(' ');
lcddata(' ');
lcddata('L');
lcddata('P');
lcddata('G');
lcddata(' ');
lcddata('R');
lcddata('E');
lcddata('F');
lcddata('I');
lcddata('L');
lcddata('L');
lcddata(' ');

lcddata('&');
lcddata(' ');

Lcdcmd(0xC0);
lcddata('L');
lcddata('E');
lcddata('A');
lcddata('K');
lcddata('A');
lcddata('G');
lcddata('E');
lcddata(' ');
lcddata('S');
lcddata('Y');
lcddata('S');
lcddata('T');
lcddata('E');
lcddata('M');
lcddata(' ');

delay2();
delay2();
}
delay2();
delay2();
delay2();
delay2();delay2();
delay2();
}
}

Vous aimerez peut-être aussi