基于51单片机的步进电机控制系统
#硬件原理图
proteus原理图
##附上源代码
通过STC89C52芯片的四个外部引脚就可以实现驱动步进电机。
#include <reg51.h>
#include <absacc.h>
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
#define UP 20
#define DOWN 30
#define STOP 40
void delay()//ÑÓʱ³ÌÐò
{
unsigned i,j,k;
for(i=0;i<0x02;i++)
for(j=0;j<0x02;j++)
for(k=0;k<0xff;k++);
}
main()
{
unsigned char temp;
while(1)
{
if(p10==0)
{
temp=UP;//
P2=0X00;
delay();
}
if(p11==0)
{
temp=DOWN;//
P2=0X00;
delay();
}
if(p12==0)
{
temp=STOP;//
}
switch(temp)
{
case DOWN : P2=0X01;//0011
delay();
delay();
P2=0X02;//0110
delay();
delay();
P2=0X04;//1100
delay();
delay();
P2=0X08;//1001
delay();
delay();
break;
case UP : P2=0X08;
delay();
delay();
P2=0X04;
delay();
delay();
P2=0X02;
delay();
delay();
P2=0X01;
delay();
delay();
break;
case STOP :
P2=0X00;
delay();
delay();
break;
}
}
}
需要元器件
项目 |
---|
stc89c52芯片 |
ULN2003A步进电机驱动模块 |
小型步进电机一个 |
ps::
以上全部来自一个刚刚接触单片机的小白之手,其实我见到过另外一种控制方案,就是通过查表的方式来进行,但是好像不怎么用到现在。作为本人的第2篇博客,以往以后再接再励!!