单片机驱动步进电机的问题

2020-01-16 18:35发布

本帖最后由 liude2006 于 2016-9-21 23:25 编辑

我用52单片机的P1.0-P1.3口驱动ULN2003,然后驱动电机,电机可以正常转动;
但是换到P1.4-P1.7口,电机始终不转,请问有明白是什么原因的吗?电路完全一样,只是换了I/O口
10条回答
liude2006
2020-01-17 04:51
lcw_swust 发表于 2016-9-22 09:01
程序有问题
或者单片机坏了

sbit zheyang_EN = P2^4;          //低电平有效

uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//四相八拍正转编码

//********************************************************
//步进电机正转/
//******************************************************
void motor_ffw()
{
        uchar i;
        uint j;
        for(j=0;j<8;j++)
        {
                if(++i > 7) i=0;
                P1 = FFW;//取数据
                delay_1ms(8);//调节转速
        }
}
void main()
{
        uint r,N=896;//N步进电机运转圈数
        P1 = 0;                //用P1.4-P1.7口
        zheyang_EN = 1;
        while(1)
        {
                if(zheyang_EN == 0)
                        for(r=0;r<=N;r++)
                                motor_ffw();//电机正转
        }
}

一周热门 更多>