我想用一个单片机开发板控制4个 28BYJ-48 5V 五线四相步进电机,求范例程序(C语言) 100
1个回答
展开全部
控制四个步进电机就要四个ULN2003A,
#include <reg52.h>
unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格
unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格
void Delay(unsigned int i)//延时
{
while(--i);
}
main()
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++) //4相
{
P1=B_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速
}
}
}
这是单个步进电机的程序,控制四个,分别改一下其中的“P1”就可以了!
#include <reg52.h>
unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格
unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格
void Delay(unsigned int i)//延时
{
while(--i);
}
main()
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++) //4相
{
P1=B_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速
}
}
}
这是单个步进电机的程序,控制四个,分别改一下其中的“P1”就可以了!
追问
试了一下,正转表格和反转表格不太对,自己改好了,这只是让电机旋转的程序。。。不过已经帮助很大,我还想知道有没有什么更好的控制延时旋转啊,停止啊什么的算法,我看到有的在后面写while(1);用来停止旋转的,有点浪费资源,我要控制4个,让它们分别转、停,大神你那儿有没有更好的算法,比如用中断啊什么的?望赐教。。。
艾普斯
2024-07-18 广告
2024-07-18 广告
稳频稳压电源哪家好?艾普斯电源(苏州)有限公司开始专业研发、制造及营销交流稳压电源,满足全球电子及信息业对电源设备日益蓬勃的市场需求。迄今为止,业已发展成为交流不间断电源、稳压电源、变频电源、中频航空- 军事专用电源、直流电源、逆变电源等产...
点击进入详情页
本回答由艾普斯提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询