【51单片机】 ULN2003模块 驱动步进电机(5线)正反转 代码以及接线图

发布者:TranquilOasis最新更新时间:2022-06-30 来源: csdn关键字:51单片机  驱动步进电机 手机看文章 扫描二维码
随时随地手机看文章

步进电机有四相(A-B-C-D)

正向转动思路为A→B→C→D

反向转动思路为D→C→B→A

通过给每一相轮流供电,实现电机轴的360度转动

、、以下代码可直接复制使用:


#include   

 

#define uchar unsigned char  //宏定义 把unsigned char简写为uchar

#define uint unsigned int    //       把unsigned int 简写为uint

uint  i,j; //定义全局变量,执行电机for循环转动时间需要用到


sbit A1 = P1^0;       //定义给步进电机四相连接的IO口

sbit B1 = P1^1;

sbit C1 = P1^2;

sbit D1 = P1^3;


#define Coil_A {A1=1;B1=0;C1=0;D1=0;}     //A相通电,其它相断电

#define Coil_B {A1=0;B1=1;C1=0;D1=0;}     //B相通电,其它相断电

#define Coil_C {A1=0;B1=0;C1=1;D1=0;}     //C相通电,其它相断电

#define Coil_D {A1=0;B1=0;C1=0;D1=1;}     //D相通电,其它相断电

#define  Stop  {A1=0;B1=0;C1=0;D1=0;}     //全部断电,停止


uchar Speed=5;  //整体调速,数字越小速度越快,而力矩也越小 


void Delay(uint xms) //延时函数 12.000MHz Delay(1)=1ms

{                      //延时程序 用烧录软件计算出来的 在另外一章有写

   uchar i, j;

   while(xms--) 

  {

i = 2;

j = 239;

do { while (--j); }

while (--i);

  }

}


   void corotation(void)  //正转 子程序 A——D

  {         

     Coil_A                

     Delay(Speed);  

     Coil_B

     Delay(Speed);

     Coil_C

     Delay(Speed);

     Coil_D

     Delay(Speed);

  }

  

   void reversal(void)    //反转 子程序 D——A

  {

Coil_D                 

     Delay(Speed);  

     Coil_C

     Delay(Speed);

     Coil_B

     Delay(Speed);

     Coil_A

     Delay(Speed);

  }

  

  

   void main()        //主程序

  {

   Delay(30);    //启动前先缓冲一个30ms

  

    while(1)     //不断循环

  { 

         for(i=0;i<500;i++)    //正转1圈(大概位置,步进电机需要编码盘才能测得比较准一点)

     corotation();         //调用正转子函数

  

      Stop                 //停止

  Delay(1000);         //延时1s

    

     for(j=0;j<500;j++)    //反转1圈(大概位置)

         reversal();           //调用反转子函数

    

  Stop                 //停止

  Delay(1000);         //延时1s

  }

  

  }


接线图↓:

在这里插入图片描述


关键字:51单片机  驱动步进电机 引用地址:【51单片机】 ULN2003模块 驱动步进电机(5线)正反转 代码以及接线图

上一篇:单片机 IO引脚直接驱动直流电机
下一篇:【51单片机】 蜂鸣器发声程序

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved