找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9137|回复: 16
收起左侧

51单片机控制步进电机正转反转

  [复制链接]
ID:480682 发表于 2019-3-9 11:00 | 显示全部楼层 |阅读模式
/*******************************************************
接线方式:
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);  
}
}
还有单独控制正转反转设定时间自动停噢!!


图1

图1

步进电机.zip

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

回复

使用道具 举报

ID:697186 发表于 2020-2-24 00:36 | 显示全部楼层
这正是我想找的
回复

使用道具 举报

ID:53978 发表于 2020-3-1 12:10 | 显示全部楼层
我也要学习学习,感谢分享。
回复

使用道具 举报

ID:707309 发表于 2020-3-12 20:59 | 显示全部楼层
下来学习,谢谢楼主分享
回复

使用道具 举报

ID:163501 发表于 2020-3-16 22:12 | 显示全部楼层

下载了,谢谢楼主分享
回复

使用道具 举报

ID:710914 发表于 2020-3-18 15:46 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

ID:34063 发表于 2020-3-21 20:35 | 显示全部楼层
好经验,好分享,谢谢
回复

使用道具 举报

ID:736624 发表于 2020-4-23 23:50 | 显示全部楼层
正是我想要的
回复

使用道具 举报

ID:739822 发表于 2020-4-28 14:17 来自手机 | 显示全部楼层
好经验,好分享,谢谢
回复

使用道具 举报

ID:736624 发表于 2020-5-15 12:56 | 显示全部楼层
终于找的了,哈哈哈
回复

使用道具 举报

ID:736624 发表于 2020-5-15 13:04 | 显示全部楼层
我的程序和你这个一样,我想要设定时间自动停止的,不知道下载的压缩包里有没有
回复

使用道具 举报

ID:904303 发表于 2021-4-13 16:45 | 显示全部楼层
不知道里面有没有原理图啊,初学不太会
回复

使用道具 举报

ID:884711 发表于 2024-5-13 15:16 | 显示全部楼层
路过学习,谢谢分享!
回复

使用道具 举报

ID:876947 发表于 2024-5-20 09:58 | 显示全部楼层
路过学习一下,以前有个程序反转,这个我试试。谢谢哈!
回复

使用道具 举报

ID:97678 发表于 2024-5-20 11:37 | 显示全部楼层
如何控制转动步数?
我需要 正转100步,或者 反转 200步,怎么写程序?
回复

使用道具 举报

ID:870445 发表于 2024-5-29 10:01 | 显示全部楼层
谢谢楼主的辛勤劳动
回复

使用道具 举报

ID:344848 发表于 2024-6-2 17:49 | 显示全部楼层
缺少PID控制程序,不能实现实时调速功能。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表