求单片机90C516,以ULN2003D做驱动驱动步进电机的C语言程序!

 我来答
a451993547
2013-09-02 · TA获得超过1593个赞
知道小有建树答主
回答量:595
采纳率:100%
帮助的人:705万
展开全部
5线步进电机一般分为4拍跟8拍模式驱动

//四拍方式,顺序为A B C D
//八拍方式,顺序为A AB B BC C CD D DA

依次改变绕组的磁场,就可以使步进电机正转或反转(比如通电次序为
A->B->C->D正转,反之则反转)。而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。

下面是步进电机接P0口的演示

#include<at89x52.h>

unsigned char tab[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d};//8拍模式数组

void delayms(unsigned char time)//延时
{
unsigned char a,b;
while(time--)
for(b=199;b>0;b--)
for(a=1;a>0;a--);
}
void main()
{
unsigned char i=0;
while(1)
{
if(!P1_0)//当按下P1.0时往相反的方向转
{
P0=tab[i];
i++;
i%=8;
delayms(1);
}
else
{
P0=tab[i];
if(i==0)i=8;
i--;
delayms(1);
}
}
}
a695945819
2013-09-07 · 超过10用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:18.7万
展开全部

给你仿真和程序

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式