大家好,小弟用51單片機想控制步進(jìn)電機正轉和反轉,但是現在只能夠實(shí)現正轉,反轉無(wú)法實(shí)現。下面是正轉程序(只能夠是向一個(gè)方向運動(dòng)):
#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;
}
}
接線(xiàn)圖如下,采用的是差分接線(xiàn)辦法。
我嘗試過(guò)單獨修改zfx=0;ffx=1,但是依舊不會(huì )改變方向,還是會(huì )向下運動(dòng);
嘗試過(guò)單獨修改fmc=1;zmc=0;fmc=0;這樣修改,這次步進(jìn)電機就不運動(dòng)了。我若想通過(guò)程序實(shí)現步進(jìn)電機能夠反向運動(dòng),程序應該怎么修改?謝謝大家