You are on page 1of 4

CIRCUIT DIAGRAM :

U 14
1N 4007
1 3
V IN VO U T

G N D
TX1 7805

2
230
v
AC

L S 54
U 1
1 39 2 1
R 3 P 0 .0 /A D 0 P 2 .0 /A 8
38 2 2
0 2 37 P 0 .1 /A D 1 P 2 .1 /A 9 2 3
36 P 0 .2 /A D 2 P 2 .2 /A 1 0 2 4
BU ZZER 35 P 0 .3 /A D 3 P 2 .3 /A 1 1 2 5
R ES 34 P
P
0 .4 /A
0 .5 /A
D
D
4
5
P
P
2
2
.4 /A 1
.5 /A 1
2
3
2 6 LCD
33 2 7
32 P 0 .6 /A D 6 P 2 .6 /A 1 4 2 8
Q 1
P 0 .7 /A D 7 P 2 .7 /A 1 5
1 1 0 LS3
2 P 1 .0 P 3 .0 /R XD 1 1
3 P 1 .1 P 3 .1 /TXD 1 2 5
P 1 .2 P 3 .2 /IN T 0 M G 3
4 1 3 3

1
5 P 1 .3 P 3 .3 /IN T 1 1 4 4
0 P 1 .4 P 3 .4 /T 0 1
6 1 5
7 P 1 .5 P 3 .5 /T 1 1 6 2
8 P 1 .6 P 3 .6 /W R 1 7
P 1 .7 P 3 .7 /R D
19 30 R E LA Y _S P D T_1A
18 X1 ALE 29
X2 PSEN
M O TO R AC

2
31
9 EA
R ST

G N D
40
VC C
VC C
8051
20
D 11
1 2
C 2
LED
R ES
22pf R 4
C 3
VC C
Y 1 22pf
P O R T R IG H T -R
1 1 .0 5 9 2 M H Z C 1 SW 26
10uf Push_But P O R T R IG H T -L
R 1
10k

Program :

sbit temp=P2^0;

sbit relay=P1^0;

sbit ldr=P2^1;

void delay(unsigned int count)

int i,j;

for(i=0;i<count;i++)
for(j=0;j<1275;j++);

void lcd_command(unsigned char comm)

lcd_data_pin=comm;

en=1;

rs=0;

delay(5);

en=0;

void lcd_data(unsigned char disp)

lcd_data_pin=disp;

en=1;

rs=1;

delay(5);

en=0;

void lcd_dat(void)

en=1;

rs=1;

delay(5);

en=0;

}
lcd_dataa(unsigned char *disp)

int i=0;

while(disp[i]!='\0')

lcd_data(disp[i]);

i++;

delay(10);

return;

void lcd_ini()

lcd_command(0x38);

delay(2);

lcd_command(0x0c);

delay(2);

lcd_command(0x01);

delay(2);

void main()

int a=0;

lcd_data_pin=0x00;
rs=0;

en=0;

temp=0;

ldr=0;

relay=0;

lcd_ini();//

lcd_command(0x80);

lcd_command(0x01);

lcd_dataa("Agriculture based ");

lcd_command(0xc1);

lcd_dataa("Motor control ");

delay(300);

lcd_command(0x01);

lcd_command(0x80);

lcd_dataa("CHECKING.........");

delay(150);

lcd_command(0x01);

lcd_command(0x80);

lcd_dataa("Temper & Light ");

lcd_command(0xC0);

lcd_dataa(" is Normal ");

delay(500);

You might also like