//


#define X_DIR     5       //X轴 步进电机方向控制
#define X_STP     2       //x轴 步进控制

/*

//函数:step    功能:控制步进电机方向,步数。

//参数:dir 方向控制, dirPin对应步进电机的DIR引脚,stepperPin 对应步进电机的step引脚, steps 步进的步数

//无返回值

*/

void step(boolean dir, byte dirPin, byte stepperPin, int steps)

{

  digitalWrite(dirPin, dir);

  delay(50);

  for (int i = 0; i < steps; i++) {

    digitalWrite(stepperPin, HIGH);

    delayMicroseconds(800);  //函数以微秒为单位

    digitalWrite(stepperPin, LOW);

    delayMicroseconds(800);  

  }

}

void setup(){//将步进电机用到的IO管脚设置成输出

  pinMode(X_DIR, OUTPUT);
  pinMode(X_STP, OUTPUT);


}

void loop(){

  step(false, X_DIR, X_STP, 1798); //X轴电机 反转1圈,200步为一圈

  delay(1000);

  step(true, X_DIR, X_STP, 1800); //X轴电机 正转1圈,200步为一圈

  delay(1000);

}
A4988
74HC595