试着玩的,你参考一下吧:
/**********四相步进电机驱动实验*****************/
#include
unsigned char ABCD=0; //工做相标志
unsigned char TIM=0;
sbit LD=P1^5;
sbit LC=P1^4;
sbit LB=P1^3;
sbit LA=P1^2;
void main(void)
{
LA=1;
LB=0;
LC=0;
LD=0;
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0xB0;
EA = 1;
ET0 = 1;
TR0 = 1;
while(1)
{
; ;
}
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x3C;
TL0 = 0xB0;
TIM++;
if(TIM==2)
{
TIM=0;
switch(ABCD)
{
case 0: LA=0; LB=1; LC=1; ABCD=1; break;
case 1: LB=0; LC=1; LD=1; ABCD=2; break;
case 2: LC=0; LD=1; LA=1; ABCD=3; break;
case 3: LD=0; LA=1; LB=1; ABCD=0; break;
}
}
}
我试过实际用51OUT脉冲控制步进电机转动,通过调整输出脉冲数可改变电机角度,
PWM、步进电机,这两者不配套。
怎么试验也不会成功的。
你确定这是三相步进电机???