#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit d1=P1^0; //定义步进电机连接端口 sbit d2=P1^1; sbit d3=P1^2; sbit d4=P1^3; //分四步转动步进电机 #define A {d1=1,d2=0,d3=0,d4=0;}//A相通电,其他相断电 #define B {d1=0,d2=1,d3=0,d4=0;}//B相通电,其他相断电 #define C {d1=0,d2=0,d3=1,d4=0;}//C相通电,其他相断电 #define D {d1=0,d2=0,d3=0,d4=1;}//D相通电,其他相断电 #define OF {d1=0,d2=0,d3=0,d4=0;}//全部断电 void delay(uchar t); void delayMS(uchar t); uchar speed; void main() { speed=5;//定义延时长度,speed越大,时间越长,速度越慢。 while(1) { A delayMS(speed); B delayMS(speed); C delayMS(speed); D delayMS(speed); } } void delay(uchar t) { while(--t); } void delayMS(uchar t) { while(t--) { delay(245); delay(245); } }