Вы находитесь на странице: 1из 5

#include<reg51.

h>
sbit s1 = (P0^1);
sbit s2 = (P0^2);
sbit s3 = (P0^3);
sbit s4 = (P0^4);
sbit d1 = (P1^1);
sbit d2 = (P1^2);
sbit d3 = (P1^3);
sbit d4 = (P1^4);
sbit en = (P1^5);
#define cmdport P3
#define dataport P2
#define q 10
#define o 1
sbit rs = cmdport^2; //register select pin
sbit rw = cmdport^1; // read write pin
sbit e = cmdport^0; //enable pin
void delay(unsigned int msec) // Function to provide time delay in msec.
{
int i,j ;
for(i=0;i<msec;i++)
for(j=0;j<550;j++);
}
void lcdcmd(unsigned char msg) //Function to send command to LCD
{
dataport = msg;
rs= 0;
rw=0;
e=1;
delay(1);
e=0;
}
void lcddata(unsigned char item) //Function to send data to LCD
{
dataport = item;
rs= 1;
rw=0;
e=1;
delay(1);
e=0;
}
lcddat(unsigned char *item) // function to send string to LCD
{
int x;
for(x=0;item[x]!=0;x++)
{
lcddata(item[x]);
}
}
void main ()
{
P1=0x00;
P2=0x00;
P3=0x00;
delay(100);
lcdcmd(0x38);
delay(q);
lcdcmd(0x01);
delay(q);
lcdcmd(0x0C);

delay(q);
lcdcmd(0x80);
delay(q);
lcddat("Wireless Gesture");
lcdcmd(0xC0);
delay(q);
lcddat("Controlled Robot");
delay(700);
lcdcmd(0x01);
delay(q);
lcdcmd(0x81);
delay(q);
lcddat("Using AT89S52");
delay(q);
lcdcmd(0xC0);
delay(q);
lcddat("Micro-controller");
delay(700);
lcdcmd(0x38);
delay(q);
lcdcmd(0x01);
delay(q);
;lcdcmd(0x0C);
delay(q);
lcdcmd(0x86);
delay(q);
lcddat("By:");
delay(q);
lcdcmd(0xC2);
delay(q);
lcddat("Pranjal Joshi");
delay(650);
while(1)
{
if (!s1 & !s2 & s3 & !s4)
{
en = 1;
d1 = 1, d3 = 1;
d2 = 0, d4 = 0;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
delay(q);
en=1;
lcdcmd(0x0C);
delay(q);
lcdcmd(0x80);
en=0;
delay(q);
lcddat("Receiving Signal .");
en=1;
delay(q);
lcdcmd(0xC0);
delay(q);
en=0;
lcdcmd(0x0C);
delay(q);
en=1;
lcddat("GOING FORWARD ");

delay(40);
en=0;
}
if (!s1 & !s2 & !s3 & s4)
{
en = 1;
d1 = 0, d3 = 0;
d2 = 1, d4 = 1;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
delay(q);
en=1;
lcdcmd(0x0C);
delay(q);
lcdcmd(0x80);
delay(q);
en=0;
lcddat("Receiving Signal .");
delay(q);
en=1;
lcdcmd(0xC0);
delay(q);
en=0;
lcdcmd(0x0C);
delay(q);
en=1;
lcddat("GOING REVERSE ");
delay(40);
en=0;
}
if (!s1 & s2 & !s3 & !s4)
{
en = 1;
d1 = 0, d4 = 0;
d2 = 1, d3 = 1;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
en=1;
delay(5);
en=0;
lcdcmd(0x0C);
en=1;
delay(5);
en=0;
lcdcmd(0x80);
en=1;
delay(q);
en=1;
delay(5);
en=0;
lcddat("Receiving Signal .");
delay(q);
lcdcmd(0xC0);
delay(q);
lcdcmd(0x0C);
delay(q);

lcddat("TURNING RIGHT ");


en=1;
delay(5);
en=0;
delay(2);
en=1;
delay(5);
en=0;
en=1;
delay(5);
en=0;
delay(40);
}
if (s1 & !s2 & !s3 & !s4)
{
en = 1;
d1 = 1, d4 = 1;
d2 = 0, d3 = 0;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
en=1;
delay(5);
en=0;
lcdcmd(0x0C);
en=1;
delay(5);
en=0;
lcdcmd(0x80);
en=1;
delay(q);
en=1;
delay(5);
en=0;
lcddat("Receiving Signal .");
delay(q);
lcdcmd(0xC0);
delay(q);
lcdcmd(0x0C);
delay(q);
lcddat("TURNING LEFT ");
en=1;
delay(5);
en=0;
delay(2);
en=1;
delay(5);
en=0;
en=1;
delay(5);
en=0;
delay(40);
}
if (!s1 & !s2 & !s3 & !s4)
{
en=0;
d1=0;
d2=0;
d3=0;

d4=0;
lcdcmd(0x38);
delay(q);
lcdcmd(0x01);
delay(q);
lcdcmd(0x0C);
delay(q);
lcdcmd(0x80);
delay(q);
lcddat("No Signal ");
delay(q);
lcdcmd(0xC0);
delay(q);
lcdcmd(0x0C);
delay(q);
lcddat("STOP ");
delay(40);
}
}

Вам также может понравиться