大家好,小弟用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;這樣修改,這次步進電機就不運動了。我若想通過程序實現步進電機能夠反向運動,程序應該怎么修改?謝謝大家