程序就是简单的前进程序,小车是两个直流电机,后面的电机控制前进后退,前面的电机控制拐弯。目前不知什么原因电机不转,程序如下
#include<reg52.h>
sbit IN1 = P2^0; //马达端口 前后
sbit IN2 = P2^1;
sbit IN3 = P2^2; //左右
sbit IN4 = P2^3;
sbit EN1 = P3^0; //马达使能端 EN_A高电平 IN_1 IN_2有效控制前后
sbit EN2 = P3^1;
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=1;
IN2=0;
IN3=0;
IN4=0;
EN1=1;
EN2=1;
}
void main()
{
delay(100);
run();
while(1)
{
}
}
希望了解的高手能够指点一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
这样怎么转得起来呢?
步进电机不是这么控制的。
要不断变换4个相位的值,才能让步进电机持续不断的运转。
一周热门 更多>