标题: 51单片机控制步进电机正转反转 [打印本页]

作者: 21753很难    时间: 2019-3-9 11:00
标题: 51单片机控制步进电机正转反转
/*******************************************************
接线方式:
IN1 ---- P00
IN2 ---- P01
IN3 ---- P02
IN4 ---- P03
+   ---- +5V
-   ---- GND
*********************/
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
#define MotorData P0                    //步进电机控制接口定义
uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正转 电机导通相序 D-C-B-A
uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反转 电机导通相序 A-B-C-D
//ms延时函数
void Delay_xms(uint x)
{
uint i,j;
for(i=0;i<x;i++)
  for(j=0;j<112;j++);
}
//顺时针转动
void MotorCW(void)
{
uchar i;
for(i=0;i<4;i++)
  {
   MotorData=phasecw[i];
   Delay_xms(4);//转速调节
  }
}
//逆时针转动
void MotorCCW(void)
{
uchar i;
for(i=0;i<4;i++)
  {
   MotorData=phaseccw[i];
   Delay_xms(4);//转速调节
  }
}
//停止转动
void MotorStop(void)
{
MotorData=0x00;
}
//主函数
void main(void)
{
uint i;
Delay_xms(50);//等待系统稳定
while(1)
{
  for(i=0;i<500;i++)
  {
   MotorCW();   //顺时针转动
  }
  MotorStop();  //停止转动
  Delay_xms(500);
  for(i=0;i<500;i++)
  {
   MotorCCW();  //逆时针转动
  }
  MotorStop();  //停止转动
  Delay_xms(500);  
}
}
还有单独控制正转反转设定时间自动停噢!!


VD`U026Q5II}4$0O1IJCR9P.png (5.01 KB, 下载次数: 180)

图1

图1

步进电机.zip

415.69 KB, 下载次数: 408, 下载积分: 黑币 -5


作者: bwx227    时间: 2020-2-24 00:36
这正是我想找的
作者: smartphone    时间: 2020-3-1 12:10
我也要学习学习,感谢分享。
作者: cyf7175    时间: 2020-3-12 20:59
下来学习,谢谢楼主分享
作者: Liangkan    时间: 2020-3-16 22:12

下载了,谢谢楼主分享
作者: 随便起的名字    时间: 2020-3-18 15:46
谢谢楼主分享。
作者: mykent    时间: 2020-3-21 20:35
好经验,好分享,谢谢
作者: 18000653707    时间: 2020-4-23 23:50
正是我想要的
作者: 季月宝贝    时间: 2020-4-28 14:17
好经验,好分享,谢谢
作者: 18000653707    时间: 2020-5-15 12:56
终于找的了,哈哈哈
作者: 18000653707    时间: 2020-5-15 13:04
我的程序和你这个一样,我想要设定时间自动停止的,不知道下载的压缩包里有没有
作者: W—CR7    时间: 2021-4-13 16:45
不知道里面有没有原理图啊,初学不太会

作者: haide1998    时间: 2024-5-13 15:16
路过学习,谢谢分享!
作者: 白水大虾2016    时间: 2024-5-20 09:58
路过学习一下,以前有个程序反转,这个我试试。谢谢哈!
作者: jovew    时间: 2024-5-20 11:37
如何控制转动步数?
我需要 正转100步,或者 反转 200步,怎么写程序?
作者: xlhlydd    时间: 2024-5-29 10:01
谢谢楼主的辛勤劳动
作者: donglw    时间: 2024-6-2 17:49
缺少PID控制程序,不能实现实时调速功能。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1