#include
sbit A1=P1^0; //定义步进电机连接端口
sbit B1=P1^1;
sbit C1=P1^2;
sbit D1=P1^3;
#define Out_A1 {A1=1;B1=0;C1=0;D1=0;} //A相通电,其他相断电
#define Out_B1 {A1=0;B1=1;C1=0;D1=0;} //B相通电,其他相断电
#define Out_C1 {A1=0;B1=0;C1=1;D1=0;} //C相通电,其他相断电
#define Out_D1 {A1=0;B1=0;C1=0;D1=1;} //D相通电,其他相断电
#define Out_OFF {A1=0;B1=0;C1=0;D1=0;} //全部断电
unsigned char Speed;
void DelayMs(unsigned char t)
{ unsigned int i=500;
while(t--)
{
while(i--);
}
}
main()
{
Speed=5; //调整速度
while(1)
{
Out_A1 //遇到Coil_A1 用{A1=1;B1=0;C1=0;D1=0;}代替
DelayMs(Speed); //改变这个参数可以调整电机转速 ,
//数字越小,转速越大,力矩越小
Out_B1
DelayMs(Speed);
Out_C1
DelayMs(Speed);
Out_D1
DelayMs(Speed);
}
}
本程序用于测试4相步进电机常规驱动 使用1相励磁,
仅供参考,谢谢!
不是不给你写,写程序要看硬件的,你说的有点模糊,我没能力给你解答,建议你先查查你使用的步进电机的资料(这资料上会有例程的),然后连接好硬件,这个时候估计你已经会自己写了。