天天看点

步进电机

/*-----------------------------------------------

  名称:步进电机

  日期: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;

     p1=b_rotation[i];  //输出对应的相 可以自行换成反转表格