您好!欢迎进入无锡惠斯通电机科技有限公司官网 !

    联系我们
    服务热线
    13901635301
    联系人:赵先生
    手机:13901635301
    电话:0523-83765066
    地址:江苏省兴化市张郭镇刘西工业园区民营路168号
    P35 接换向开关 K2 MOV FX两
    浏览:31 发布日期:2021-01-28 17:25:53

      步进电机正反转_电子/电路_工程科技_专业资料。步进电机控制设计 摘要 步进电机是一种将电脉冲转化为角位移的执行机构。 当步进驱动器接收到一 个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距 角”),它的旋转是以固定的角度一步

      步进电机控制设计 摘要 步进电机是一种将电脉冲转化为角位移的执行机构。 当步进驱动器接收到一 个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距 角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制 角位移量, 从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转 动的速度和加速度,从而达到调速的目的。结合对步进电机的了解,然后对步进 电机的控制原理包括步进电机的控制方式和驱动方式作了系统的说明,采用 8051 单片机来控制步进电机,并给出了步进电机的双相三拍控制单片机控制和三相六 拍的单片机控制的具体实现方法,用汇编程序进行控制运行。控制系统通过单片 机存储器、I/O 接口、中断、键盘、LED 显示器的扩展、步进电机的环形分频器、 驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设 计,实现了四相步进电机的正反转,急停等功能。 电机的控制系统由 AT80C51 单片机控制,具有抗干扰能力强,可靠性高而 且系统扩展容易等优势。 本次课程设计中着重于通过控制脉冲数来控制位移,实 现准确定位。 基于步进电机本身的优越性和应用的广泛性,这正是用单片机控制 步进电机课程设计的实际意义。 关键字:步进电机 ,角位移,单片机 ,脉冲 目 录 1 课题描述.................................................................................................................... 1 2 总体实现原理............................................................................................................. 1 3 步进电机原理及硬件设计........................................................................................ 2 3.1 单片机电路...................................................................................................... 2 3.1.1 AT89C51 单片机的组成结构 ................................................................ 2 3.1.2 AT89C51 单片机的引脚及功能 ............................................................ 4 3.2 步进电机........................................................................................................... 6 3.2.1 步进电机的工作原理............................................................................ 6 3.2.2 控制原理................................................................................................. 7 3.2.3 步进电机的驱动方式............................................................................. 8 3.2.4 小系统................................................................................................. 9 3.3 输入显示部分................................................................................................. 10 3.4 电源................................................................................................................ 10 4 软件程序设计.......................................................................................................... 11 4.1 主程序的设计................................................................................................ 11 4.2 定时中断设计................................................................................................ 12 4.3 外部中断设计................................................................................................ 13 4.4 系统软件程序................................................................................................. 14 总结.............................................................................................................................. 19 致谢.............................................................................................................................. 20 参考文献...................................................................................................................... 21 页 1 课题描述 传统的步进电机控制方法是由触发器产生控制脉冲来进行的,此种方法工 作方式单一且难于实现人机交互,当步进电机的参数发生变化是,需要重新进行 控制器的设计。 而且由传统的触发器构成的控制系统具有控制电路复杂、控制精 度低、生产成本高等缺点。由单片机控制的步进电机克服了以上缺点。它具有很 高的精度,一般用在定位方面。 步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件, 具 有快速起动和停止的特点。 其驱动速度和指令脉冲能严格同步,具有较高的重复 定位精度, 并能实现正反转和平滑速度调节。它的运行速度和步距不受电源电压 的波动及负载的影响,因而被广泛应用于数模转换、速度控制和位置控制系统。 步进电动机以其显著的特点, 在数字化制造时代发挥着重大的用途。常见的步进 电机分三种:永磁式(PM)、反应式(VR)、混合式(HB),永磁式步进一般分为两 相,转矩和体积较小,步进角一般为 7.5 度或 15 度;反应式步进一般为三相, 可实现大转矩输出,步进角一般为 1.5 度,但噪声和振动都很大。在欧美等发达 国家早已被淘汰; 混合式步进是指混合了永磁式和反应式的优点。它又分为两相 和五相: 两相步进角一般为 1.8 度而五相步进角一般为 0.72 度,这种步进机应用 为广泛。 目前使用单片机控制,单片机为微控制器的下位机和以计算机为上位 机的步进电机控制系统,用软件代替步进控制器,使得线路简单,成本低,可靠性大 大增加,灵活改变步进电机的控制方案,无需逻辑电路组成时序发生器,软件编程 可灵活产生步进电机励磁序列来控制步进电机的运行方式。 用此方式设计步进电 机控制系统顺应了目前国内外控制系统微机化发展的趋势, 充分利用了单片机的 优点, 使得通用性得到了提高。 伴随不同的数字化技术的发展以及步进电机本身 技术的提高,步进电机将会在更多的领域得到应用。 第2页 2 总体实现原理 步进电机的系统总体框图如图 1, 在系统中采用 AT89C51 单片机产生 A、 B、 C、D 四相信号(更具实际需要,可以扩充更多相信好)。当采用单片机控制时, 需要在单片机和步进电机之间设置隔离电路以使强弱分开。 由于步进电机的驱动 电流相对较大, 可增设放大电路来提供步进电机的工作电流。系统电路由 5 部分 组成,即:输入显示部分;AT89C51 单片机;直流电压和步进电机。 显示部分 直流电源 键盘输入模 块 AT89C51 单 片机 图1 系统总体框图 步进电机 3 步进电机原理及硬件设计 3.1 单片机电路 本系统采用 A89C51 单片机产生控制信号单片机内部的内存即可满足要求。 如需要扩展较多的外部 RAM 和 ROM 可加上数据缓冲器。步进电机控制信号通 过 AT89C51 单片机其中一个口进行扩充。为了增加步进电机工作的灵活性,在 启动步进电机工作之后,当有键按下,设置产生外部中断,达到灵活控制电机的 目的。下面介绍一下 AT89C51 单片机。 3.1.1 AT89C51 单片机的组成结构 AT89C51 单片机内部硬件结构框图如图 2 所示。它由一个 8 位中央处理器 (CPU)、一个 256B 片内 RAM 及 4KBFlashROM、21 个特殊功能寄存器、4 个 第3页 8 为并行 I/O 口以及中断系统等部分组成,各功能部件通过片内单一总线连成一 个整体,集成在一块芯片上。 (1) CPU CPU 是单片机的核心部分,CPU 包括两个基本部分:运算器和控制器。 ①运算器 运算器即算术逻辑单元 ALU,是进行算术或逻辑运算的部件。可实现算术运 算和逻辑运算。操作的结果一般送回累加器 ACC,而其状态信息送至程序状态 寄存器 PSW。 ②控制器 控制器是用来控制计算机工作的部件。控制器接收来自存储器的指令,使各 部件协调工作,完成指令所规定的操作。 时钟源 外部事件 时序和振荡电 路 程序存储器 ROM 数据存储器 RAM 2 个16 位定时 / 计数器 CPU 内部 8 位数据总线 中断系统 内 部 中 断 并行 I/O 口 串行 I/O 口 外部中断 P0 P1 P2 P3 RXD TXD 图2 AT89C51 单片机内部结构示意图 (2)内部存储器 ①内部数据存储器 AT89C51 芯片内共有 256B(地址为 00H-FFH)的数据存储器,其中高 128B (地址为:80H-FFH)被专用寄存器占用,能作为寄存器供用户使用的只是低 128B(地址为:00H-7FH),用于存放可读写的数据,如程序执行过程中的变量。 ②内部程序存储器 第4页 AT89C51 共有(地址为:0000H-0FFFH)的 flash 程序存储器,用于存放程 序、原始数据或表格常数。 (3)定时/计数器 AT89C51 共有两个 16 位的定时/计数器都可以设置成计数方式,用于对 外部事件进行计数; 也可设置成定时方式,并可以根据计数或定时的结果实现对 单片机运行的控制。 (4)并行 I/O 口 用于进行单片机内外的传输,4 个 8 位的 I/O 口(P0、P1、P2、P3)。每 个 8 位的口,既可用作输入口,也可用作输出口,每个口即可以 8 位同步读写, 又可对每一位进行单独的操作。标准 I/O 口的主要功能相当于一个 8 位锁存器, 能存储一个字节的二进制数据, 以保持与之相连接的 8 条口线各自电位的高低状 态。 3.1.2 AT89C51 单片机的引脚及功能 AT89C51 共有 40 个引脚,下面介绍一下它们的主要功能。 (1)P0 口 P0 口某一位的结构图如图 3 所示,一个输出锁存器、两个三态缓冲器、一 地址/数据 读锁存器 1 内部总线 写锁存器 读引脚 Q 锁存器 Q CP D 2 1 P0.X引脚 控制信号C VCC T1 & MUX T2 图3 P0 口的结构示意图 个转换开关 MUX、一个输出驱动电路(T1 和 T2)和一个与门及一个非门 组成。 (2)P1,P2,P3 口 P1 口是的单功能口,位结构图如图 4 所示,仅能作为通用 I/O 口使 用,P1 口是 8 位准双向口,作通用输入/输出口使用, Pl 口有别于 P0 口,它 接有内部上拉电阻。P1 口的每以一位可以独立地定义为输人或者输出,因此, 第5页 P1 口既可作为 8 位并行输入/输出口,又可作为 8 位输入/输出端。CPU 既可 以对 P1 口进行字节操作,又可以进行位操作。当作输入方式时,该位的锁存器 必须顶写 1。 P2 口是 8 位准双向输入/输出接口,当外接程序存储据时,P2 口给出地址 的高 8 位,此时不能用作通用,I/O 口。当外按数据存储器时,若 RAM 小于 256KB,用 R0、R1 作间址寄存器,只需要 P0 口送出地址低 8 位,P2 口可以用 VCC 读锁存器 1 内部总线 写锁存器 读引脚 Q 锁存器 Q CP D 2 P1.X引脚 T 图4 P1 口的位结构图 作通用 I/O ;若 RAM 大于 256KB,必须用 16 位寄存器 DPTR 作间址寄 存器.则 P2 口只能在一定限度内作一股 I/O 口使用。 P3 口是多功能口,同 P0 口一样,当做输入口时,必须先向锁存器写“1”, 使场效应管 T 截止。 (3)主电源引脚 GND 和 Vcc GND(20):接地;Vcc(40):正常操作时接十 5V 电源 (4)外接晶体引脚 XTAL1 和 XTAL2 当外接晶体振荡器时,XTAL1 和 XTAL2 分别接在外接晶体两端,当采用外 部时钟方式时,XTAL1 接地,XTAL2 接外来振荡信号。 (5)控制引脚 RST/Vpp(9): 当振荡器正常运行时,在此引脚上出现二个机器周期以上的高 电平使单片机复位。Vcc 掉电期间,此引脚可接用电源,以保持内部 RAM 的 数据。当 Vcc 下降掉到低于规定的水平,而 VPD 在其规定的电压范围内,VPD 就向内部 RAM 提供用电源。 ALE(30):当访问外部存储器时,由单片机的 P2 口送出地址的高 8 位,P0 口送出地址的低 8 位,数据也是通过 P0 口传送。作为 P0 口某时选出的信息到 底是低 8 位地址还是传送的数据, 需要有一信号同步地进行分别。 当 ALE 信号(允 第6页 许地址锁存)为高电平(有效).P0 口送出低 8 位地址,通过 ALE 信号锁存低 8 位 地址。 PSEN(29):程序存储器读选通信号,低电平有效。 EA/Vpp(31): 当 EA 保持高电平时, 访问内部程序存储器(4K8), 但当 PC(程 序计数器)值超过 OFFFH 时,将自动转向执行外部程序存储器内的程序当 EA 保 持低电平时,则只访问外部程序存储器(从 0000H 地址开始),不管单片机内部是 否有程序存储器。 3.2 步进电机 3.2.1 步进电机的工作原理 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。 它将脉冲 信号转变成角位移,在非超载的情况下,电机的转速、停止的位置只取决于脉冲 信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机 则转过一个步距角。步进电机的驱动电路根据控制信号工作,控制信号由单片机 产生。 设计中采用了 20BY-0 型步进电机,该电机为四相步进电机,采用单极性 直流电源供电。 只要对步进电机的各相绕组按合适的时序通电,就能使步进电机 转动。当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时, 如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻 小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐。 其中 步进电机的静态指标及术语如下。 (1) 相数:产生不同队 N、S 磁场的激磁线圈对数,常用 m 表示。 (2)拍数:完成一个磁场周期性变化所需脉冲用 n 表示,或指电机转过一 个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即 AB→BC→CD →DA→AB,四相八拍运行方式即 A→AB→B→BC→C→CD→D→DA→A。 (3)步距角:对应一个脉冲信号,电机转子转过的角位移用θ 表示。 (4)定位转矩:电机在不通电的状态下,电机转子自身的锁定力矩(由磁 场齿的谐波以及机械误差造成的 )。 第7页 (5)静转矩:电机在额定静态作业下,电机不做旋转运动时,电机转轴的 锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。虽然 静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。 3.2.2 控制原理 根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制 和减速控制按钮,分别是 K1、K2、S2、S3,控制电路如图 5 所示。通过 K1、 K2 状态变化来实现电机的启动和换向功能。当 K1、K2 的状态变化时,内部 程序检测 P1.0 和 P1.1 的状态来调用相应的启动和换向程序,发现系统的电机 的启动和正反转控制。 图 5 控制电路原理图 根据步进电机的工作原理可以知道, 步进电机转速的控制主要是通过控制通 入电机的脉冲频率,从而控制电机的转速。对于单片机而言,主要的方法有:软 件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现 的,该电路控制电机加速度主要是通过 S2、S3 的断开和闭合,从而控制外部中 断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数), 这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。 第8页 3.2.3 步进电机的驱动方式 步进电机常用的驱动方式是全电压驱动,即在电机移步与锁步时都加载额定 电压。 为了防止电机过流及改善驱动特性, 需加限流电阻。 由于步进电机锁步时, 限流电阻要消耗掉大量的功率, 故限流电阻要有较大的功率容量,并且开关管也 要有较高的负载能力。 图6 步进电机驱动电路 通过 ULN2803 构成比较多的驱动电路,电路图如图6所示。通过单片机的 P1.0-P1.3 输出脉冲到ULN2803 的 1B-4B口,经信号放大后从 1C-4C 口分别 输出到电机的A、B、C、D相。 步进电机的另一种驱动方式是高低压驱动,即在电机移步时,加额定或超过 额定值的电压,以便在较大的电流驱动下,使电机快速移步;而在锁步时,则加 低于额定值的电压,只让电机绕组流过锁步所需的电流值。这样,既可以减少限 流电阻的功率消耗, 又可以提高电机的运行速度,但这种驱动方式的电路要复杂 一些。驱动脉冲的分配可以使用硬件方法,即用脉冲分配器实现。 第9页 3.2.4 小系统 单片机小系统或者称为小应用系统, 即用少的元件组成的单片机可 以工作的系统,对单片机来说,小系统一般应该包括:单片机、复位电路、晶 振电路。 复位电路:使用了独立式键盘,单片机的 P1 口键盘的接口。该设计要求只 需 4 个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,使用了 6 路独立式键盘。复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开 关, 使单片机进入复位状态, 晶振电路用 30PF 的电容和一 12M 晶体振荡器组 成为整个电路提供时钟频率。如图 7 所示。 图7 复位及时钟振荡电路 晶振电路:89C51 单片机的时钟信号通常用两种电路形式电路得到:内部 震荡方式和外部中断方式。在引脚 XTAL1 和 XTAL2 外部接晶振电路器(简 称晶振)或陶瓷晶振器,就构成了内部晶振方式。由于单片机内部有一个高增益 反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振 荡方式的外部电路如图 7 所示。其电容值一般在 5-30pf,晶振频率的典型值为 12MHz,采用 6MHz 的情况也比较多。内部振荡方式所得的时钟信号比较稳定, 实用电路实用较多。 第 10 页 3.3 输入显示部分 本系统是基于提高智能机灵活性而设计的,对于步进电机的频率、步数、 位置和停止等通过键盘输入相应指令, 由单片机输出步进电机控制信号来实现控 制,用数码管显示输入的参数并在工作时动态显示剩下的步数。 显然, 要显示一个字型就应该使此字型的相应发光二极管点亮, 实际上就是送一个不同 电平的组合代表的数据到数码管。在该步进电机的控制器中,电机可以正反转,可以加速、 减速,其中电机转速的等级分为七级,为了方便知道电机的运行状态和电机的转速的等级, 这里设计了电机转速和电机的工作状态的显示电路。 在显示电路中, 主要是利用了单片机的 P0 口和 P2 口。采用两个共阳数码管作显示。显示电路如图 8 所示。 图 8 显示电路 个数码管接的 a、b、c、d、e、f、g、h 分别接 P0.0~P0.7 口,用于显 示电机正反转状态,正转时显示“1” ,反转时显示“一” ,不转时显示“0” 。 第二个数码管的 a、b、c、d、e、f、g、h 分别接 P2.0~P2.7 口,用于显示电机 的转速级别,共七级,即从 1~7 转速依次递增, “0”表示转速为零。 3.4 电源 系统中包含弱电和强电两部分,需要提供两种电源电压。这里采用集成稳压 器 CW7805 和输出电压可变的 LM317 来分别提供 5V 和 1.25V-37V 电压, 两电压不 共地。其中一路给单片机供电,另一路给步进电机供电。 第 11 页 将各部分合在一起总体电路如图 9 所示 图9 总体电路 4 软件程序设计 在步进电机系统中, 相应的控制信号由单片机来产生,根据需要通过键盘输入 电机的转动方向、 转动速率和转动步数,在工作使用数码管来动态显示剩下的步 数。所以,软件部分由 4 大模块组成: 主程序部分、定时器中断部分、外部中 断 0 和外部中断 1 部分,其中主程序的主要功能是系统初始参数的设置及启动 开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分 控制脉冲频率, 它决定了步进电机转速的快慢;两个外部中断程序要做的工作都 是为了完成改变速度这一功能。 下面分析主程序与定时器中断程序及外部中断程 序。 4.1 主程序的设计 主程序中要完成的工作主要有系统初始值的设置、 系统状态的显示以及各种 开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初 第 12 页 始化定时器、外部中断;对 P1 口送初值以决定脉冲分式,速度值存储区送 初值决定步进电机的启动速度, 对方向值存储区送初值决定步进电机旋转方向等 内容。若初始化 P1=11H、速度和方向初始值均设为 0,就意味着步进电机按相 单四拍运行, 系统上电后在没有操作的情况下, 步进电机不旋转, 方向值显示 “0” , 速度值显示“0”,主程序流程图如图 10 所示 开始 主程序初始化 判断开始键按下 判断反转 判断正转 跳转执行反转程序 跳转执行正转程序 判读执行完毕 判读执行完毕 显示结束提示信息 结束 图 10 主程序流程图 4.2 定时中断设计 步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律 通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这 个时间间隔是用定时器重复中断一定次数产生的, 即调节时间间隔就是调节定时 器的中断次数, 因而在定时器中断程序中,要做的工作主要是判断电机的运行方 向发下一个脉冲,以及保存当前的各种状态。程序流程图如图 11 所示。 第 13 页 TO 中断入口 保护现场 N 中断次数 -1=0 ? Y 读方向指示 发速度脉冲 重送相关状态 恢复现场 中断返回 图 11 定时中断程序流程 4.3 外部中断设计 外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该 数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改 变了电机的转速。速度增加按钮 S2 为 INT0 中断,其程序流程为原数据,当 值等于 7 时,不改变原数值返回,小于 7 时,数据加 1 后返回;速度减少按 钮 S3,当原数据不为 0,减 1 保存数据,原数据为 0 则保持不变。程序流程 图如图 12 所示。 第 14 页 外部中断入口 保护中断 延时去抖 Y 速度 ? = 上或限制 N 速度值 1 按键是否弹起 Y 恢复现场 N 中断返回 图 12 外部中断程序流程图 4.4 系统软件程序 SPEED EQU 10H FX EQU 11H 数标志 ORG 0000H AJMP MAIN ORG 0003H ;外部中断 0 入口地址,加速子程序 AJMP UP ORG 0013H ;外部中断 1 入口地址,减速子程序 AJMP DOWN ORG 000BH ;定时器 0 中断入口地址,控制中断次数来达到控制转速 AJMP ZDT0 ;SPEED 为转速等级标志,共 7 级,即 1-7 ;FX 为方向标志 COUNT EQU 12H ;COUNT 中断次 第 15 页 ORG 0030H MAIN: MOV SP,#60H MOV TMOD,#01H ;工作于定时、软件置位启动!模式 1(16 位计时器) MOV TH0,#0CFH MOV TL0,#2CH MOV COUNT,#01H SETB ET0 ;定时/计数器允许中断 CLR IT0 ;外部中断为电平触发方式,低电平有效 CLR IT1 SETB EX0 ;外部允许中断 SETB EX1 SETB EA ;开总中断 MOV R1,#11H ; MOV SPEED,#00H MOV FX,#00H XIANS: MOV A,SPEED MOV DPTR,#LED MOVC A,@A+DPTR MOV P2,A MOV A,FX CJNE A,#11H,ELS MOV P0, #0F9H AJMP QD ELS: CJNE A,#00H,ZHENG MOV P0,#0C0H AJMP QD ZHENG: MOV P0,#0BFH ;个数码管显示-,表示反转 ;个数码管显示 0,表示不转 ;个数码管显示 1,表示正转 ;查表获取等级对应数码管代码 四相单四拍运行,共阳数码管方向显示 8,速度值显示 0 ;第二个数码管显示转速等级 ;准判断转向 QD: JB P3.4,DD ;P3.4 接启动开关 K1,P3.4=1 时启动 CLR TR0 ;停止定时/计数器 MOV P2,#0C0H ;第二个数 MOV P0,#0C0H ;个数码管显示 0,表示不转 码管显示 0,表示转速为 0 第 16 页 MOV SPEED,#00H ;重新赋初值 MOV FX,#00H AJMP QD DD: MOV A,SPEED JNZ GO CLR TR0 AJMP QD GO: SETB TR0 ACALL DELAY AJMP XIANS DELAY: MOV R6,#10 DEL1: MOV R7,#250 HERE1: DJNZ R7, HERE1 DJNZ R6,DEL1 RET ;以下 ZDT0 为定时器中断程序 ZDT0: PUSH ACC PUSH DPH PUSH DPL MOV TH0,#0D8H MOV TL0,#0F0H DJNZ COUNT,EXIT JB P3.5,NIZHUAN ;查询方向标志,P3.5 接换向开关 K2 MOV FX,#11H NIZHUAN:MOV A,FX CJNE A,#11H,FZ ;若 A 不等于 11,即正转,则转移到 FZ MOV A,R1 MOV P1,A RR A MOV R1,A MOV P1,A AJMP RE ;循环右一位 ;R1 记录上一次电机脉冲状态 ;延时子程序 ;开启定时/计数器 ;A 不等于 0,即初始速度不为零,则转移到 GO ;停止定时/计数器 第 17 页 FZ: MOV A,R1 MOV P1,A RL A MOV P1,A MOV R1,A RE: MOV A,SPEED MOV DPTR,#TAB MOVC A,@A+DPTR MOV COUNT,A JB P3.5 ,FFX MOV FX,#11H AJMP EXIT FFX: MOV FX,#0FEH 行换向 EXIT: POP DPL POP DPH POP ACC RETI ;以下 UP 为加速中断程序 UP: PUSH ACC ACALL DELAY ;延时防抖动 ;只要 FX 不等于 11H,就可以通过循环左移或右移进 ;把转速级别赋给 COUNT 即换向位,若 P3.5=1,则跳到 FFX ;循环左移一位 ; P3.5 接换向开关 K2, JB P3.2,UPEX ;P3.2 为外部中断 0 位,接增速开关 S2 ,低电平有效,若 P3.2=1,则退出 MOV A,SPEED CJNE A,#7,SZ AJMP UPEX SZ: INC SPEED UPEX: POP ACC HERE2: JNB P3.2,HERE2 ;本条指令为防止开关 S2 按下去后弹不起,导致一 直产生中断 RETI 以下 DOWN 为减速中断程序 ;等级为 7,若 A 不等于 7,则转移到 SZ ;若 A=7,则退出 ;SPEED= SPEED+1 第 18 页 DOWN: PUSH ACC ACALL DELAY JB P3.3,DEX P3.3=1,则退出 MOV A,SPEED CJNE A,#0,SJ AJMP DEX SJ: DEC SPEED ;SPEED= SPEED-1 DEX: POP ACC HERE3: JNB P3.3,HERE3 RETI TAB: DB 0,60,40,35,30,28,25,21; 0 END 1 2 3 4 5 6 7 8 9 LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H ; P3.3 为外部中断 1 位,接减速开关 S3 ,低电平有效,若 第 19 页 总结 本设计通过分析步进电机结构、工作原理,查阅步进电机控制系统的相关科 技文献,遵循实用、简单、可靠和低成本的原则,设计了一种既可用于精度要求 不高,但控制需完的场合。对本次设计,采用单片机为控制核心,利用其强大 的功能,把键盘和显示电路有机的结合起来,组成一个操作方便、交互性强的控 制系统。 采用键盘电路和显示电路采用了动态扫描技术, 节约了单片机资源。 系 统软件采用结构化设计,具有易维护性,根据用户新的要求,对软件系统进行少 量的修改,使系统功能得到一定程度的提高。 使用单片机以软件方式驱动步进电机,不但可以通过编程方法,在一定范围 内自由设定步进电机的转速、 往返转动的角度以及转动次数等,而且还可以方便 灵活地控制步进电机的运行状态,以满足不同用户的要求。因此,常把单片机步 进电机控制电路称之为可编程步进电机控制驱动器。步进电机控制(包括控制脉 冲的产生和分配)使用软件方法,即用单片机实现,这样既简化了电路,也降低 了成本。 这次的课程设计更注重于对我们所学的综合知识的运用, 同时培养我们运用 所学着知识来发现问题、 提出和解决问题的能力。这次的硬件设计中主要运用了 AT89C51 单片机,通过查阅资料了解更多关于单片机的知识和功能,进一步巩 固了所学的单片机课程。特别是对程序的编写更加巩固了汇编语言的编程方法。 回顾此次单片机课程设计,从选题到确定任务书,在接近两个星期的日子里,可 以说是苦多于甜, 但是我确实从中学到很多实用的东西,设计中自由的发散不仅 巩固了以前所学过的知识, 更重要的是通过查资料请教老师同学等各种学习途径 掌握了许多书本上所没有学到过的知识,尤其是用 PROTEL 画原理图,可以说 在这短短的半个月时间里获益匪浅。 第 20 页 致谢 在这次步进电机的设计中, 使我对单片机有了更深的了解, 单片机的种类多, 而型号杂,也是学习中的困难。单片机编程是用汇编语言进行编程,也就需要我 们对电路的分析,然后总结,查阅相关资料才能变成好的程序,编程讲究的是多 动手写,自己写,用自己的思路,在这次的编程中再一次复习了单片机编程的特 点和用法。 在这次单片机应用系统设计中遇到到很大的困难, 主要原因是平时的知识掌 握的不够,通过查阅很多资料和类似的论文,才做成的。以前都没有做过单片机 设计,一开始都不知道如何下手,多亏了李老师之前的讲解并举例加以说明。在 设计过程中, 李老师所传授给我们的设计理念和思想起了很重要的作用。由于时 间的仓促,经验的少,知识的局限,设计有一定的不足之处。这次的设计中,用 到了 PROTEL 的画图方法,由于自己之前对这方面的知识的欠缺,不能灵活的 运用其画图, 不过在同学的帮助下了解了关于它的一些知识和用法,并完成了原 理图的设计,再次对帮助过我的老师和同学表示忠诚的感谢。 第 21 页 参考文献 [1] 张鑫, 华臻, 陈书谦 .《单片机原理及应用》 电子工业出版社 [2] 梅丽凤 ,王艳秋 , 张军 .《单片机原理及接口技术》 2004.6 2005.8 清华大学出版社 [3] 胡汉才.单片机原理与接口技术[M].北京:清华大学出版社,1995.6. [4] 楼然苗等.51 系列单片机设计实例[M].北京:北京航空航天出版社, 2003.3. [5] 何立民. 单片机高级教程[M].北京:北京航空航天大学出版社,2001. [6] 张迎新,等 . 单片机微型计算机原理、应用及接口技术 [M]. 修订版 . 北 京: ·国防工业出版社,2004. [7] 丁志刚, 李刚民.单片微型计算机原理与应用[M].北京: 电子工业出版社, 1990. [8] 孙传友,等.测控电路及装置[M].北京:北京航天航空大学出版社,2000. [9]马淑华,王凤文,张美金. 单片机原理与接口技术[M].北京:北京邮电大 学出版社,2007. [10]张靖武,周灵彬. 单片机系统的 PROTEUS 设计与仿真[M]. 北京:电 子工业出版社,2007
    以上信息由无锡惠斯通电机科技有限公司整理编辑,了解更多步进电机,两相步进电机,混合式步进电机信息请访问http://www.huistong.com