单片机步进电机的驱动程序

2018-01-12 21:10:39编辑:什么鱼 关键字:单片机  步进电机  驱动程序

单片机 步进电机驱动程序

动电压 12V ,步进角为  7.5 度  .  一圈  360  度  ,  需要  48  个脉冲完成 !!! 
在这里介绍一下用 51 单片机 对这款步进电机的驱动方法。  
该步进电机有 6 根引线,排列次序如下: 1: 红色、 2: 红色、 3: 橙色、 4: 棕色、 5: 黄色、 6: 黑色。  

 

采用 51 驱动 ULN2003 的方法进行驱动。  
ULN2003 的驱动直接用 单片机 系统的 5V 电压,可能力矩不是很大,大家可自行加大驱动电压到 12V 。  

此主题相关图片如下: 
  



;*********************************************************************
;**************************** 步进电机的驱动 ******************************
; DESIGN BY BENLADN911    FOSC = 12MHz   
;---------------------------------------------------------------------------------
;  步进电机的驱动信号必须为   脉冲信号 !!!  转动的速度和脉冲的频率成正比 !!!
;  本步进电机步进角为  7.5 度  .  一圈  360  度  ,  需要  48  个脉冲完成 !!!
;---------------------------------------------------------------------------------

; A 组线圈对应  P2.4
; B 组线圈对应  P2.5
; C 组线圈对应  P2.6
; D 组线圈对应  P2.7
;  正转次序 : AB 组 --BC 组 --CD 组 --DA 组  ( 即一个脉冲 , 正转  7.5  度 )
;----------------------------------------------------------------------------------
;---------------------------- 正转 --------------------------
ORG 0000H
LJMP MAIN

ORG 0100H
MAIN:

MOV  R3,#144   ; 正转  3  圈共  144  脉冲

START:
MOV  R0,#00H

START1:
MOV  P2,#00H
MOV  A,R0
MOV  DPTR,#TABLE
MOV C A,@A+DPTR
JZ START   ; 对  A  的判断 , 当  A = 0  时则转到  START

MOV  P2,A
LCALL DELAY
INC R0
DJNZ R3,START1

MOV  P2,#00H
LCALL DELAY1

;----------------------------- 反转 ------------------------

MOV  R3,#144    ; 反转一圈共  144  个脉冲

START2:
MOV  P2,#00H
MOV  R0,#05

START3:
MOV  A,R0
MOV  DPTR,#TABLE
MOV C A,@A+DPTR
JZ START2

MOV  P2,A
CALL DELAY
INC R0
DJNZ R3,START3

MOV  P2,#00H
LCALL DELAY1

LJMP MAIN

DELAY:  MOV  R7,#40 ; 步进电机的转速 
M3:  MOV  R6,#248
DJNZ R6,$
DJNZ R7,M3
RET

DELAY1:             MOV    R4,#20    ;2S  延时子程序 
DEL2:               MOV    R3,#200
DEL3:               MOV    R2,#250
                   DJNZ  R2,$
                   DJNZ  R3,DEL3
                   DJNZ  R4,DEL2
                   RET

TABLE:
DB 30H,60H,0C0H,90H  ; 正转表 
DB 00  ; 正转结束

DB 30H,90H,0C0H,60H  ; 反转表 
DB 00  ; 反转结束 
END


关键字:单片机  步进电机  驱动程序

来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/article_2018011237337.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于AT89C52单片机的智能液体卸料控制器的设计
下一篇:51单片机来做的PWM来无级调光程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

51单片机实现LED流水灯(数组方式和位运算方式)

/* 名称:51单片机实现LED流水灯(数组方式和位运算方式)说明:今天又重新开始系统的学习51了,LED就算个开端吧。 要注意两点: 1、sfr和sbit是C语言扩展出来的关键字。其中sfr用于对特殊功能寄存器进行声明,sbit用于对某些特殊功能寄存器的某位进行声明。这里和宏定义很相似,但是不能用宏定义进行替换,对于前者是因为51单片机的寄存器存在于内部空间0x80-0xFF,这空间属于直接寻址,51特殊功能寄存只能直接寻址,不能间接寻址。如果用宏定义的话,在翻译成汇编时就会认为是通过总线访问对应的外部地址了。对于后者,sbit是定义一个标志位,也叫位变量。而类似于#define key1 P3
发表于 2018-07-21 13:08:22

51单片机之按键实验

/* 名称:51单片机之按键实验 说明:键盘是计算机最基础、最重要的输入设备之一。对于键盘来说,其工作任务大体可以分为以下三项: (1)、按键识别。即判断有无按键按下。 (2)、求键值。判断哪个键被按下。 (3)、执行相应的操作。 在这里,实验所用到的键盘为独立键盘和矩阵键盘。对于独立键盘,它的每个按键需要占用一个IO口。一般来说,按键一端接地,另一端接IO口。当按键按下时,线路被导通,IO口被拉低,即状态为‘0’。所以在使用是我们一般把对应IO口置成高电平,然后不断检测此IO口是否被拉低,从而判断按键是否按下。 对于矩阵键盘来说,它用较少的IO口完成较多个按键
发表于 2018-07-21 13:07:26

51单片机之数码管显示实验

/* 名称:51单片机之数码管显示实验 说明:对于数码管来说,其本质上可以理解为按照一定规则组合的多个二极管。其使用只需按照特定规则显示对应的二极管即可。要稍微注意一点的就是多个数码管的显示分为静态显示和动态显示。静态显示就是每个二极管显示的内容是一样的,通过片选信号来决定是哪个二极管该显示。动态数码管,即利用人眼的视觉停留效果,快速扫描,快速显示每个数码管的内容,使得每个数码管看起来好像是一起显示的一样。 本实验编写了几个数码管显示的简单程序。在此不做赘述了。*/#include <reg52.h>#define uchar unsigned char//共阳极段码(a在高位,dp在低位
发表于 2018-07-21 13:06:23

STC单片机片内EEPROM的读写

宏晶STC很多系列的单片机片内都集成了EEPROM存储器(其实是Data Flash),方便用户使用,想得真周到!今天写了个小程序,测试了一下,工作正常。下面就上我自己写的源程序。本人在STC89C52RC单片机上试验成功。首先是stcEEPROM.h头文件内容:/*When         Who     Remarks----------------------------------2011-Oct-06  黄长浩  初始版本 */ #ifndef __STCEEPROM_H__#define
发表于 2018-07-17 21:12:48

AVR单片机ATMEGA8 USART的使用

;       [Bus Signal]  TX, RX, CK    USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32 单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。在博主目前的项目中使用通信主要是通过RS485协议来进行通信,RS485通信是工业上非常常见的半双工异步通信典型通信协议,特征是通信的设备都挂载到主线上,使用差分信号来判断收发,且同一时刻只能进行一个功能(收信息或者发信息)那么在博主这边的软件处理方式如下;首先要
发表于 2018-07-16 20:41:43

AVR单片机中ATmega8的AD转换探究

AD采集最好要满足的条件:采样频率不小于被采集信号最高频率的两倍,则采样输出信号就可以无失真的重新啊还原输入信号,通常的实际应用中,采样频率为采集最高频率的5-10倍。AD芯片的数据输出方式有串行和并行两种方式,对于AVR单片机来说A/D芯片和AVR单片机接口是需要考虑的一些问题:(1)模拟信号输入的连接:单端输入时,VIN+引脚直接与信号输入连接,VIN-接地。差分输入时,单端输入正信号,VIN+引脚直接与信号连接,VIN-引脚接地。单端输入负信号,VIN-引脚与信号连接,VIN+引脚接地。(2)数据输入线与系统总线的连接:有可控制的三态输出门时候可以直接和系统总线连接,没有输出门的时候要通过I/O口进行连接。(3)启动信号
发表于 2018-07-16 20:40:14

小广播

何立民专栏

单片机及嵌入式宝典

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

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