关于四轮智能小车的驱动

2020-01-22 12:15发布

#include <stc12c5a60s2.h>
#define uint unsigned int
sbit L_IN1=P0^0;
sbit L_IN2=P0^1;
sbit L_IN3=P0^2;
sbit L_IN4=P0^3;
sbit R_IN1=P0^4;
sbit R_IN2=P0^5;
sbit R_IN3=P0^6;
sbit R_IN4=P0^7;
uint i,j;
void delay(void)
{
for(i=20000;i>0;i--)
  for(j=110;j>0;j--);
}
void CAR_STOP(void)
{
P0=0x00;
}
void CAR_Go_Forward(void)
{
P0=0X99;
}
void CAR_Left(void)
{
P0=0x90;
}
void CAR_Right(void)  
{
P0=0x09;
}
void Right_back(void)     //右轮后退
{
P0=0x60;
}
void Left_back(void)      //左轮后退
{
P0=0x06;
}
void main(void)
{
while(1)
{
  CAR_Go_Forward();
  delay();
  CAR_Left();
  delay();
  CAR_Right();
  delay();
  Right_back();
  delay();
  Left_back();
  delay();
  CAR_STOP();
  delay();
}
}
只是写的测试程序,可是发现的问题是在左转(右转)的时候左轮(右轮)有明显的拖动的现在,求解,可以加pwm控制左右两边的速度不等实现左转和右转么?新手求解。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。