大家好,小弟用51单片机想控制步进电机正转和反转,但是现在只能够实现正转,反转无法实现。下面是正转程序(只能够是向一个方向运动):
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit zmc=P1^0;
sbit fmc=P1^1;
sbit zfx=P1^2;
sbit ffx=P1^3;
void delayws(uchar);
void main()
{
uchar i,a;
for(a=1000;a>0;a--)
{
for(i=1000;i>0;i--)
{
zfx=1;
ffx=0;
zmc=1;
fmc=0;
zmc=0;
}
}
while(1)
{
zfx=0;
ffx=0;
zmc=0;
fmc=0;
}
}
接线图如下,采用的是差分接线办法。
我尝试过单独修改zfx=0;ffx=1,但是依旧不会改变方向,还是会向下运动;
尝试过单独修改fmc=1;zmc=0;fmc=0;这样修改,这次步进电机就不运动了。我若想通过程序实现步进电机能够反向运动,程序应该怎么修改?谢谢大家