L293D或L298N电机驱动芯片
STC15F2K60S2单片机
2相4线步进电机
#include
//延时函数void DelayMS(unsigned int a){ unsigned int i; while( a-- != 0){ for(i = 0; i < 600; i++); }}
/*****函数名:步进电机控制调用:stepper(bit direction,unsigned char speed,unsigned long steps)参数:direction(控制方向0为顺时针,1为逆时针),speed(控制速度最快是1,速度快容易失步),steps(走多少步)返回值:无*****/void stepper(bit direction,unsigned char speed,unsigned long steps){ unsigned long j; unsigned long k=0; //stepsX4=steps/4; if(direction==0){ //顺时针 for(j=0;j
//主函数void main(void){ EN1=1; EN2=1; while(1){ stepper(0,5,200); DelayMS(1000); stepper(1,1,200); DelayMS(1000); } }
速度设置不能太快,如果设为1会容易失步。
驱动芯片的选择需要根据步进电机的电流决定。