A Simple Program on TRI C for Obstacle avoider Robot
@mrdon-92OwlG
•
Oct 23, 2024
Oct 23, 2024
1.1K
A Simple Program on TRI C for P89V51RD2 Obstacle avoider Robot
#include<p89v51rd2.h>
#include<lcd.h>
#inlcude<DELAY.h> //We include necessary header files here
#define forward 0x05; //0000 01 01 both motors in forward
#define reverse 0x0a; //0000 10 10 both motors in reverse
#define leftturn 0x06; //0000 01 10 left motor =backwards,
//right motor=forward
#define rightturn 0x09; //0000 10 01 left motor=forward
//right motor=backwards
#define obstleft P1_1
#define obstright P1_2
void main() //Main program begins here
{
P1=0xff; //intialize PORT1 as input(sensors)
P2=0x00; //intialize PORT2 as output(motors)
while(1)
{ //since there is no where to return we put it an infinite loop
if(obstleft==0) //Check if right sensor has detected an obstacle
{
P2=reverse;
DELAY(500); //if detected turn left for some time after reverse
P2=rightturn;
DELAY(200);
}
if(obstright==0) //Check if left sensor has detected as obstacle
{
P2=reverse;
DELAY(500); //if detected turn right for some time after reverse
P2=leftturn;
DELAY(200);
}
else
{
P2=forward; //else go forward
}
}
}
#include<p89v51rd2.h>
#include<lcd.h>
#inlcude<DELAY.h> //We include necessary header files here
#define forward 0x05; //0000 01 01 both motors in forward
#define reverse 0x0a; //0000 10 10 both motors in reverse
#define leftturn 0x06; //0000 01 10 left motor =backwards,
//right motor=forward
#define rightturn 0x09; //0000 10 01 left motor=forward
//right motor=backwards
#define obstleft P1_1
#define obstright P1_2
void main() //Main program begins here
{
P1=0xff; //intialize PORT1 as input(sensors)
P2=0x00; //intialize PORT2 as output(motors)
while(1)
{ //since there is no where to return we put it an infinite loop
if(obstleft==0) //Check if right sensor has detected an obstacle
{
P2=reverse;
DELAY(500); //if detected turn left for some time after reverse
P2=rightturn;
DELAY(200);
}
if(obstright==0) //Check if left sensor has detected as obstacle
{
P2=reverse;
DELAY(500); //if detected turn right for some time after reverse
P2=leftturn;
DELAY(200);
}
else
{
P2=forward; //else go forward
}
}
}