您好,欢迎来到尔游网。
搜索
您的当前位置:首页步进电机正反转

步进电机正反转

来源:尔游网


//********************************************************************************

//* 描述: 步进电机正反转控制 *

//* *

电机使用端口:P1.0、P1.1、P1.2、P1.3

//* *

单双八拍工作方式:A-AB-B-BC-C-CD-D-DA

//********************************************************************************

#include

#include

//**********************正向旋转相序表,逆时针*****************************

unsigned char code FFW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};

//**********************反向旋转相序表,顺时针*****************************

unsigned char code REV[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};

//***********************延时子程序********************************

/*void delay(unsigned int t)

{

unsigned int k;

while(t--)

{

for(k=0; k<125; k++)

{}

}

} */ //参考延时函数

void delay(unsigned int s)

{

int t,k;

for(t=0;tfor(k=0;k<100;k++); //电机调速,脉冲时间设定

}

//**********************步进电机正转******************************

void motor_ffw(unsigned int n)

{

unsigned char i;

unsigned int j;

for (j=0; j<8**n; j++)

{

for (i=0; i<8; i++)

{

P1 = FFW[i];

delay(1); //电机调速,脉冲时间设定

}

}

}

//*********************步进电机反转********************************

void motor_rev(unsigned int n)

{

unsigned char i;

unsigned int j;

for (j=0; j<8**n; j++)

{

for (i=0; i<8; i++)

{

P1 = REV[i];

delay(1);

}

}

}

//*************************主程序*********************************

main()

{

while(1)

{

motor_ffw(1); //电机正转1圈

delay(100); //转换间隔时间

motor_rev(2); //电机反转2圈

delay(100); //转换间隔时间

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务