51单片机ULN2003控制步进电机,正转10秒停止3秒反转5秒停止3秒,循环。就是往返。50---100分 谢谢。

4相6线步进电机的

第1个回答  2011-07-13
#include <reg51.h>
sbit up1=P2^0;
sbit down1=P2^1;
sbit up2=P2^2;
sbit down2=P2^3;
sbit s1=P1^0;

int h;

void delay(int t) //误差 0us
{
unsigned char a,b,c;
for (c=0;c<t;c++)
{
for(b=173;b>0;b--)
for(a=143;a>0;a--);
}
}

void motor(int i)
{ if(i==0)
{up1=0;down1=0;up2=0;down2=0;}//停止
if (i==1)
{up1=1;down1=0;up2=1;down2=0;} //正转
if(i==2)
{up1=0;down1=1;up2=0;down2=1;} //反转
}

void R()
{motor(1);
delay(20);
motor(0);
delay(4);
motor(2);
delay(10);
motor(0);
delay(4);
}

void main()
{
R();
h=s1;
if(h==1)
{R();}
else if(h==0)
{motor(0);}
}
额···我是新手,你看看这个烧到单片机里小车行驶是否有正确。还有控制小车停转的时间t,也就是delay的时间我随便设的,到时候你要转10秒还5秒的自己调整下t的值就好了。追问

不行 就是动一下就停

第2个回答  2011-07-13
用系统的定时器也可以做,或者软件编程延时,很 简单啊,你只要找准了两根正反转的线
第3个回答  2011-07-13
ULN2003是个驱动电路,你只在在单怎机里编程就好了啊,追问

编不好 帮忙一下

第4个回答  2011-07-19
程序已经在你别的问题中给你了,呵呵本回答被提问者采纳

这是51单片机驱动ULN2003控制步进电机正反转的程序,我想学习下'我想问...
程序是P0,附图是P1肯定不能实现

求基于51单片机的4相步进电机细分驱动硬件电路图,有软件编程更好_百度...
单片机最小系统图就不用细说了吧。。。步进电机模块,驱动小的步进电机就用ULN2003芯片。连线图给出了。软件编程嘛,你这没有细说功能要求,我就给你发个典型应用案例,自己看懂了修改下应该能用。基本功能就是正转反转,加速减速,启动停止动作。ZHENG EQU 30H FAN EQU 31H NO EQU 32H AS EQU 33...

...步进电机,工作时总是发热厉害,51单片机加uln2003驱动的,单片机工作...
1、将驱动电压升至18-24V,同时减小单片机输出的脉冲宽度,建议从%5开始,逐步加大宽度来调试。观察电机振动、响声、出力、是否有失步、堵转及发热情况,选一个满意值。但最好不要超过%50。(注意:单片机输出脉冲中间如有隔离倒相,那脉宽是相反的)2、将电机的刹车(抱轴)电流也采用脉冲电流,刹车电流...

...应用51单片机实现单步运转,求C程序(用ULN2003控制电机)
unsigned char code BACK[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};void BACK_motor()\/\/反转子程序 { uchar j;for(j=0;j<8;j++){ P0=BACK[j];delay(2);} } void RUN_motor()\/\/正转子程序 { uchar i;for(i=0;i<8;i++)\/\/旋转一周内部旋转一周 { P0=RUN[i];...

讨个步进电机的程序
图3 单片机控制35BY48S03型步进电机的电路原理图 三、步进电机的驱动实例 要求:控制电路如图3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转\/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转\/分,最低转带为25转\/分,按下停止键,电机停转。速度值要求在数码管上显示出来。 1.要求分析...

步进电机高手请进!!
图3 单片机控制35BY48S03型步进电机的电路原理图三、步进电机的驱动实例 要求:控制电路如图3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转\/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转\/分,最低转带为25转\/分,按下停止键,电机停转。速度值要求在数码管上显示出来。1.要求分析 按...

相似回答