
#include <reg52.h>
unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10}//正转表格
unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02}//反转表格
void Delay(unsigned int i)//延时
{
while(--i)
}
main()
{
unsigned char i
while(1)
{
for(i=0i<4i++) //4相
{
P1=B_Rotation[i] //输出对应的相 可以自行换成反转表格
Delay(500) //改变这个参数可以调整电机转速
}
}
}
这是单个步进电机的程序,控制四个,分别改一下其中的“P1”就可以了!
主程序都跑飞了。后面应该跟一个死循环。void
main(void){
UINT8 N=64 //因为步进电机是减速步进电机,减速比的1/64 ,
//所以N=64时,步进电机主轴转一圈
Timer0_Init()
for(N=0N<64N++)
StepMotor_CW() //电机正转
while(1){
}
}
我这个就只转了一圈。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)