步进电机硬件图;
单片机管脚图:
用的5线四相八拍
main.c
#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
#define BJ P1
u8 BJBP[]={0X0E,0X0C,0X0D,0X09,0X0B,0X03,0X07,0X06};
sbit BJ_D=P1^0;
sbit BJ_C=P1^1;
sbit BJ_B=P1^2;
sbit BJ_A=P1^3;
void delay_10us(u16 n)
{
while(n--);
}
void delay_ms(u16 ms)
{
u16 i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
BJ=0X0f;
while(1)
{
int m;
for(m=0;m<8;m++)
{
BJ=BJBP[m];
delay_ms(1);
}
}
}
实验结果:
51开发板:步进电机实验1