利用MCS51单片机驱动步进电机电路及程序

发布者:温暖微风最新更新时间:2011-09-07 关键字:51单片机  驱动步进电机 手机看文章 扫描二维码
随时随地手机看文章

  在这里介绍一下用51单片机驱动步进电机的方法。

  这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!

  


  该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。

  采用51驱动ULN2003的方法进行驱动。

  

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

  ;******************************************************************

  ;****************************步进电机的驱动***************************************

  ; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19

  ;---------------------------------------------------------------------------------

  ; 步进电机的驱动信号必须为 脉冲信号!!! 转动的速度和脉冲的频率成正比!!!

  ; 本步进电机步进角为 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

  MOVC 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

  MOVC 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

关键字:51单片机  驱动步进电机 引用地址:利用MCS51单片机驱动步进电机电路及程序

上一篇:采用ADS7846控制器的电阻式触摸屏接口电路设计
下一篇:51单片机SNMP网管板卡驱动程序

推荐阅读最新更新时间:2024-03-16 12:40

51单片机不能正常起振的原因分析
如何确定晶振正常起振? 1、判断方法很多,用示波器看波形是最直接的,用数字万用表的电压档测电压也行,因晶振波形的占空比为50%,所以测得的平均电压为1/2Vcc左右,对于51单片机,在使用外置程序存储器的时候还可以测PSEN引脚或P0口引脚的电压或波形,只有晶振电路正常工作,那些引脚才会有信号输出,但现在很少采用片外扩展存储器,所以测晶体两端的电压或波形即可,只是晶振电路设计不良时,测试设备的引入有可能导致停振。 2、晶体两端的电压差不是平均电压差,虽然事实上因外电路的影响,晶体两端的电压可能会有差别,但这不是判断晶振是否起振的依据,也不是晶振电路正常工作的条件。至于一高一低没有工作是指一端为Vcc或接近Vcc,另一端为0或接
[单片机]
<font color='red'>51单片机</font>不能正常起振的原因分析
56-基于51单片机的IC卡智能水表设计
具体实现功能 系统由STC89C52单片机+LCD1602+电磁阀+继电器+流量计+IC卡读写模块模块构成。 具体功能: (1)第一行显示IC卡ID号码,此时未读到IC卡,所以ID显示为0,第二行显示的依次是剩余的水量和IC卡内的余额。若水量余额大于0,电磁阀得电,用户可以用水。 (2)当智能水表检测到IC卡时,第一行显示IC卡ID号码,第二行显示的是剩余的水量和IC卡内的余额。卡片内的余额可以充值到水表里。此时水表内有水量,电磁阀开启,按下用水按钮,模拟流量计旋转,用水信号输入到单片机,单片机将水的余量在屏幕的第二行显示出来,当水的余量小于等于10时,发光二极管点亮,提示余额不足,当水的余量等于0时,继电器断开,切断
[单片机]
56-基于<font color='red'>51单片机</font>的IC卡智能水表设计
基于51单片机的模拟交通灯
/*----------------------------------------------- 注:P1口连接至LED用于显示红绿灯,P0口接数码管段码,用于显示时间; 两个74HC573控制段码和位码。段码接P20,位码接P21 ------------------------------------------------*/ #include reg52.h #define uchar unsigned char #define uint unsigned int sbit DUAN=P2^0; sbit WEI=P2^1; /*-------------------------------------------
[单片机]
用W78E51单片机实现的自动拨号器
自动拨号器是一种智能化的报警监控装置,它以单片机为核心器件,利用无线寻呼和程控电话可随时将警情发送给指定的BP机。它配备不同的传感器后,不但可以对有毒气体泄漏、家中被盗等情况进行报警,而且还可对通信设备及电源故障的发生进行告警,可广泛应用于仓库、小型商店、无人值守通信台站的监测以及家庭防盗、煤气报警等。 工作原理 自动拨号器按功能的不同可分为可编码型和简易型两种。可编码型自动拨号器可人为设置、更改BP机号码,使用方便灵活;简易型自动拨号器的BP机号码已写入CPU的程序存储器中,具有成本低廉、稳定可靠的特点,缺点是不能人为更改BP机号码,需通过编程器写入,但成本较可编码型低。以下分别介绍这两种拨号器的工作原理。 可编码的
[单片机]
用W78E<font color='red'>51单片机</font>实现的自动拨号器
51单片机+74HC595驱动数码管程序
这里是电路图: 完整的源码和图纸下载地址: http://www.51hei.com/bbs/dpj-20392-1.html 下面是51单片机驱动74hc595芯片的程序: #include reg52.h //包含51单片机的头文件 #include stdio.h #define uint unsigned int #define uchar unsigned char //sbit sin_595 =P1^0; //sbit rclk_595 =P1^1; //sbit sclk_595 =P1^2; //sbit s_clr =P1^3; sbit a_cp_595
[单片机]
<font color='red'>51单片机</font>+74HC595<font color='red'>驱动</font>数码管程序
基于51单片机IP核的FPGA实现与应用
  1 引言   长期以来,单片机以其性价比高、体积小、功能灵活等方面的独特优点被广泛应用。但受其内部资源的限制,单片机需要在片外扩展相关资源。为了达到处理速度和控制灵活性方面的需求,采用微控制器和可编程逻辑器件设计单片机嵌入式系统。随着现场可编程逻辑阵列(FPGA)及EDA技术的发展,百万门级的FPGA、可重构的嵌入式MCU核、功能复杂的IP核及各种功能强大的EDA工具的出现,实现将MCU、存储器和一些外围电路集成到一个芯片成为可能。随着IP核技术在FPCA中的应用,特别是MCU IP核技术的发展。出现了性能不同的嵌入式MCU软核。MCS-51系列MCU是目前应用时间最长、最普及、可获得应用资料最多的功能强大的8位MCU,
[单片机]
基于<font color='red'>51单片机</font>IP核的FPGA实现与应用
基于51单片机的CAN总线系统设计
0 引言 随着20世纪80年代初期德国Bosch公司提出CAN(Controller Area Network)总线,即控制器局域网方案以解决汽车控制装置问的通信问题。经过20多年的发展,CAN总线现在广泛的应用在汽车领域,在汽车控制系统中应用CAN总线可以使硬件方案的软件化实现,大大地简化了设计,减小了硬件成本和设计生产成本,数据共享减少了数据的重复处理,节省了成本,可以将信号线减到最少,减少布线,使成本进一步降低等优点。由于CAN总线通信的高性能、高可靠性、及独特的设计和适宜的价格可以广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,所以被公认为是几种最有前途的现场总线之一。 1 系统总体设计 CAN
[单片机]
基于<font color='red'>51单片机</font>的CAN总线系统设计
基于80C51单片机和CH375芯片实现打印机驱动系统的设计
引言 本课题来源于北京普析通用公司的一个项目。由于公司现有单机版光谱仪器产品(如1810、T6等)采用的是并行口打印技术,而随着USB打印机技术的逐渐普及,并行口打印机越来越不好买到,而且有些用户的打印机只是USB接口而非并行口,因此现有仪器产品对打印机的支持变得不能适应用户需要。为了实现能将公司的并行口仪器直接和USB打印机相连进行打印,决定设计开发一款LPT-USB打印机的驱动器,负责并口仪器和USB打印机的连接。 本文利用单片机和USB总线接口芯片实现LPT-USB打印机的驱动器设计。利用该设计将能够实现并行打印口数据可以在USB打印机上的直接打印工作,克服了有些并口仪器必须连接并口打印机才能打印的弊端,极大地方便了用户
[单片机]
基于80C<font color='red'>51单片机</font>和CH375芯片实现打印机<font color='red'>驱动</font>系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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