小车电机前后左右综合实验
#include<AT89X52.H>
sbit IN1 = P1^2;
sbit IN2 = P1^3;
sbit IN3 = P1^6;
sbit IN4 = P1^7;
sbit EN1 = P1^4;
sbit EN2 = P1^5;
void delay(unsigned int k)
{
unsigned int x,y;
for(x=0;x<k;x++)
for(y=0;y<2000;y++);
}
void run(void)
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
EN1=1;
EN2=1;
}
void backrun(void)
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
EN1=1;
EN2=1;
}
void leftrun(void)
{
IN1=0;
IN2=0;
IN3=1;
IN4=0;
EN1=1;
EN2=1;
}
void rightrun(void)
{
IN1=0;
IN2=1;
IN3=0;
IN4=0;
EN1=1;
EN2=1;
}
void stopruo(void)
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
EN1=1;
EN2=1;
}
void main(void)
{
run();
delay(100);
while(1)
{
backrun();
delay(200);
leftrun();
delay(200);
rightrun();
delay(200);
stopruo();
delay(400);
delay(400);
}
}