本帖最后由 蓋傅夜 于 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);
}
}
|