Program CodeEEE

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

#include<reg52.

h>
#include<string.h>
#include<intrins.h>
#define LCD P0
sbit fan=P1^0;
sbit bulb=P2^0;
bit flag = 0;
bit r_flag = 0;
bit sucess = 0;
int i=0;
char idata buff[150];
void init_lcd(void);
void cmd_lcd(unsigned char);
void data_lcd(unsigned char);
void display_lcd(unsigned char *);
void SEND_CHR(unsigned char);
void delay_ms(int);
int v,k=0;
void serial_intr(void) interrupt 4
{
if(TI == 1)
{
TI = 0;
flag = 1;
}
else
{
RI = 0;
r_flag = 1;
if(i < 150)
buff[i++] = SBUF;
}
}
void print(char *str)
{
while(*str)
{

flag = 0;
SBUF = *str++;
while(flag == 0);
}
}
void main()
{
int l;
fan=0;
bulb=1;
TMOD = 0x21;
SCON = 0x50;
TH1 = 0xFD;
TR1 = 1;
IE = 0x92;
TH0=0x00;
TL0=0x00;
init_lcd();
display_lcd("GSM TESTING");
delay_ms(1000);
cmd_lcd(0x01);
display_lcd("INITIALIZING");
i = 0;
print("AT+CMGF=1\r\n");
delay_ms(100);
sucess = 0;
do{
strcpy(buff," ");
r_flag = 0;
i = 0;

print("AT+CMGD=1,4\r\n");
while(i < 16);
delay_ms(100);
display_lcd(buff);
delay_ms(1000);
l = 0;
while(buff[l] != '\0')
{
if(buff[l++] == 'E')
sucess = 1;
}
delay_ms(1000);
}while(sucess != 1);
cmd_lcd(0x01);
display_lcd("MESSAGES DELETED");
delay_ms(1000);
while(1)
{
sucess = 0;
cmd_lcd(0x01);
display_lcd("INBOX EMPTY");
do{
i = 0;
strcpy(buff,"");
r_flag = 0;
while(r_flag == 0);
delay_ms(100);
if(buff[2] == '+')
sucess = 1;
}while(sucess != 1);

cmd_lcd(0x01);
display_lcd("MESSAGE RECIVED");
delay_ms(1000);
i = 0;
strcpy(buff,"");
print("AT+CMGR=1\r\n");
delay_ms(1000);
l=0;

while(buff[l++] != ',');
cmd_lcd(0x01);
display_lcd("CELL NO : ");
cmd_lcd(0xC0);
l = l+4;
while(buff[l] != '"')
data_lcd(buff[l++]);
delay_ms(1000);
l++;
while(buff[l++] != '"');
cmd_lcd(0x01);
cmd_lcd(0xC0);
while(buff[l] != ',')
(buff[l++]);

while(buff[l++] != ',');
cmd_lcd(0x01);
cmd_lcd(0xC0);
while(buff[l] != '"')

(buff[l++]);
l = l+3;
cmd_lcd(0x01);
display_lcd("MESSAGE : ");
cmd_lcd(0xC0);
data_lcd(buff[l]);
if(buff[l] == '1')
{
display_lcd("FAN : ON ");
delay_ms(10);
fan=1;
delay_ms(10);
cmd_lcd(0x01);
display_lcd("sending sms..");
print("AT+CMGS=");
SEND_CHR('"');
print("9963717927");
SEND_CHR('"');
print("\r\n");
print("FAN : ON");
print("\r\n");
SEND_CHR(0x1A);
SEND_CHR(0x1A);
delay_ms(500);
cmd_lcd(0x01);
display_lcd("Message sent");
}
else if(buff[l] == '2')
{
display_lcd("FAN : OFF");
delay_ms(10);
fan=0;
delay_ms(10);
cmd_lcd(0x01);
display_lcd("sending sms..");
print("AT+CMGS=");
SEND_CHR('"');
print("9963717927");
SEND_CHR('"');
print("\r\n");
print("FAN : OFF");
print("\r\n");
SEND_CHR(0x1A);

SEND_CHR(0x1A);
delay_ms(500);
cmd_lcd(0x01);
display_lcd("Message sent");
}
else if(buff[l] == '3')
{
display_lcd("BULB : ON ");
delay_ms(10);
bulb=0;
delay_ms(10);
cmd_lcd(0x01);
display_lcd("sending sms..");
print("AT+CMGS=");
SEND_CHR('"');
print("9963717927");
SEND_CHR('"');
print("\r\n");
print("BULB : ON");
print("\r\n");
SEND_CHR(0x1A);
SEND_CHR(0x1A);
delay_ms(500);
cmd_lcd(0x01);
display_lcd("Message sent");
}
else if(buff[l] == '4')
{
display_lcd("BULB : OFF ");
delay_ms(10);
bulb=1;;
delay_ms(10);
cmd_lcd(0x01);
display_lcd("sending sms..");
print("AT+CMGS=");
SEND_CHR('"');
print("9963717927");
SEND_CHR('"');
print("\r\n");
print("BULB : OFF");
print("\r\n");
SEND_CHR(0x1A);
SEND_CHR(0x1A);
delay_ms(500);
cmd_lcd(0x01);
display_lcd("Message sent");
}

else
{
display_lcd("NOT VALID");
cmd_lcd(0x01);
delay_ms(10);
display_lcd("sending sms..");
print("AT+CMGS=");
SEND_CHR('"');
print("9963717927");
SEND_CHR('"');
print("\r\n");
print("NOT VALID");
print("\r\n");
SEND_CHR(0x1A);
SEND_CHR(0x1A);
delay_ms(500);
cmd_lcd(0x01);
display_lcd("Message sent");
}
delay_ms(2000);
sucess = 0;
do{
strcpy(buff," ");
r_flag = 0;
i = 0;
print("AT+CMGD=1,0\r\n");
while(i < 14);
delay_ms(100);
l = 0;
while(buff[l] != '\0')
{
if(buff[l++] == 'E')
sucess = 1;
}
delay_ms(500);
}while(sucess != 1);
cmd_lcd(0x01);
display_lcd("MESSAGE DELETED : ");
delay_ms(1000);

}
}
void init_lcd(void)
{
cmd_lcd(0x28);
cmd_lcd(0x28);
cmd_lcd(0x28);
cmd_lcd(0x0C);
cmd_lcd(0x06);
cmd_lcd(0x01);
}
void cmd_lcd(unsigned char var)
{
LCD = ((var & 0xF0) | 0x08);
LCD = 0;
LCD = ((var << 4) | 0x08);
LCD = 0;
delay_ms(2);
}
void data_lcd(unsigned char var)
{
LCD = ((var & 0xF0) | 0x0a);
LCD = 0;
LCD = ((var << 4) | 0x0a);
LCD = 0;
delay_ms(2);
}
void display_lcd(char *str)
{
while(*str)
data_lcd(*str++);
}
void delay_ms(int cnt)
{
int i;
while(cnt--)
for(i=0;i<500;i++);
}
void SEND_CHR(unsigned char c)
{
flag = 0;
SBUF = c;

while(flag == 0);
}

You might also like