【51单片机】 ULN2003模块 驱动步进电机(5线)正反转 代码以及接线图(简单教学,一看就会)
步进电机有四相(A-B-C-D)
正向转动思路为A→B→C→D
反向转动思路为D→C→B→A
通过给每一相轮流供电,实现电机轴的360度转动
、、以下代码可直接复制使用:
#include <reg52.h> #define uchar unsigned char //宏定义 把unsigned char简写为uchar
#define uint unsigned int // 把unsigned int 简写为uintuint 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_BDelay(Speed);Coil_CDelay(Speed);Coil_DDelay(Speed);}void reversal(void) //反转 子程序 D——A{Coil_D Delay(Speed); Coil_CDelay(Speed);Coil_BDelay(Speed);Coil_ADelay(Speed);}void main() //主程序{Delay(30); //启动前先缓冲一个30mswhile(1) //不断循环{ for(i=0;i<500;i++) //正转1圈(大概位置,步进电机需要编码盘才能测得比较准一点)corotation(); //调用正转子函数Stop //停止Delay(1000); //延时1sfor(j=0;j<500;j++) //反转1圈(大概位置)reversal(); //调用反转子函数Stop //停止Delay(1000); //延时1s}}
接线图↓:
源代码地址↓
源码地址
延时函数的生成↓
利用烧录软件生成延时函数 新手学习
更多步进电机资料↓
ULN2003驱动步进电机28BYJ-48
扩展内容
A4988驱动模块驱动四线步进电机
【51单片机】 ULN2003模块 驱动步进电机(5线)正反转 代码以及接线图(简单教学,一看就会)相关推荐
- 51单片机+L293D控制直流电机起保停正反转
51单片机+L293D控制直流电机起保停正反转 仿真效果图 程序代码 #include <STC89C5xRC.H> #define EN1 P22 #define D1 P20
- 51单片机 通过 tb6600驱动 步进电机
点击查看 :tb6600驱动步进电机模块接线及原理介绍 驱动代码 #include "reg52.h"typedef unsigned int u16; //对系统默认数据类型进行 ...
- 基于51单片机的直流电机调速测速正反转控制(仿真+源程序+原理图+PCB)
资料编号:206 1.本设计采用STC89C51/52(与AT89S51/52.AT89C51/52通用,可任选)51单片机作为主控制器 2.采用霍尔传感器非接触式测电机转速 3.LCD1602液晶显 ...
- 51单片机控制二相四线步进电机
步进电机按定子上绕组来分,有二相.三相和五相等系列.最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好.该种电机的基本步距角为1.8°/步,配上半步驱 ...
- GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)
GC9A01-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于GC9A01 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...
- 基于51单片机步进电机控速正反转proteus仿真
本设计是基于51单片机步进电机控速正反转(原理图+源码+仿真) 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号C0005 [文档]C0005 网盘链接 资 ...
- ST7735-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)
ST7735-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于ST7735 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...
- Proteus8仿真:51单片机使用ULN2003A控制步进电机
51单片机使用ULN2003A控制步进电机 元器件 原理图部分 代码 main.c 工程文件 实验内容: 使用按键控制步进电机正反转. 元器件 元器件 名称 电阻 RES 51单片机 AT89C51 ...
- 51单片机蓝牙模块(HC05)运行原理
51单片机蓝牙模块(HC05)及其运行原理 目录 51单片机蓝牙模块(HC05)及其运行原理 一.测试蓝牙模块 二.配置蓝牙模块 三.烧写程序 四.测试 参考博文 一.测试蓝牙模块 在所有工作进行之前 ...
最新文章
- k8s 集群 Ingress Nginx传递用户真实IP问题
- Android跳转intent简单教程
- vue移动端过渡动画_Vue.js实现微信过渡动画左右切换效果
- SQLite 性能优化
- android获取string.xml的值
- 具有JDK 12精简数字格式的自定义精简数字模式
- Java Timestamp Memo
- springboot项目集成Flowable资料汇总
- Java的括号使用规则_java编码规范
- 通过Windows的bat方式一键给计算机网卡替换IP地址
- 数字信号处理 第三版 西安电子科技大学出版 第一章 课后题 编程题 14 15 16 17 18
- Google Chrome最强鼠标手势插件面世
- gdi与gdi+绘图效率_.NET和GDI +进行绘图[第1部分:基础知识]
- php采集今日头条出现问题,使用php蓝天采集抓取今日头条ajax的文章内容
- 数字逻辑·逻辑代数【运算、函数】
- 【word】双栏写作如何调整为写满左栏再写右栏
- 小学计算机课教案表格,小学信息技术教学设计《插入表格》
- 冷库管理源码PHP,冷库管理系统,你想知道的都在这里
- 用逗号分割并在Python中去除空格
- 带你认识不一样的常春藤之一的普林斯顿大学