步进电机-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

步进电机

简介:
/*-----------------------------------------------
  名称:步进电机
  日期:2009.5
  修改:无
  内容:1、本程序用于测试4相步进电机常规驱动 
        2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
        3、速度不可以调节的过快,不然就没有力矩转动了
        4、电机在反转
 ------------------------------------------------*/


#include <reg52.h>




unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10}; //正转表格,换算成二进制 0000 0010,0000 0100,0000 1000,0001 0000
unsigned char code B_Rotation[4]={0x10,0x08,0x04,0x02}; //反转表格,换算成二进制 0001 0000,0000 1000,0000 0100,0000 0010
/******************************************************************/
/*                    延时函数                                    */
/******************************************************************/
void Delay(unsigned int i)//延时
{
 while(--i);
}
/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
main()
{
 
 unsigned char i;
 unsigned int j=512;
 while(j--)
 {
  for(i=0;i<4;i++)      //4相
     {
     P1=F_Rotation[i];  //输出对应的相 可以自行换成反转表格
     Delay(1000);        //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
  }


  Delay(100000);


  j=512;
 while(j--)
 {
  for(i=0;i<4;i++)      //4相
     {
     P1=B_Rotation[i];  //输出对应的相 可以自行换成反转表格
     Delay(1000);        //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
  }


}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: