You are on page 1of 3

#include<reg51.

h>
#include<delay.h>
# define DATA P1
sbit e=P3^7;
sbit rw=P3^6;
sbit rs=P3^5;
sbit s1=P2^0;
sbit s2=P2^1;
sbit s3=P2^2;
sbit relay=P0^6;
sbit s4=P2^3;
void mov_stepper(unsigned char dir,unsigned char rot)
{
while(rot>0)
{ if(dir=='c')
{
P0=0X08;
ms_delay(5);
P0=0X04;
ms_delay(5);
P0=0X02;
ms_delay(5);
P0=0X01;
ms_delay(5);
}
if(dir=='a')
{
P0=0X01;
ms_delay(5);
P0=0X02;
ms_delay(5);
P0=0X04;
ms_delay(5);
P0=0X08;
ms_delay(5);
}
rot--;
}
}
void lcd_cmd(unsigned char temp)
{
DATA=temp;
rs=0;
rw=0;
e=1;
ms_delay(5);
e=0;
ms_delay(5);
}
void lcd_data(unsigned char temp)
{
DATA=temp;
rs=1;
rw=0;
e=1;
ms_delay(5);
e=0;
ms_delay(5);
}
void lcd_init()

{
lcd_cmd(0x38);
lcd_cmd(0x06);
lcd_cmd(0x0e);
lcd_cmd(0x01);
lcd_cmd(0x80);
}
void lcd_puts(unsigned char *s)
{ lcd_init();
while(*s!='\0')
{
lcd_data(*s);
s++;
}
}
void main()
{
P0=0X00;
P2=0X00;
while(1)
{
if(s1==1)
{
mov_stepper('c',3);
lcd_puts("FIELD A");
while(s1!=0)
{
relay=1;
}
relay=0;
mov_stepper('a',3);
lcd_puts("MONITORING");
}
if(s2==1)
{
mov_stepper('c',6);
lcd_puts("FIELD B");
while(s2!=0)
{
relay=1;
}
relay=0;
mov_stepper('a',6);
lcd_puts("MONITORING");
}
if(s3==1)
{
mov_stepper('a',9);
lcd_puts("FIELD C");
while(s3!=0)
{
relay=1;
}
relay=0;
mov_stepper('c',9);
lcd_puts("MONITORING");
}
if(s4==1)
{
lcd_puts("FIELD D");

while(s4!=0)
{
relay=1;
}
relay=0;
lcd_puts("MONITORING");
}
lcd_puts("MONITORING");
}
}

You might also like