步进电机的控制
步进电机控制方法及编程实例

步进电机控制方法及编程实例
步进电机在现代自动化控制系统中广泛应用,其精准的位置控制和相对简单的驱动方式使其成为许多工业和家用设备中的理想选择。
本文将介绍步进电机的控制方法及编程实例,帮助读者更好地理解和应用这一技术。
步进电机的基本原理
步进电机是一种将电能转换为机械能的电机,其运行原理基于磁场相互作用。
步进电机内部包含多个电磁线圈,根据电流方向和大小的不同来控制转子的运动。
通过逐个激活线圈,可以实现步进电机的准确位置控制,使其能够按照指定的步长旋转。
步进电机的控制方法
1.单相激励控制:最简单的步进电机控制方式之一。
通过依次激活每一相的线圈,
使电机按照固定步长旋转。
这种方法控制简单,但稳定性较差。
2.双相正交控制:采用两相电流的正交控制方式,提高了步进电机的稳定性和精
度。
可以实现正向和反向旋转,常用于对位置要求较高的应用场景。
3.微步进控制:将步进电机每个步进细分为多个微步进,以提高控制精度和减小振
动。
虽然增加了控制复杂度,但可以获得更平滑的运动和更高的分辨率。
步进电机的编程实例
下面以Python语言为例,演示如何通过控制步进电机的相序来实现简单的旋转控制。
通过以上代码,可以实现对步进电机的简单控制,按照设定的相序进行旋转,实现基本的位置控制功能。
结语
步进电机是一种常用的精准位置控制设备,掌握其控制方法和编程技巧对于工程师和爱好者来说都是有益的。
希望本文介绍的步进电机控制方法及编程实例能够帮助读者更好地理解和应用这一技术。
步进电机控制原理

步进电机控制原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
一、步进电机的工作原理该步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
图1是该四相反应式步进电机工作原理示意图。
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D 四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a. 单四拍b. 双四拍c八拍51单片机驱动步进电机的方法:驱动电压12V,步进角为7.5度. 一圈360 度, 需要48 个脉冲完成!该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。
步进电机的控制原理

步进电机的控制原理步进电机是一种高精度的电动执行器,具有定位准确、不需反馈器和转矩、速度和位置控制的特点,广泛用于数码设备、计算机和机器人控制等领域。
步进电机的控制原理包括三部分:输入信号、驱动电路和电机转动。
一、输入信号步进电机的输入信号有两种:脉冲信号和方向信号。
脉冲信号是由控制器发送给驱动电路的,用来控制电机的转动步数和速度。
步进电机的每一步运动需要一定的脉冲信号,具体步数由控制器编程决定。
方向信号则表示电机转动的正、反方向,一般由控制器通过电平高低来控制。
输入信号是步进电机运动的基础,只有正确的输入信号才能实现精准控制。
二、驱动电路步进电机的控制需要依赖驱动电路,一般为双H桥驱动电路。
它能够根据输入信号的变化,控制步进电机的相序和电流大小,从而实现电机的精准控制。
驱动电路是整个控制系统的核心部分,不同类型的步进电机需要不同的驱动方式,因此制定相应的驱动电路是十分重要的。
三、电机转动步进电机的转动是由驱动电路提供的电流产生的磁场、轴承和转子间的相互作用实现的。
不同类型的步进电机其转动的方式也不同,如单相、两相、五相、六相等。
不同类型的步进电机也需要不同的驱动方式,否则会导致控制不准确或失步。
综上所述,步进电机的控制原理需要在三个方面进行开展:输入信号、驱动电路和电机转动。
只有以正确的方式输入信号,配合正确的驱动电路和电机类型,才能实现精准的电机控制。
在实际应用中,我们需要根据具体情况来选择不同类型的步进电机和相应的控制方式,以实现最优控制效果。
步进电机的控制的原理

步进电机的控制的原理步进电机(Stepper Motor)是一种将电脉冲信号转换为角度让电机转动的电机。
它通常由定子和转子组成,定子线圈通过控制电流的输入来产生磁场,而转子则是由磁材料制成的。
步进电机有许多种类型,其中最常见的是单圈、双圈和四圈步进电机。
步进电机凭借其高精度、高可靠性等优点,在很多领域都有广泛的应用,包括打印机、电子门锁、数码相机等。
步进电机的控制原理主要包括两个方面,即脉冲信号的输入以及驱动电流的控制。
下面将详细介绍这两个方面的原理。
首先是脉冲信号的输入。
步进电机的转动是通过输入脉冲信号驱动的。
脉冲信号可以由切换电路产生,也可以由计算机或其他控制系统发出。
脉冲信号的频率决定了步进电机转动的速度,而脉冲信号的数量则决定了步进电机转动的角度。
当脉冲信号输入到步进电机的一个定子线圈时,该线圈产生一个磁场。
根据电磁感应定律,该磁场将对转子产生一个力矩,使其转动一定的角度。
当脉冲信号不再输入时,磁场也消失,转子停止转动。
如果脉冲信号连续输入,那么步进电机将不断地进行转动。
接下来是驱动电流的控制。
步进电机的线圈通常由绝缘性材料包裹,以防止电流损耗。
驱动电流的控制是通过对步进电机的定子线圈施加合适的电压来实现的。
根据欧姆定律,电流与电压的比值等于线圈的电阻。
通过改变电压的大小,可以控制线圈中的电流,进而控制步进电机的转动速度和力矩。
为了更好地控制步进电机的转动,常常采用两相驱动方式。
两相驱动方式是指将步进电机的两个定子线圈分别驱动,使其产生独立的磁场。
通过交替输入脉冲信号,可以让步进电机转动一个固定的角度。
在实际应用中,常常使用驱动器来控制步进电机的驱动电流。
驱动器接受外部脉冲信号,并通过电流放大器将电流信号传输给定子线圈。
此外,通过改变定子线圈的电流方向,可以改变步进电机的转动方向。
例如,如果一个线圈中的电流是顺时针方向的,而另一个线圈中的电流是逆时针方向的,那么步进电机就会向顺时针方向转动。
步进电机控制技术

四、反应式步进电机的特性
动态稳定区:(-π+θse)<θ<(π+θse) a点与OA点之间的夹角θr称为稳定裕度(或裕量角)。裕量
角越大,电动机运行越稳定。
r se
2 Z r (mC 2) mZ r C mC
由上式可见,C=1时,反应式步进电动机的相数最少为3。 电动机的相数越多,步距角越小,相应的稳定裕度越大,运
下面以反应式步进电机为例说明步进电机的结构 和工作原理。
一、步进电机简介及结构
步进电动机主要由两部分构成:定子和转子。它们均 由磁性材料构成,其上分别有六个、四个磁极 。
定子绕组
定子
转子
一、步进电机简介及结构
A IA
定子 转子
定子的六个磁 极上有控制绕组, 两个相对的磁极组 成一相。
注意:
这里的相和三 相交流电中的“相” 的概念不同。步进 电动机通的是直流 IB B 电脉冲,这主要是 指线圈的联接和组 数的区别。
冲的最高频率,它是步进电动机的一项重要技术指标。它的大小与电机本 身的参数、负载转矩、转动惯量及电源条件等因素有关,它是衡量步进电
动机快速性的重要技术指标。
1)按能起动的最短脉冲间隔时间tf便可决定电动机的起动频率fst,则 fst=1/tf
2)起动频率fst的大小与电动机的步距角θS有关。
3)电动机的最大静转矩Tsm越大,作用于电动机转子上的电磁转矩也越大, 使加速度越大,转子达到动稳定区所需时间也就越短,起动频率fst越高。
二、步进电机工作方式
三相单双六拍
三相绕组的通电顺序为: AABBBCCCAA 共六拍。 工作过程:
A
B' 4 1 2 3 A'
步进电机的开环控制和闭环控制

步进电机的开环控制和闭环控制一、步进电机的开环掌握1、步进电机开环伺服系统的一般构成图1 步进电机开环伺服系统步进电动机的电枢通断电次数和各相通电挨次打算了输出角位移和运动方向,掌握脉冲安排频率可实现步进电动机的速度掌握。
因此,步进电机掌握系统一般采纳开环掌握方式。
图为开环步进电动机掌握系统框图,系统主要由掌握器、功率放大器、步进电动机等组成。
2、步进电机的掌握器1、步进电机的硬件掌握步进电动机在—个脉冲的作用下,转过一个相应的步距角,因而只要掌握肯定的脉冲数,即可精确掌握步进电动机转过的相应的角度。
但步进电动机的各绕组必需按肯定的挨次通电才能正确工作,这种使电动机绕组的通断电挨次按输入脉冲的掌握而循环变化的过程称为环形脉冲安排。
实现环形安排的方法有两种。
一种是计算机软件安排,采纳查表或计算的方法使计算机的三个输出引脚依次输出满意速度和方向要求的环形安排脉冲信号。
这种方法能充分利用计算机软件资源,以削减硬件成本,尤其是多相电动机的脉冲安排更显示出它的优点。
但由于软件运行会占用计算机的运行时间,因而会使插补运算的总时间增加,从而影响步进电动机的运行速度。
另一种是硬件环形安排,采纳数字电路搭建或专用的环形安排器件将连续的脉冲信号经电路处理后输出环形脉冲。
采纳数字电路搭建的环形安排器通常由分立元件(如触发器、规律门等)构成,特点是体积大、成本高、牢靠性差。
2、步进电机的微机掌握:目前,伺服系统的数字掌握大都是采纳硬件与软件相结合的掌握方式,其中软件掌握方式一般是利用微机实现的。
这是由于基于微机实现的数字伺服掌握器与模拟伺服掌握器相比,具有下列优点:(1)能明显地降低掌握器硬件成本。
速度更快、功能更新的新一代微处理机不断涌现,硬件费用会变得很廉价。
体积小、重量轻、耗能少是它们的共同优点。
(2)可显著改善掌握的牢靠性。
集成电路和大规模集成电路的平均无故障时(MTBF)大大长于分立元件电子电路。
(3)数字电路温度漂移小,也不存在参数的影响,稳定性好。
第3章步进电动机的控制

升速 恒速 减速 低速
起点
终点
(时间) t
图3-24
点、位控制中的加减速控制
15
变速控制的方法有:
改变控制方式的变速控制:最简单的变速控制可利用改变步进电 机的控制方式实现。例如:对于三相步进电机系统,启动或停止时 用三相六拍,大约0.1s以后,改用三相三拍,快到达终点时再采用 三相六拍,以达到减速控制的目的。 均匀地改变脉冲时间间隔的变速控制:步进电机的加速(或减速) 控制,可以用均匀地改变脉冲时间间隔来实现。 采用定时器的变速控制:单片机控制系统中,用单片机内部的定 时器来提供延时时间。方法是将定时器初始化后,每隔一定的时间, 由定时器向CPU申请一次中断,CPU响应中断后,便发出一次控制脉 冲。此时只要均匀地改变定时器时间常数,即可达到均匀加速(或 减速)的目的。这种方法可以提高控制系统的效率。
脉冲 方向控制
步进控制器
功率放大器
步进电机
负载
图3-19 步进电机控制系统的组成
2
随着电子技术的发展,除功率驱动电路之外,其它硬件电路均可由软 件实现。采用计算机控制系统,由软件代替步进控制器,不仅简化了 线路,降低了成本而且可靠性也大为提高,同时,根据系统的需要可 灵活改变步进电机的控制方案,使用起来很方便。典型的微型机控制 步进电机系统原理图如图3-20所示。 使用微型机对步进电机进行控制有串行和并行两种方式。 步 进 电 机
6
二、步进电动机的闭环控制
在开环步进电动机系统中,电动机的输出转矩在很大程度上取决于驱 动电源和控制方式。对于不同的步进电动机或同一种步进电动机而不 同负载,励磁电流和失调角发生改变,输出转矩都会随之发生改变, 很难找到通用的控速规律,因此,也很难提高步进电机的技术指标。 闭环系统是直接或间接地检测转子的位置和速度,然后通过反馈和适 当处理自动给出驱动脉冲串。因此采用闭环控制可以获得更精确的位 置控制和更高、更平稳的转速,从而提高步进电动机的性能指标。 步进电动机的输出转矩是励磁电流和失调角的函数。为了获得较高的 输出转矩,必须考虑到电流的变化和失调角的大小,这对于开环控制 来说是很难实现的。
如何控制步进电机速度(即如何计算脉冲频率)

如何控制步进电机速度(即如何计算脉冲频率)步进电机是一种常用的控制器件,它通过接收脉冲信号来进行精确的位置控制。
控制步进电机的速度就是控制脉冲的频率,也就是发送给电机的脉冲数目和时间的关系。
下面将介绍几种常见的方法来控制步进电机的速度。
1.简单定频控制方法:这种方法通过固定每秒脉冲数(也称为频率)来控制步进电机的速度。
通常,在开发步进电机控制系统时,我们会选择一个合适的频率,然后通过改变脉冲的间隔时间来调整步进电机的速度。
脉冲频率可以通过以下公式计算:频率=目标速度(转/秒)×每转需要的脉冲数。
2.脉冲宽度调制(PWM)控制方法:使用PWM调制技术可以在不改变脉冲频率的情况下改变脉冲的时间宽度,从而控制步进电机的速度。
通过改变每个脉冲的高电平时间和低电平时间的比例,可以实现步进电机的速度控制。
较长的高电平时间会导致步进电机转动较快,而较短的高电平时间会导致步进电机转动较慢。
3.脉冲加速与减速控制方法:步进电机的加速和减速是通过改变脉冲信号的频率和间隔时间来实现的。
在加速时,脉冲的频率逐渐增加,间隔时间逐渐减小,从而使步进电机从静止状态加速到目标速度。
在减速时,脉冲的频率逐渐减小,间隔时间逐渐增加,从而使步进电机从目标速度减速到静止状态。
在实际应用中,可以通过编程控制脉冲信号的频率来控制步进电机的速度。
根据不同的需求,可以选择适合的控制方法来实现步进电机的精准控制。
除了控制脉冲频率,步进电机的速度还受到其他因素的影响,如驱动器的最大输出速度、电机的最大速度等。
因此,在进行步进电机速度控制时,还需要考虑这些因素,并做好相应的调整以确保步进电机的正常运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《RC正弦波振荡电路》课程设计说明书专业班级:2012级电子信息科学与技术2班姓名:指导教师:江郑云设计时间: 2014、11、26——2014、11、10物理与电气工程学院2014年11 月10 日摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期的误差而无累计误差等特点。
使得在速度、位置等控制领域用步进电机来控制变得非常简单。
步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速。
因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲就到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变步进电机的转速,从而实现步进电机的调速。
在本设计方案中采用AT89C52型单片机内部的定时器改变CP脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。
关键词:步进电机单片机小系统数码管发光二极管目录一、引言 (1)1.1 设计背景 (1)1.2 设计要求 (2)二、硬件电路的设计 (2)2.1 系统总电路框图 (2)2.2 电路单元 (2)2.2.1 STC89C52小系统 (2)2.2.2 ULN2003驱动芯片 (3)2.2.3 步进电机 (4)2.3原理图 (5)2.3.1 最小系统原理图 (6)2.3.2键盘模块原理图 (6)2.3.3八位数码管显示原理图 (7)2.3.4 电机驱动模块原理图 (7)三、软件系统 (8)3.1 系统流程图 (8)3.2 主程序 (9)四、参考资料 (11)一、引言1.1设计背景一、步进电动机是将电信号转换成相应角位移或线位移的电动机,它的运用需要专门的驱动电源,驱动电源的输出受外部的脉冲信号控制。
每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为距角。
脉冲的数量决定了旋转的总角度,脉冲的频率决定了电机旋转的速度,改变绕阻的通电顺序可以改变电机旋转的方向。
在数字控制系统中,它既可以用作驱动电机,也可用作伺服电机。
它在工业过程中得到广泛的应用,尤其在智能仪表和需要精确定位的场合应用更为广泛。
二、步进电机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。
每旋转一圈以200个励磁信号来计算,则每个励磁信号前进1.8度,其旋转角度与脉冲成正比,正、反转可有脉冲顺序来控制。
三、步进电动机的励磁方式可以分为全部励磁及半步励磁,其中全部励磁又有1相励磁及2相励磁之分,而半步励磁又分为1-2相励磁。
下图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,及每控制步进电机的转动。
每输出一个脉冲信号,步进电机只走一步。
因此,依序不断送出脉冲信号,步进电动机即可连续转动。
四、28BYJ-48是最普通的减速步进电动机,最大转速是14圈/分钟。
该电机要是节拍太快的话,就不动了,而且还有一点异响。
这个型号的电机最适合用于学习,真正现实中用处不大,无论是转速、扭曲都不太理想,唯一的优点就是价格便宜。
28BYJ-48步进电机是四相八拍电动机,电压为DC5V~DC12V。
当对步进电机按一定顺序施加一系列连续不断的控制脉冲时,它可以连续不断的转动。
每一个脉冲信号使得步进电机的某一相或两相绕阻的通电状态改变一次,也就是对应转子转过一定的角度。
当通电状态的改变完成一个循环时,转子转过一个齿距。
四相步进电机可以在不同的通电状态下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕阻通电)四拍(AB-BC-CD-DA-AB),四相八拍(A-AB-B-BC-C-CD-D-DA-A)。
1.2 设计要求本设计为步进电机单片机控制系统,其功能如下:(1)控制电机的启动、停止;(2)具有对步进电机的正反转、加减速控制;(3)控制按钮分别为正转、反转、加速、减速键;(4)通过LED灯显示转动方向;(5)能够通过八位LED数码管显示当前的转动速度。
本设计的要求:(1)独立设计原理图及硬件电路(2)独立编写和调试相应的程序(3)制作出相应功能的完整电路板(4)掌握单片机和步进电机的原理及相应电路的设计(5)熟悉KEIL、STC下载等软件的使用方法(6)熟悉模块化设计的思想(7)设计说明书按照格式规范,结构层次合理,设计重点突出,并附上原理图和设计流程图。
二、硬件电路设计2.1系统总电路框图2.2 电路单元2.2.1 STC89C52RC小系统本设计的MCU是STC89C52RC单片机,此单片机的驱动能力强,程序存储器和RAM 都比较大,而且成本不高,能满足本设计的要求,其外型如图所示。
单片机小系统板本设计单片机最小系统采用单片机的型号为STC89C52,结构包括CPU、存储器、并行接口、两个定时/计数器T0和T1、两个外部中断INT0和INT1和中断系统,外接晶振频率为11.0592MHZ 。
如图2.2.2 ULN2003驱动芯片本设计使用的是生活中被广泛使用的电机驱动芯片ULN2003APG ,其内部结构及外形如图4所示。
步进电机驱动芯片功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。
功率驱动电路是功率电子设备输出电路的一个重要组成成分。
在大型仪器仪表系统中,经常要用到伺机电机、步进电机、各种电磁阀、泵等驱动电压高且功率较大的器件。
ULN2000、ULN2800高压大电流达林顿晶体管阵列系列产品就属于这类可控大功率器件,由于这类器件功能强、应用范围域广,深受用户的欢迎。
本设计采用ULN2003作为步进电机的驱动芯片,ULN2003电路具有以下特点:电流增益高(大于1000)带负载能力强(输出电流大于500mA)温度范围宽(-40℃—85℃)工作电压高(大于50V)ULN2003 是由高电压达林顿晶体管阵列组成,因此一对输入输出最小单元其内部结构如下图2.2.3步进电机本设计使用步进电机28BYJ-48型四相五线电机,电压为DC5V。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。
当通电状态的改变完成一个循环时,转子转过一个齿距。
四相步进电机可以在不同的通电方式下运行,常见的通电方式有单四拍(单相绕组通电A-B-C-D-A),双四拍(双相绕组通电AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。
表1为单四拍驱动方式。
步进电机实物图步进电机控制原理步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度。
步进电机可分为反应式步进电机、永磁式步进电机和混合式步进电机。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定,图2-1为电机内部原理图。
图2-1 四相步进电机内部原理图A→B→C→D为四拍(1)控制换相顺序:通电换相这一过程称为脉冲分配。
例如:四相步进电机的单四拍工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。
(2)控制步进电机的转向:如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。
(3)控制步进电机的速度:如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
调整单片机发出的脉冲频率,就可以对步进电机进行调速。
2.3原理图2.3.1 最小系统原理图2.3.2键盘模块原理图2.3.3八位数码管显示模块原理图2.3.3八位数码管显示原理图2.3.3八位数码管显示原理图2.3.3八位数码管原理图2.3.4 电机驱动模块原理图三、软件程序3.2主程序ORG 0000HLJMP STARTORG 0003H ; 外部中断0入口地址LJMP Speed_UpORG 0013H ; 外部中断1入口地址LJMP Speed_DownORG 0100HSpeed EQU 20H ;速度给初值NUM EQU 21HMOV Speed,#200MOV NUM,#1START:SETB EA ; 打开中断总允许位SETB EX0SETB EX1SETB IT0SETB IT1MOV P3,#0FFHJB P3.7,$ ;起始键是否按下;正转程序ZZ:LCALL DISPLAYMOV R7,#4MOV P1,#0F8HMOV A,#01HMOV P3,#0FFHL1:MOV P2,ALCALL DELAYRL ADJNZ R7,L1JNB P3.1 ,FZ;判断反转键是否按下JNB P3.6,LL ;判断停止键是否按下LJMP ZZ;反转程序FZ:LCALL DISPLAYMOV R7,#4MOV P1,#8FHMOV A,#08HMOV P3,#0FFHL2:MOV P2,ALCALL DELAYRR ADJNZ R7,L2JNB P3.0,ZZ ;判断正转键是否按下JNB P3.6,LL ;判断停止键是否按下LJMP FZLL:SETB P3.7;加速程序Speed_Up:MOV 20H,#200MOV A,SpeedSUBB A,#20MOV Speed,AINC NUMRETI;减速程序Speed_Down:MOV 20H,#200MOV A,SpeedADD A,#20MOV Speed,ADEC NUMRETI;延时程序DELAY:MOV R6,#SpeedDD:MOV R5,#50DJNZ R5,$DJNZ R6,DDRETDISPLAY:PUSH ACC ;显示子程序CLR P2.7MOV A,NUMMOV DPTR ,#TABMOVC A,@A+DPTRMOV P0,APOP ACCRETTAB:DB 0F9H,0A4H,0B0H,99H,92H,82H ,0F8H,80H END四、参考文献⑴李全利、单片机原理与接口技术,高等教育出版社2009⑵余孟尝、数字电子技术基础,高等教育出版社2006⑶杨素行、模拟电子技术,高等教育出版社2006⑷杨忠杰、步进电机应用基础,机械工业出版社1998⑸王晓明、电动机的单片机控制,北京航天大学出版社2007。