打印

步进电机转动问题

[复制链接]
1336|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2013-6-22 18:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
秋天落叶| | 2013-6-22 19:02 | 只看该作者
为什么不买个开发板,研究上面的例程?完全自己从零钻研太难了吧

使用特权

评论回复
板凳
hsbjb| | 2013-6-22 19:13 | 只看该作者
步进电机每个脉冲转一个步进角,脉冲的频率决定了它的转速

使用特权

评论回复
地板
火箭球迷| | 2013-6-22 19:23 | 只看该作者
试试这个代码:
#include <reg52.H>
//定义关键字方便使用
#define uchar unsigned char   
#define uint  unsigned int   
#define ulong unsigned long
sbit PORTC=P1^0;
sbit DDRC=P1^2;
/*
sbit p10=P1^0;//第一组电机
sbit p11=P1^1;
sbit p12=P1^2;//第一组使能
sbit p13=P1^3;//第二组电机
sbit p14=P1^4;
sbit p15=P1^5;//第二组使能
*/
uchar step[]={0xf1,0xf5,0xf4,0xf6,0xf2,0xfa,0xf8,0xf9};//时序参数表
/*              延时函数                                            
*******************************************************************
**函数原型: void delay(void)                                             
**函数功能:延时函数                                                     
**输入参数:无                                                   
**输出参数:无
**备注说明:                                                   
*******************************************************************/
void delay(void)   
{
    unsigned char a,b,c;
    for(c=18;c>0;c--)
        for(b=19;b>0;b--)
            for(a=23;a>0;a--);
}
/*                 主函数                                         
*******************************************************************
**函数原型:main()                                             
**函数功能:                                                      
**输入参数:无                                                   
**输出参数:无
**备注说明:完成程序的主要功能                                                   
*******************************************************************/
main()
{
unsigned char c;
DDRC=0;
while(1)   //主循环
  {
    for(c=0;c<8;c++)
    {      
    PORTC=step[c];  //电机驱动
    delay();  //延时
    }
   
  }
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝