谁能帮我编写单片机控制步进电机的程序

我的单片机是STC89C52,要求p10—p17接两个四相五线5v步进电机。步进电机1,p30高电平顺时针旋转p31高电平逆时针旋转,两个信号同时高或同时低就不转。步进电... 我的单片机是STC89C52,要求p10—p17接两个四相五线5v步进电机。步进电机1,p30高电平顺时针旋转p31高电平逆时针旋转,两个信号同时高或同时低就不转。步进电机2,p32高电平顺时针旋转,p33高电平逆时针旋转,两个信号同时高或同时低就不转。
驱动芯片ULN2003
展开
 我来答
广州一丁
2012-01-16 · 超过43用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:99万
展开全部
你得告知驱动器的控制信号。如果你不用驱动器,可能没人愿意帮你写,因为太麻烦!
追问
谢谢你的提醒,驱动芯片ULN2003
追答
给你一个程序(调试过的),注意你的高低电平一定要跟你说的一样,否则不能输出。另外这个程序只能用于学习过程的实验,实际运用要复杂很多。
/*****************************************/
/*广州一丁自动化设备有限公司020-28969088 */
/*****************************************/
#include
unsigned char code CW_1[]={0x01,0x02,0x04,0x08};//1#顺
unsigned char code CCW_1[]={0x08,0x04,0x02,0x01};//1#逆
unsigned char code CW_2[]={0x10,0x20,0x40,0x80};//2#顺
unsigned char code CCW_2[]={0x80,0x40,0x20,0x10};//2#逆
unsigned char code CW_1_CW_2[]={0x11,0x22,0x44,0x88};//1#、2#顺
unsigned char code CCW_1_CCW_2[]={0x88,0x44,0x22,0x11};//1#、2#逆
unsigned char code CW_1_CCW_2[]={0x18,0x24,0x42,0x81};//1#逆2#顺
unsigned char code CCW_1_CW_2[]={0x81,0x42,0x24,0x18};//1#正2#逆
void delay_01(unsigned int j0 )
{
unsigned int j1;
for(j1=0;j1<j0;j1++)
;
}
void main (void)
{
unsigned int i;
delay_01(2000);
while(1)
{
switch((P3&0X0f))
{
case 1:
{
for(i=0;i<4;i++)
{
P1=CW_1[i];
delay_01(200);
}
P1=0;
break;
}
case 2:
{
for(i=0;i<4;i++)
{
P1=CCW_1[i];
delay_01(200);
}
P1=0;
break;
}
case 4:
{
for(i=0;i<4;i++)
{
P1=CW_2[i];
delay_01(200);
}
P1=0;
break;
}
case 5:
{
for(i=0;i<4;i++)
{P1=CW_1_CW_2[i];
delay_01(200);
}
P1=0;
break;
}
case 6:
{
for(i=0;i<4;i++)
{
P1=CCW_1_CW_2[i];
delay_01(200);
}
P1=0;
break;
}
case 8:
{
for(i=0;i<4;i++)
{
P1=CCW_2[i];
delay_01(200);
}
P1=0;
break;
}
case 9:
{
for(i=0;i<4;i++)
{
P1=CW_1_CCW_2[i];
delay_01(200);
}
P1=0;
break;
}
case 10:
{
for(i=0;i<4;i++)
{
P1=CCW_1_CCW_2[i];
delay_01(200);
}
P1=0;
break;
}
default:
break;
}
}
}
//加了书写格式就超过1000字了,所以没有按书写格式写。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dpjzy
2012-01-16
知道答主
回答量:19
采纳率:0%
帮助的人:14.7万
展开全部
如果是刚接触单片机及不仅电机的话,建议购买配套的步进电机驱动器。倒是后你只要用单片机输出简单的脉冲信号就行了。转速通过脉宽控制。祝你早日将电机转起来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式