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

2020-01-16 18:35发布

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

我用52单片机的P1.0-P1.3口驱动ULN2003,然后驱动电机,电机可以正常转动;
但是换到P1.4-P1.7口,电机始终不转,请问有明白是什么原因的吗?电路完全一样,只是换了I/O口
10条回答
jyrpxj
2020-01-17 06:45
本帖最后由 jyrpxj 于 2016-9-22 09:49 编辑

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

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

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

这些代码是楼主自己写的, 感觉楼主不太适合搞这行..

一周热门 更多>