本帖最后由 盖傅夜 于 2019-3-25 14:06 编辑
我是用stc89c52rc的单片机接DM542驱动器来控制57步进电机。采用共阴极接法,即ENA不接,PUL-与DIR-串接单片机GND,PUL+接单片机p3^1口给脉冲,DIR+接P3^2口给高低电平(本来应该高电平正转,低电平反转)程序如下,驱动器输出端A+接红,A-接绿,B+接黄,B-接蓝,供电直流24v、2A。但是不管程序给DIR+高还是低都是反转,我测了一下,IO口空载正常,但是用杜邦线接DIR电压就被拉低了,只有0.6V,所以一直默认给低电平。原以为杜邦线有问题,但是将该杜邦线插入单片机5V的电源端后电机能够正转,检测电压5V。这是什么原因?求教大神?
单片机源程序:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit PUL=P3^1; //位定义DIR
sbit DIR=P3^2; //位定义ENA
void delay (uint z)//延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=14;y>0;y--);
}
void main()
{
DIR = 0;
// delay(1000);
while(1)
{
delay(10);
PUL = 0;
delay(10);
PUL = 1;
delay(10);
}
}
|