基于51单片机的步进电机控制系统

基于51单片机的步进电机控制系统


#硬件原理图

上述原理图为GL7-pic16f877a内部自带步进电机的驱动模块

proteus原理图

本图片就是基于51单片机控制步进电机的原理图

##附上源代码

通过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篇博客,以往以后再接再励!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木嘉树

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值