步进电机驱动电路

合集下载

单片机驱动步进电机电路

单片机驱动步进电机电路
*
通过键盘,将货位(或包位)代码输入微机,启动存(或取)命令键,机械手即可在微机的控制下,作X、Y、Z三个方向的运动,完成存(或取)包操作。控制原理如图所示。
01
系统主要包括微机控制、步进电机控制、机械传动系统、光控音乐电路、工作电源、货架和柜台等七部分组成。微机根据键入的货物代码,产生相应的脉冲信号,经CH250脉冲分配器和驱动电路,输出具有一定功率的脉冲,驱动有关电机正转或反转及其步数,从而实现货物的存取。机械手行进中,光控音乐电路驱动蜂呜器发出乐曲,从而增强了工作的节奏、控制的旋律。
*
9
如果按: 001→101→100→110→010→011→001…… A CA C CB B BA A 的次序输出,就可达到反转的目的。 [练习1]仿照三相三拍的办法编出反转控制子程序。
FAN: MOV P1, #01H ;A相通电 ACALL D1MS MOV P1,#05H ;CA相通电 ACALL D1MS MOV P1,#04H ;C相通电 ACALL D1MS MOV P1,#06H ;CB相通电 ACALL D1MS MOV P1,#02H ;B相通电 ACALL D1MS MOV P1,#03H ;BA相通电 ACALL D1MS RET
9.3 应用举例——机械手的微机控制
随着科学技术的进步、工业自动化的进程,机械手将进一步取代简单而笨重的人工操作,逐步把在恶劣环境下工作的人们解放出来,这对于改善人们的工作条件、提高工作效率,具有一定的现实意义。
本例系存取邮件机械手的控制,在邮政部门和立体仓库中作自动存职包裹和货物之用。
工作原理
由软件完成脉冲分配工作
*
特点:由软件完成脉冲分配工作,不仅使线路简化,成本下降,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。

步进电机驱动电路

步进电机驱动电路

R11 R10 361x4
IC6 TCP521-4
1 io4 Vdd 16 2 io6 io2 15 3 o/i io1 14 4 io7 io0 13 5 io5 io3 12 6 inh a 11 7 Vee b 10 8 Vss c 9
+5V
13 1A
14 Vcc 12 1Y
Nc
11 5A
10 5Y
+15V
14
1
Vcc 1A
1Y
3
1B
2
E7 E12/47u25V +5V
IC9
5
NE555
C41
8 VCC 4 RST
R26
470u 35V
C7
103
7 DHE 3 OUT D1
2 TGR 5 CTL
3
4 2A 2Y 6 5 2B 9 1A 1Y 8
1B 10
C16
R27 333 D2
6 TSD 1 GND
78L15
2
PC6
47u
25V
E2
C2
47u
25V
E3
C3
47u
25V
PC3 PC3 47u 25V
PT3
1
Vin
Vout
3
GND
78L15
2
PC7
47u
25V
E4
C4
47u
25V
驱动/电源板: H2P-8AH.PCB
P
222
N
1kV
2
3 1/9 12
8 10/7
PD1
PT4
1
Vin
Vout
3
GND

四相步进电机驱动电路及驱动程序设计

四相步进电机驱动电路及驱动程序设计

四相步进电机驱动电路及驱动程序设计我们用一个单片机控制多个步进电机指挥跳舞机器人的双肩、双肘和双脚伴着音乐做出各种协调舒缓充满感情的动作,荣获一等奖。

电路采用74373锁存,74LS244和ULN2003作电压和电流驱动,单片机(Atc52)作脉冲序列信号发生器。

程序设计基于中断服务和总线分时利用方式,实时更新各个电机的速度、方向。

整个舞蹈由运动数据所决定的一截截动作无缝连接而成。

本文主要介绍一下这个机器人的四相五线制步进电机驱动电路及程序设计.1、步进电机简介步进电机根据内部线圈个数不同分为二相制、三相制、四相制等。

本文以四相制为例介绍其内部结构。

图1为四相五线制步进电机内部结构示意图。

2、四相五线制步进电机的驱动电路电路主要由单片机工作外围电路、信号锁存和放大电路组成。

我们利用了单片机的I/O端口,通过74373锁存,由74LS244驱动,ULN2003对信号进行放大。

8个电机共用4bit I/O端口作为数据总线,向电机传送步进脉冲。

每个电机分配1bit的I/O端口用作74373锁存信号,锁存步进电机四相脉冲,经ULN2003放大到12V驱动电机运转。

电路原理图(部分)如图2所示。

(1)Intel 8051系列单片机是一种8位的嵌入式控制器,可寻址64K字节,共有32个可编程双向I/O口,分别称为P0~P3。

该系列单片机上集成8K的ROM,128字节RAM可供使用。

(2)74LS244为三态控制芯片,目的是使单片机足以驱动ULN2003。

ULN2003是常用的达林顿管阵列,工作电压是12V,可以提供足够的电流以驱动步进电机。

关于这些芯片的详细介绍可参见它们各自的数据手册。

(3)74373是电平控制锁存器,它可使多个步进电机共用一组数据总线。

我们用P1.0~P1.7作为8个电机的锁存信号输出端,见表1。

这是一种基于总线分时复用的方式,以动态扫描的方式来发送控制信号,这和高级操作系统里的多任务进程调度的思想一致。

(整理)实用的步进电机驱动电路图.

(整理)实用的步进电机驱动电路图.

实用的步进电机驱动电路(图)概述步进电机是一种将电脉冲转化为角位移的执行机构,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

目前,对步进电机的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。

本设计选用第三种方案,用PMM8713三相或四相步进电机的脉冲分配器、SI-7300A 两相或四相功率驱动器,组成四相步进电机功率驱动电路,以提高集成度和可靠性,步进电机控制框图见图1。

图1 步进电机控制系统框图硬件简介● PMM8713原理框图及功能PMM8713是日本三洋电机公司生产的步进电机脉冲分配器,适用于控制三相或四相步进电机。

控制三相或四相步进电机时都可以选择3种励磁方式,每相最小吸入与拉出电流为20mA,它不仅满足后级功率放大器的输入要求,而且在其所有输入端上均内嵌施密特触发电路,抗干扰能力强,其原理框图如图2所示。

图2 PMM8713的原理框图在PMM8713的内部电路中,时钟选通部分用于设定步进电机的正反转脉冲输入发。

PMM8713有两种脉冲输入法:双脉冲输入法和单脉冲输入法。

采用双脉冲输入法时,CP、CU两端分别输入步进电机正反转的控制脉冲。

当采用单脉冲输入时,步进电机的正反转方向由U/D的高、低电位决定。

激励方式控制电路用来选择采用何种励磁方式。

激励方式判断电路用于输出检测;而可逆环形计数器则用于产生步进电机在选定的励磁方式下的各相通断时序信号。

● SI-7300A的结构及功率驱动原理SI-7300A是日本三青公司生产的高性能步进电机集成功率放大器,该器件为单极性四相驱动,采用SIP18封装。

步进电机功率驱动级电路可分为电压和电流两种驱动方式。

电流驱动方式最常用的是PWM恒流斩波驱动电路,也是最常用的高性能驱动方式,其中一相的等效电路图如图3所示。

图3 LM331电压/频率变换电路● LM331芯片LM331是美国国家半导体公司生产的双列直插式8脚芯片,只需接入几个外部元件就可以方便地构成电压/频率(V/F)变换电路,电路如图4所示。

步进电机驱动电路的设计

步进电机驱动电路的设计

U’o确定参考电位 o UI1和UI2两者都 UI1和UI2两者都 小于各自的参考电 压时,Uo=1, 压时,Uo=1,放电 管截止; 管截止; UI1和UI2两者都 UI1和UI2两者都 大于各自的参考电 压时,Uo=0, 压时,Uo=0,放电 管导通; 管导通;
V CC
RD 4
vIC
5
8
vI1
tW
T
脉冲周期T: 脉冲周期 :在周期性重复的脉冲系列 两个相邻脉冲间的间隔时间。 中,两个相邻脉冲间的间隔时间。 脉冲频率f: 脉冲频率 :单位时间内脉冲重复的次数 f=1/T。 。 占空比D:脉冲宽度与脉冲周期的比值 占空比 : D=tw/T。 。
如何获得脉冲信号? 如何获得脉冲信号?
利用脉冲振荡器直接产生脉冲信号; 利用脉冲振荡器直接产生脉冲信号;
典型的步进电机控制系统的组成
时钟电路
步进控制器——把输入的脉冲转换成环型脉冲 步进控制器——把输入的脉冲转换成环型脉冲, 把输入的脉冲转换成环型脉冲, 以控制步进电动机, 以控制步进电动机,并能进行正反转控制 功率放大器——把步进电动机输出的环型脉 功率放大器——把步进电动机输出的环型脉 冲放大, 冲放大,以驱动步进电动机转动
L297接线图与控制时序 L297接线图与控制时序
L298内部结构原理图 L298内部结构原理图
L298是一 是一 种双全桥驱动电 路,可用来驱动 各种小型直流电 机、两相双极步 进电机和四相单 极步进电机。 极步进电机。
L297和L298构成的步进电机控制系统 L297和L298构成的步进电机控制系统
0.9U m 0.1U m
tr
tf
上升时间t 脉冲上升沿从 脉冲上升沿从0.1Um上升到 上升到0.9Um所需的 上升时间 r:脉冲上升沿从 上升到 所需的 时间。 时间。 下降时间t 脉冲下降沿从 脉冲下降沿从0.9Um下降到 下降到0.1Um所需的 下降时间 f:脉冲下降沿从 下降到 所需的 时间。 时间。

步进电机H桥功率驱动电路设计

步进电机H桥功率驱动电路设计

步进电机H桥功率驱动电路设计步进电机是一种特殊的直流电机,可以通过一定的控制方式实现精准的角度控制。

步进电机的驱动电路通常采用H桥功率驱动电路,其中H桥电路是通过四个开关元件(通常是MOSFET管或者IGBT管)和两个电源组成的,能够实现电机的正、反向旋转。

H桥电路由四个开关元件组成,其中开关S1和S4连接在一起,共同控制电机的一个端口,开关S2和S3连接在一起,共同控制电机的另一个端口。

H桥电路有四种状态:S1和S4为导通状态,S2和S3为截止状态;S2和S3为导通状态,S1和S4为截止状态;S1和S3为导通状态,S2和S4为截止状态;S2和S4为导通状态,S1和S3为截止状态。

步进电机的驱动原理是通过控制H桥电路的四种状态,使得电机在施加电源电压的不同方向上旋转。

控制步进电机的一个重要参数是步距角,即电机每转一圈所走过的角度。

根据步距角的大小,步进电机可以分为全角步进电机和半角步进电机。

全角步进电机的步距角为360度/步数,控制方式可以是单相驱动方式或者双相驱动方式。

单相驱动方式只需要两个驱动电路,一个控制电机的一个端口,另一个端口通过调整S1和S4的导通时间来实现,通过调整导通的时间长短,可以控制电机的速度。

双相驱动方式需要四个驱动电路,分别控制电机的两个端口,通过交替切换四种状态来实现控制。

半角步进电机的步距角为360度/(2×步数)。

控制半角步进电机通常采用四相驱动方式,需要八个驱动电路,通过交替切换八种状态来实现控制。

四相驱动方式的原理是将步进电机的一个端口分成四段,通过施加电源电压的不同顺序,使得电机在不同的相邻段上产生磁场,并完成旋转。

步进电机的驱动电路设计需要考虑以下几个问题:1.驱动电路的工作电压范围,要能适应电机的额定电压以及工作电压波动范围。

2.驱动电路的开关元件的选型,要能够满足电流和功率的要求,并具有足够的开关速度。

3.驱动电路的保护措施,要考虑过流、过热等异常情况的保护。

步进电机及其驱动电路

步进电机及其驱动电路

第三节步进电动机及其驱动一、步进电机的特点与种类1.步进电机的特点步进电机又称脉冲电机。

它是将电脉冲信号转换成机械角位移的执行元件。

每当输入一个电脉冲时,转子就转过一个相应的步距角。

转子角位移的大小及转速分别与输入的电脉冲数及频率成正比,并在时间上与输入脉冲同步。

只要控制输入电脉冲的数量、频率以及电机绕组通电相序即可获得所需的转角、转速及转向。

步进电动机具有以下特点:✍工作状态不易受各种干扰因素(如电压波动、电流大小与波形变化、温度等)的影响;✍步进电动机的步距角有误差,转子转过一定步数以后也会出现累积误差,但转子转过一转以后,其累积误差变为“零” ;✍由于可以直接用数字信号控制,与微机接口比较容易;✍控制性能好,在起动、停止、反转时不易“丢步”;✍不需要传感器进行反馈,可以进行开环控制;✍缺点是能量效率较低。

就常用的旋转式步进电动机的转子结构来说,可将其分为以下三种:(1)可变磁阻(VR-Variable Reluctance),也叫反应式步进电动机(2)永磁(PM—Permanent Magnet)型(3)混合(HB—Hybrid)型(1)可变磁阻(VR—Variable Reluctance)结构原理:该类电动机由定子绕组产生的反应电磁力吸引用软磁钢制成的齿形转子作步进驱动,故又称作反应式步进电动机.其结构原理如图3.5定子1上嵌有线圈,转子2朝定子与转子之间磁阻最小方向转动,并由此而得名可变磁阻型。

图3。

6 可变式阻步进电机可变磁阻步进电机的特点:❖反应式电动机的定子与转子均不含永久磁铁,故无励磁时没有保持力;❖需要将气隙作得尽可能小,例如几个微米;❖结构简单,运行频率高,可产生中等转矩,步距角小(0。

09~9°)❖制造材料费用低;❖有些数控机床及工业机器人上使用。

(3)混合(HB—Hybrid)型结构原理这类电机是PM式和VR式的复合形式。

其定子与VR类似,表面制有小齿,转子由永磁铁和铁心构成,同样切有小齿,为了减小步距角可以在结构上增加转子和定子的齿数。

步进电机驱动电路

步进电机驱动电路

02
步进电机驱动电路设计要素
驱动电路的组成及工作原理
驱动电路的组成
• 电源模块:为驱动电路提供稳定的电压和电流 • 控制模块:接收控制信号,控制电流的方向和大小 • 驱动模块:将控制信号转换为驱动电流,驱动电机运行
驱动电路的工作原理
• 控制模块根据输入的控制信号生成驱动信号 • 驱动模块根据驱动信号产生相应的驱动电流,驱动电机运行 • 电源模块为驱动电路提供稳定的电压和电流,保证电路正常工作
04
步进电机驱动电路在实际应用中的注意事项
驱动电路与步进电机的匹配问题
驱动电路与步进电机的匹配原则
• 度要求选择合适的驱动电路
驱动电路与步进电机的匹配方法
• 通过实验和计算确定最佳匹配方案 • 参考产品手册和应用案例进行匹配
驱动电路的控制策略与优化
未来应用场景的拓展
• 在智能家居、机器人等领域的应用 • 在航空航天、武器装备等领域的应用
未来驱动电路的设计方向
• 高性能、高效率、高可靠性的驱动电路设计 • 绿色环保、节能减排的驱动电路设计
CREATE TOGETHER
DOCS
谢谢观看
THANK YOU FOR WATCHING
模块化驱动电路的优势
• 便于维护和升级 • 提高设计灵活性,易于扩展
新型驱动技术与控制方法的研究与应用
新型驱动技术
• 永磁同步电机等高效电机的研究与应用 • 无刷直流电机等环保电机的研究与应用
新型控制方法
• PID控制等先进控制算法的研究与应用 • 模糊控制等人工智能技术的研究与应用
步进电机驱动电路在未来应用场景的拓展
双极性驱动电路的优缺点
• 优点:驱动能力强,能实现正反转控制 • 缺点:结构较复杂,成本较高
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

步进电机驱动电路单极性(unipolar) 和双极性(bipolar) 是步进电机最常采用的两种驱动架构。

单极性驱动电路使用四颗晶体管来驱动步进电机的两组相位,电机结构则如图1所示包含两组带有中间抽头的线圈,整个电机共有六条线与外界连接。

这类电机有时又称为四相电机,但这种称呼容易令人混淆又不正确,因为它其实只有两个相位,精确的说法应是双相位六线式步进电机。

六线式步进电机虽又称为单极性步进电机,实际上却能同时使用单极性或双极性驱动电路。

单极性步进电机驱动电路双极性步进电机的驱动电路则如图2所示,它会使用八颗晶体管来驱动两组相位。

双极性驱动电路可以同时驱动四线式或六线式步进电机,虽然四线式电机只能使用双极性驱动电路,它却能大幅降低量产型应用的成本。

双极性步进电机驱动电路的晶体管数目是单极性驱动电路的两倍,其中四颗下端晶体管通常是由微控制器直接驱动,上端晶体管则需要成本较高的上端驱动电路。

双极性驱动电路的晶体管只需承受电机电压,所以它不像单极性驱动电路一样需要箝位电路。

双极性步进电机驱动电路用单片机控制步进电机2006-4-9 平凡步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

一、步进电机常识常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。

在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。

它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。

这种步进电机的应用最为广泛。

二、永磁式步进电机的控制下面以电子爱好者业余制作中常用的永磁式步进电机为例,来介绍如何用单片机控制步进电机。

图1是35BY型永磁步进电机的外形图,图2是该电机的接线图,从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。

要使用步进电机转动,只要轮流给各引出端通电即可。

将COM端标识为C,只要AC、 C、BC、 C,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM端接正电源,那么只要用开关元件(如三极管),将A、、B、轮流接地。

下表列出了该电机的一些典型参数:表1 35BY48S03型步机电机参数型号步距角相数电压电流电阻最大静转距定位转距转动惯量35BY48S03 7.5 4 12 0.26 47 180 65 2.5有了这些参数,不难设计出控制电路,因其工作电压为12V,最大电流为0.26A,因此用一块开路输出达林顿驱动器(ULN2003)来作为驱动,通过P1.4~P1.7来控制各线圈的接通与切断,电路如图3所示。

开机时,P1.4~P1.7均为高电平,依次将P1.4~P1.7切换为低电平即可驱动步进电机运行,注意在切换之前将前一个输出引脚变为高电平。

如果要改变电机的转动速度只要改变两次接通之间的时间,而要改变电机的转动方向,只要改变各线圈接通的顺序。

图1 35BY48S03型步进电机外形图图2 35BY48S03型步进电机的接线图图3 单片机控制35BY48S03型步进电机的电路原理图三、步进电机的驱动实例要求:控制电路如图3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,最高速度为100转/分,最低转带为25转/分,按下停止键,电机停转。

速度值要求在数码管上显示出来。

1.要求分析按上面的分析,改变转速,只要改变P1.0~P1.3轮流变低电平的时间即可达到要求,这个时间不应采用延时来实现,因为会影响到其他功能的实现。

这里以定时的方式来实现。

下面首先计算一下定时时间。

按要求,最低转速为25转/分,而上述步进电机的步距角为7.5,即每48个脉冲为1周,即在最低转速时,要求为1200脉冲/分,相当于50ms/脉冲。

而在最高转速时,要求为100转/分,即48000脉冲/分,相当于12.5ms/脉冲。

可以列出下表表1 步进电机转速与定时器定时常数关系速度单步时间(us) TH1 TL1 实际定时(us)25 50000 76 0 49996.826 48077 82 236 48074.1827 46296 89 86 46292.6128 44643 95 73 44640.155… … … … …100 12500 211 0 12499.2表中不仅计算出了TH1和TL1,而且还计算出了在这个定时常数下,真实的定时时间,可以根据这个计算值来估算真实速度与理论速度的误差值。

表中TH1和TL1是根据定时时间算出来的定时初值,这里用到的晶振是11.0592M。

有了上述表格,程序就不难实现了,使用定时/计数器T1为定时器,定时时间到后切换输出脚即可。

2.程序实现定义DSB-1A实验板的S1为启动键,S2为停止键,S3为加1键,S4为减1键,程序如下:StartEnd bit 01H ;起动及停止标志MinSpd EQU 25 ;起始转动速度MaxSpd EQU 100 ;最高转动速度Speed DATA 23H ;流动速度计数DjCount DATA 24H ;控制电机输出的一个值,初始为11110 111Hidden EQU 10H ;消隐码Counter DATA 57H ;显示计数器DISPBUF DATA 58H ;显示缓冲区ORG 0000HAJMP MAINORG 000BHJMP DISPORG 001BHJMP DJZDORG 30HMAIN:MOV SP,#5FHMOV P1,#0FFHMOV A,#HiddenMOV DispBuf,AMOV DispBuf+1,AMOV DispBuf+2,AMOV DjCount,#11110111BMOV SPEED,#MinSpd ;起始转动速度送入计数器CLR StartEnd ;停转状态MOV TMOD,#00010001B ;MOV TH0,#HIGH(65536-3000)MOV TL0,#LOW(65536-3000)MOV TH1,#0FFH;MOV TL1,#0FFHSETB TR0SETB EASETB ET0SETB ET1LOOP: ACALL KEY ;键盘程序JNB F0,m_NEXT1 ;无键继续ACALL KEYPROC ;否则调用键盘处理程序m_NEXT1:MOV A,SpeedMOV B,#10DIV ABMOV DispBuf+5,B ;最低位MOV B,#10DIV ABMOV DispBuf+4,BMOV DispBuf+3,AJB StartEnd,m_Next2CLR TR1 ;关闭电机JMP LOOPORL P1,#11110000Bm_Next2:SETB TR1 ;启动电机AJMP LOOP ;主程序结束;---------------------------------------D10ms:……;---------延时程序,键盘处理中调用KEYPROC:MOV A,B ;获取键值JB ACC.2,StartStop ;分析键的代码,某位被按下,则该位为1 JB ACC.3,KeyStyJB ACC.4,UpSpdJB ACC.5,DowSpdAJMP KEY_RETStartStop:SETB StartEnd ;启动AJMP KEY_RETKeySty:CLR StartEnd; ;停止AJMP KEY_RETUpSpd:INC SPEED;MOV A,SPEEDCJNE A,#MaxSpd,K1 ;到了最多的次数?DEC SPEED ;是则减去1,保证下次仍为该值K1:AJMP KEY_RETDowSpd:DEC SPEEDMOV A,SPEEDCJNE A,#MAXSPD,KEY_RET ;不等(未到最大值),返回MOV SPEED,#MinSpd;KEY_RET:RETKEY:……获取键值的程序RETDjZd: ;定时器T1用于电机转速控制PUSH ACCPUSH PSWMOV A,SpeedSUBB A,#MinSpd ;减基准数MOV DPTR,#DjHMOVC A,@A+DPTRMOV TH1,AMOV A,SpeedSUBB A,#MinSpdMOV DPTR,#DjLMOVC A,@A+DPTRMOV TL1,AMOV A,DjCountCPL AORL P1,AMOV A,DjCountJNB ACC.7,d_Next1JMP d_Next2d_Next1:MOV DjCount,#11110111Bd_Next2:MOV A,DjCountRL AMOV DjCount,A ;回存ANL P1,APOP PSWPOP ACCRETIDjH: DB 76,82,89,95,100,106,110,115,119,123,12……DjL: DB 0,236,86,73,212,0,214,96,163,165……DISP: ;显示程序POP PSWPOP ACC……RETIBitTab: DB 7Fh,0BFH,0DFH,0EFH,0F7H,0FBHDISPTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H, 0A1H,86H,8EH,0FFHEND3.程序分析本程序主要由键盘程序、显示器程序、步进电机驱动程序三部份组成,主程序首先初始化各变量,将显示器的高3位消隐,步进电机驱动的各引脚均输出高电平,然后调用键盘程序,并作判断,如果有键按下,则调用键盘处理程序,否则直接转下一步。

下一步是将当前的转速值转换为BCD码,送入显示缓冲区;接着判断StartEnd这个位变量,是“1”还是“0”,如果是“1”,则开启定时器T1,否则关闭定时器T1,为防止关闭时某一相线圈长期通电,因此,在关闭定时器T1时,将P1.0~P1.3均置高。

至此,主程序的工作即结束。

这里为简便起见,这里没有做高位“0”消隐的工作,即如果速度为10转/分,则显示值“010”,读者可以自行加入相关的代码来处理这一工作。

步进电机的驱动工作是在定时器T1的中断服务程序中实现的,由前述分析,每次的定时时间到达以后,需要将P1.0~P1.3依次接通,程度中用了一个变量DjCntr来实现这一功能,在主程序初始化时,该变量被赋予初值11110111B,进入到定时中断以后,将该变量取出送ACC累加器,并在累加器中进行左移,这样,该数值就变为1110 1111,然后将该数与P1相“与”,此时,P1.4即输出低电平,第二次进入中断时,先将该数取反,成为 0001 0000,然后将该数与P1相“或”,这样,P1.4即输出高电平,关断了相应的线圈,然后将该数重新取出,并作左移,即1110,1111右移成为1101 1111,将该数与P1相“与”,这样P1.5即输出低电平,依次类推,P1.7~P1.4即循环输出低电平。

相关文档
最新文档