51单片机中如何用c语言控制直流电机正反转

只要代码!!想参考一下智能小车直走的程序,后退,转弯我自己理解了动手就行l,提供了更好,呵呵 谢谢了

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit IN1=P1^0;
sbit ENA=P1^1; //左轮 1
sbit IN2=P1^2;//左轮2
sbit IN3=P1^3;//右轮 1
sbit ENB=P1^4;
sbit IN4=P1^5;//右轮 2
sbit left=P0^0;
sbit right=P0^1;
//sbit middle=P0^2;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);

}
void init()
{
ENA=0; // 1
ENB=0; //
IN1=0; // 0
IN2=0; // 2
IN3=0;
IN4=0;

}
void pwm()
{
ENA=1;
ENB=1;
}
void dianji()
{

if(left==0&&right==0) //前进
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
pwm();
}
else if(left==0&&right==1) //右转
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
pwm();
} else if(left=1&&right==0)// 左转
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
pwm();
}

}
void main()
{
init();
while(1)
{
dianji();
}

}
温馨提示:答案为网友推荐,仅供参考
相似回答