Você está na página 1de 21

APPENDIX-1

PROGRAMMING
#include<reg52.h>
#include<stdio.h>
#include<string.h>
sbit AW=P1^0;
sbit AL=P1^1;
sbit AL1=P1^2;

sbit BW=P1^3;
sbit BL=P1^4;
sbit BL1=P1^5;

sbit WATER = P2^6;


sbit L2= P2^5;
sbit L3 = P2^4;

void delay(unsigned long count);


void transmit_d(unsigned char *P);
void transmit(unsigned char *P);
void transmit1(unsigned char *P);

unsigned char data serialdata;

unsigned char code att[]={"AT"};


unsigned char code setsms[]={"AT+CSMS=0"};
unsigned char code setmem[]={"AT+CPMS=\"SM\""};
unsigned char code setmod[]={"AT+CMGF=1"};
unsigned char code mes_indicate[]={"CMTI"};//{"AT+CMGR=1"}; CMTI:
"SM",2
unsigned char code read[]={"AT+CMGR=1"};
unsigned char code delet1[]={"AT+CMGD=1"};
unsigned char code delet2[]={"AT+CMGD=2"};
unsigned char code delet3[]={"AT+CMGD=3"};

unsigned char code l1an[]={"WAAON"};


unsigned char code l1af[]={"WAAOF"};
unsigned char code l2an[]={"LA2ON"};
unsigned char code l2af[]={"LA2OF"};
unsigned char code l3an[]={"LA3ON"};
unsigned char code l3af[]={"LA3OF"};
unsigned char code coa1[]={"CONA1"};
unsigned char code coa2[]={"CONA2"};

unsigned char code l1bn[]={"WABON"};


unsigned char code l1bf[]={"WABOF"};
unsigned char code l2bn[]={"LB2ON"};
unsigned char code l2bf[]={"LB2OF"};

unsigned char code l3bn[]={"LB3ON"};


unsigned char code l3bf[]={"LB3OF"};
unsigned char code cob1[]={"CONB1"};
unsigned char code cob2[]={"CONB2"};

unsigned char code l1on[]={"WATON"};


unsigned char code l1of[]={"WATOF"};
unsigned char code l2on[]={"LT2ON"};
unsigned char code l2of[]={"LT2OF"};
unsigned char code l3on[]={"LT3ON"};
unsigned char code l3of[]={"LT3OF"};
unsigned char code con1[]={"COND1"};
unsigned char code con2[]={"COND2"};

unsigned char code wateron[]={" WATER ON "};


unsigned char code waterof[]={" WATER OFF "};
unsigned char code liq2on[]={" FERTILIZER ON "};
unsigned char code liq2of[]={" FERTILIZER OFF "};
unsigned char code liq3on[]={" pesticides ON "};
unsigned char code liq3of[]={" pesticides OFF"};

unsigned char code condition1on[]={"condition1 ON "};


unsigned char code condition1of[]={" condition1 OFF"};
unsigned char code condition2on[]={"condition2 ON "};

unsigned char code condition2of[]={" condition2 OFF"};

unsigned char code sendnum[]={"AT+CMGS=\"+919894572896\""};

unsigned char data temp[30];


bit comp_bit=0;
unsigned char bit1=0;
unsigned char bit2=0;
unsigned char bit3=0;
int i,j;
unsigned char data z;
void transmit_d(unsigned char *p)
TRANSMIT DATA

// FUNCTION TO

{
unsigned char i;
TR1=1;

// TIMER1 RUN

for(i=0;*p!='\0';i++)
{
SBUF=*p;
*p++;
while(TI==0)
{}
TI=0;
}

// SEND THE ARRAY 'TEMP'

SBUF=0X0D;

// INDICATE END OF

COMMAND
while(TI==0)
{}
TI=0;
TR1=0;

void transmit1(unsigned char *p)


TRANSMIT DATA

// FUNCTION TO

{
unsigned char i;
TR1=1;

// TIMER1 RUN

for(i=0;*p!='\0';i++)
{
SBUF=*p;

// SEND THE ARRAY 'TEMP'

*p++;
while(TI==0)
{}
TI=0;
}
SBUF=0X1A;
MESSAGE 'ctrl+z'

// INDICATE END OF

while(TI==0)
{}
TI=0;
TR1=0;

void sendsms(void)
{
transmit_d(setsms);
transmit_d(setmod);
transmit_d(sendnum);

void delay(unsigned long count)


{
unsigned long int i;
for(i=0;i<count;i++);

}
void receive()

TR1=1;
while(RI==0) {}

serialdata=SBUF; // COPY TO 'serialdata'


RI=0; TR1=0;

void receive1(unsigned char n)

unsigned char i;
TR1=1;
for(i=0;i<n;i++) {
while(RI==0) {}
temp[i]=SBUF;

// COPY TO 'temp'

RI=0;

TR1=0;
temp[i]='\0';

void str_cpy(unsigned char *p,unsigned char *p1) {


while(*p1!='\0')

*p=*p1;
*p++;*p1++;

p='\0';}

str_comp(unsigned char *p,unsigned char *p1)


comp_bit=0;
while(*p1!='\0')

if(*p==*p1)comp_bit=1;
else

comp_bit=0;
break;

*p++;*p1++;

return (comp_bit); }

//char temp[25]= "LCD TEST PROGRAM SUCCESS";

void main()
{

P1=0x00;
P2=0x00;
P0=0x00;
TMOD=0x20;
TH1=0xFD;
SCON=0x50;
TR1=1;

AW=AL=AL1=0;

transmit_d(att);transmit_d(att);
transmit_d(att);delay(500);
transmit_d(delet1);delay(1000);
transmit_d(delet2);delay(1000);

while(1)
{
transmit_d(att);
transmit_d(att);
transmit_d(delet1);delay(1000);
transmit_d(delet2);delay(1000);
receive();
while(serialdata!='+') receive();
receive1(5);

str_comp(temp,mes_indicate);delay(4000);
if(comp_bit==1)
{
delay(10000);
transmit_d(read);
receive();
while(serialdata!=0x0A) receive();receive();
while(serialdata!=0x0A) receive();
receive1(5);
delay(5000); transmit_d(temp);

str_comp(temp,l1an);
if(comp_bit==1)

{
AW=1;
sendsms(); transmit1(wateron); delay(100);
//sendsms1(); transmit1(light1on); delay(5000);

}
else
{
str_comp(temp,l1af);
if(comp_bit==1)
{
AW=0;

sendsms(); transmit1(waterof); delay(100);


//sendsms1(); transmit1(light1of); delay(10000);
}

else
{
str_comp(temp,l2an);
if(comp_bit==1)
{
AL=1;

sendsms(); transmit1(liq2on); delay(100);


//sendsms1(); transmit1(light2on); delay(10000);
}
else
{
str_comp(temp,l2af);
if(comp_bit==1)
{
AL=0;
sendsms(); transmit1(liq2of); delay(100);
//sendsms1(); transmit1(light2of); delay(10000);
}

else
{
str_comp(temp,l3an);
if(comp_bit==1)
{AL1=1;delay(500);

sendsms(); transmit1(liq3on); delay(100);


//

sendsms1(); transmit1(slow); delay(10000);


}

else
{

str_comp(temp,l3af);
if(comp_bit==1)
{AL1=0;delay(500);

sendsms(); transmit1(liq3of); delay(100);


//sendsms1(); transmit1(medium); delay(10000);
}
else
{
str_comp(temp,coa1);
if(comp_bit==1)
{
sendsms(); transmit1(condition1on); delay(100);
AW=1;AL1=1;delay(300000);AL1=0;AL=1;delay(20000);AL=0;
AW=0;

sendsms(); transmit1(condition1of); delay(100);

}
else
{
str_comp(temp,coa2);
if(comp_bit==1)
{

sendsms(); transmit1(condition2on); delay(100);


AW=1;AL1=0;AL=1;delay(400000);AL=0;
AW=0;

sendsms(); transmit1(condition2of); delay(100);

else
{

str_comp(temp,l1bn);
if(comp_bit==1)
{
BW=1;
sendsms(); transmit1(wateron); delay(100);
//sendsms1(); transmit1(light1on); delay(5000);

}
else
{
str_comp(temp,l1bf);
if(comp_bit==1)

{
BW=0;

sendsms(); transmit1(waterof); delay(100);


//sendsms1(); transmit1(light1of); delay(10000);
}

else
{
str_comp(temp,l2bn);
if(comp_bit==1)
{
BL=1;

//

sendsms(); transmit1(liq2on); delay(100);

//sendsms1(); transmit1(light2on); delay(10000);


}
else
{
str_comp(temp,l2bf);
if(comp_bit==1)
{
BL=0;
//sendsms(); transmit1(liq2of); delay(100);

//sendsms1(); transmit1(light2of); delay(10000);


}

else
{
str_comp(temp,l3bn);
if(comp_bit==1)
{BL1=1;delay(500);

sendsms(); transmit1(liq3on); delay(100);


//

sendsms1(); transmit1(slow); delay(10000);


}

else
{
str_comp(temp,l3bf);
if(comp_bit==1)
{BL1=0;delay(500);

sendsms(); transmit1(liq3of); delay(100);


//sendsms1(); transmit1(medium); delay(10000);
}
else
{
str_comp(temp,cob1);

if(comp_bit==1)
{
sendsms(); transmit1(condition1on); delay(100);
BW=1;BL1=1;delay(300000);BL1=0;BL=1;delay(200000);BL=0;
BW=0;

sendsms(); transmit1(condition1of); delay(100);

}
else
{
str_comp(temp,cob2);
if(comp_bit==1)
{
sendsms(); transmit1(condition2on); delay(100);
BW=1;BL1=0;BL=1;delay(400000);BL=0;
BW=0;

sendsms(); transmit1(condition2of); delay(100);

}
else{
str_comp(temp,l1on);

if(comp_bit==1)
{
WATER=1;
sendsms(); transmit1(wateron); delay(100);
//sendsms1(); transmit1(light1on); delay(5000);

}
else
{
str_comp(temp,l1of);
if(comp_bit==1)
{
WATER=0;

sendsms(); transmit1(waterof); delay(100);


//sendsms1(); transmit1(light1of); delay(10000);
}

else
{
str_comp(temp,l2on);
if(comp_bit==1)
{
L2=1;

sendsms(); transmit1(liq2on); delay(100);


//sendsms1(); transmit1(light2on); delay(10000);
}
else
{
str_comp(temp,l2of);
if(comp_bit==1)
{
L2=0;
sendsms(); transmit1(liq2of); delay(100);
//sendsms1(); transmit1(light2of); delay(10000);
}

else
{
str_comp(temp,l3on);
if(comp_bit==1)
{L3=1;delay(500);

sendsms(); transmit1(liq3on); delay(100);


//

sendsms1(); transmit1(slow); delay(10000);


}

else

{
str_comp(temp,l3of);
if(comp_bit==1)
{L3=0;delay(500);

sendsms(); transmit1(liq3of); delay(100);


//sendsms1(); transmit1(medium); delay(10000);
}
else
{
str_comp(temp,con1);
if(comp_bit==1)
{
sendsms(); transmit1(condition1on); delay(100);
WATER=1;L3=1;delay(300000);L3=0;L2=1;delay(200000);L2=0;
WATER=0;

sendsms(); transmit1(condition1of); delay(100);

}
else
{
str_comp(temp,con2);
if(comp_bit==1)

{
sendsms(); transmit1(condition2on); delay(100);

WATER=1;L3=0;L2=1;delay(400000);L2=0;
WATER=0;

sendsms(); transmit1(condition2of); delay(100);

}}}}}}}

}}}}}}}}
}}}}}}}}

delay(100);
transmit_d(delet1);delay(1000);
transmit_d(delet2);delay(1000);
transmit_d(delet3);delay(1000);
}

else
{
transmit_d(delet1);delay(1000);

transmit_d(delet2);delay(1000);
transmit_d(delet3);delay(1000);

}
}

Você também pode gostar