我是用stc89c52rc的单片机接DM542驱动器来控制57步进电机。采用共阴极接法,即ENA不接,PUL-与DIR-串接GND,PUL+给脉冲,DIR给高电平正转,给低电平反转。程序如下,但是DIR+与p3^2用杜邦线连接时方向没有变化,一直是反转,检测发现只有0.6v,拔掉杜邦线后检测P3^2是5V,以为杜邦线有问题,但是将该杜邦线插入单片机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);
}
}
|