单片机课程设计-单片机控制步进电机
单片机控制步进电机程序设计
单片机控制步进电机程序设计1.引言步进电机是一种常用的电机类型,其特点是精度高、稳定性好、速度可调。
在很多自动控制系统中,步进电机被广泛应用于位置控制、定位、打印机等领域。
本文将介绍如何使用单片机来控制步进电机,并给出一个简单的步进电机程序设计示例。
2.步进电机简介步进电机是一种将电脉冲信号转换为角位移或线位移的电机。
其优点包括:-分辨率高:每个步进电机的旋转角度可以非常小,可实现较高的位置精度。
-可控制性强:通过控制电压脉冲的频率和顺序,可以精确控制步进电机的转动方向和步数。
-响应快速:步进电机的响应速度较快,可达数千转每分钟。
3.单片机选型与连接在实现步进电机的控制过程中,我们选择了一款适用于步进电机控制的单片机。
这款单片机具有以下特点:-高效的运算能力和大容量存储空间,适用于复杂的控制算法。
-可编程性强,支持多种开发环境,开发过程相对简便。
-丰富的外设接口,方便与步进电机的连接和控制。
连接单片机与步进电机的基本电路如下所示:步进电机驱动引脚1--单片机引脚A步进电机驱动引脚2--单片机引脚B步进电机驱动引脚3--单片机引脚C步进电机驱动引脚4--单片机引脚D4.步进电机控制原理步进电机控制原理基于对步进电机驱动引脚输入电压脉冲信号的控制。
针对不同的步进电机类型,控制方式可以有所不同,常见的控制方式包括全步进控制和半步进控制。
4.1全步进控制全步进控制方式是将电流依次施加到步进电机的每个驱动相,使其按照一定顺序正转或反转。
控制步骤如下:1.给引脚A和引脚B施加电压,使电机顺时针转动一个步距。
2.给引脚B和引脚C施加电压,使电机顺时针转动一个步距。
3.给引脚C和引脚D施加电压,使电机顺时针转动一个步距。
4.给引脚D和引脚A施加电压,使电机顺时针转动一个步距。
4.2半步进控制半步进控制方式是在全步进控制的基础上,通过控制相邻两个相的电流互补关系,实现更细微的步距调整。
控制步骤如下:1.给引脚A施加电压,使电机顺时针转动半个步距。
单片机课程设计-单片机控制步进电机
单片机课程设计-单片机控制步进电机单片机课程设计单片机控制步进电机一、引言在现代自动化控制领域,步进电机以其精确的定位和可控的转动角度,成为了众多应用场景中的关键组件。
而单片机作为一种灵活、高效的控制核心,能够实现对步进电机的精确控制,为各种系统提供了可靠的动力支持。
本次课程设计旨在深入研究如何利用单片机来有效地控制步进电机,实现特定的运动需求。
二、步进电机的工作原理步进电机是一种将电脉冲信号转换为角位移或线位移的开环控制电机。
它由定子和转子组成,定子上有若干个磁极,磁极上绕有绕组。
当给绕组依次通电时,定子会产生磁场,吸引转子转动一定的角度。
通过控制通电的顺序和脉冲数量,可以精确地控制电机的转动角度和速度。
三、单片机控制步进电机的硬件设计(一)单片机的选择在本次设计中,我们选用了常见的_____单片机。
它具有丰富的引脚资源、较高的运算速度和稳定的性能,能够满足控制步进电机的需求。
(二)驱动电路为了驱动步进电机,需要使用专门的驱动芯片或驱动电路。
常见的驱动方式有全桥驱动和双全桥驱动。
我们采用了_____驱动芯片,通过单片机的引脚输出控制信号来控制驱动芯片的工作状态,从而实现对步进电机的驱动。
(三)接口电路将单片机的引脚与驱动电路进行连接,需要设计合理的接口电路。
接口电路要考虑信号的电平匹配、抗干扰等因素,以确保控制信号的稳定传输。
四、单片机控制步进电机的软件设计(一)控制算法在软件设计中,关键是确定控制步进电机的算法。
常见的控制算法有脉冲分配法和步距角细分法。
脉冲分配法是根据电机的相数和通电顺序,按照一定的时间间隔依次输出控制脉冲。
步距角细分法则是通过在相邻的两个通电状态之间插入中间状态,来减小步距角,提高电机的转动精度。
(二)程序流程首先,需要对单片机进行初始化设置,包括引脚配置、定时器设置等。
然后,根据用户的输入或预设的运动模式,计算出需要输出的脉冲数量和频率。
通过定时器中断来产生控制脉冲,并按照预定的顺序输出到驱动电路。
单片机课程设计步进电机
单片机课程设计 步进电机一、课程目标知识目标:1. 让学生掌握步进电机的原理、结构及其在单片机控制系统中的应用。
2. 让学生了解步进电机的控制算法,如细分驱动、变速控制等。
3. 使学生能够运用所学知识,设计简单的单片机控制步进电机系统。
技能目标:1. 培养学生使用编程软件(如Keil、Arduino等)编写单片机程序,实现对步进电机的控制。
2. 培养学生运用电路原理图设计、搭建单片机控制步进电机的硬件系统。
3. 培养学生动手操作、调试单片机控制步进电机系统的能力。
情感态度价值观目标:1. 激发学生对单片机控制技术及步进电机应用的兴趣,培养其创新意识和探索精神。
2. 培养学生团队协作意识,提高沟通与协作能力。
3. 培养学生严谨的科学态度和良好的工程素养,使其具备一定的项目实践能力。
课程性质分析:本课程为单片机课程设计,以实践操作为主,结合理论教学。
课程内容具有较强的实践性和应用性,旨在培养学生运用单片机技术解决实际问题的能力。
学生特点分析:学生已具备一定的单片机基础知识,具有一定的编程和电路设计能力。
但大部分学生对步进电机及其控制技术了解较少,需要通过本课程的学习,提高实际应用能力。
教学要求:1. 结合学生特点,注重理论与实践相结合,强化实践操作环节。
2. 采用项目驱动法,引导学生主动参与课程学习,培养其自主学习能力。
3. 注重课程评价,通过过程性评价和总结性评价相结合,全面评估学生的学习成果。
二、教学内容1. 步进电机原理与结构- 介绍步进电机的种类、原理及结构- 分析步进电机的技术参数,如步距角、静力矩等2. 步进电机控制技术- 讲解步进电机的控制方式,如单脉冲控制、细分控制等- 探讨步进电机的变速控制原理及实现方法3. 单片机与步进电机接口技术- 介绍单片机与步进电机接口电路设计- 分析常用的步进电机驱动芯片及其应用4. 步进电机控制程序设计- 指导学生使用编程软件(如Keil、Arduino等)编写步进电机控制程序- 讲解程序设计中的关键算法,如PID控制、速度规划等5. 单片机控制步进电机系统实践- 布置实际项目任务,让学生动手搭建单片机控制步进电机系统- 指导学生进行系统调试,分析并解决实际问题6. 课程总结与评价- 对所学内容进行总结,巩固知识点- 进行课程评价,检验学生学习成果教学内容安排与进度:第1-2周:步进电机原理与结构、步进电机控制技术第3-4周:单片机与步进电机接口技术、步进电机控制程序设计第5-6周:单片机控制步进电机系统实践、课程总结与评价教材章节关联:本教学内容与教材中“步进电机控制技术”章节相关,涉及的内容包括步进电机原理、接口技术、控制程序设计等,为教材内容的拓展与实践。
单片机控制步进电机课程设计
第一章系统分析概述步进电机是用电脉冲信号控制,以实现对生产过程或设备的数字控制,它是过程控制中一种十分重要和常用的功率执行器件,它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器或角位移发生器等,近年来由于计算机应用技术的迅速发展,步进电机常常和计算机一起组成高精度的数字控制系统。
由于它是由数字脉冲控制,因此非常适合于用单片机控制,本设计便是在此基础上,以MCS51型单片机为核心,并结合外围电路以步进电机为控制对象的控制系统。
1.1 功能简介本设计系统有单片机最小系统、8个按键输入控制、四个数码管显示和步进电机驱动电路一共四大部分组成,通过按键输入数值来控制步进电机转速,并且在数码管上显示数值(1)8个按键包括:数字键1~5;3个功能键:设置SET、清零CLR、开始START;(2)显示器上第一位显示次数,后三位显示每次行走的角度;(3)通过键盘的按键,设置步进电机各次的角度值;第一位设置次数,后三位设置角度值。
(4)按START键启动步进电机开始转动,按SET键停止;按CLR键清零。
1.2 方案选择1.2.1 步进电机驱动电路方案本设计的重点在于对步进电机的控制和驱动,设计中受控电机为四相六线制的步进电机(内阻33欧,步进1.8度,额定电压12V)方案一:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率,如图1-1,使用三极管组成的步进电机驱动电路。
但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。
注:A、B、C、D分别为步进电机四相输入图1-1 三极管组成的步进电机驱动电路方案二:使用ULN2003芯片驱动电机ULN2003芯片可以驱动两个二相电机,也可以驱动一个四相电机,如图1-2。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
单片机课程设计--单片机控制步进电机
单片机课程设计题目:单片机控制步进电机班级:电信设计任务书摘要:本次课业设计是利用单片机技术知识设计一个步进电机控制系统,本次课业设计用到的关键元器件有STC89C52单片机,ULN2003驱动芯片,五线四相步进电机,由52单片机驱动ULN2003,进而驱动步进电机进行正转反转。
关键词:步进电机;52单片机;ULN2003。
目录一、引言 ............................... 错误!未定义书签。
二、总体方案 (6)三、硬件设计 (7)四、软件设计 (10)五、调试 (13)六、总结 (13)七、参考文献 (13)元件清单 (14)一、引言步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。
控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。
为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。
人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。
此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。
步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。
单片机课程设计步进电机
单片机课程设计-步进电机江南大学物联网工程学院课程设计报告课程名称:单片机原理及应用设计题目:基于单片机的步进电机控制器设计班级:姓名:学号:指导教师:评分:年月日基于单片机的步进电机控制器设计摘要:本设计是用80C52单片机作为核心部件进行逻辑控制及信号产生,用单片机技术和C 语言编程设计来进行步进电机的控制。
通过人手动按开关实现步进电机的启动与停止、步进电机的正转反转,加速及减速等功能,此外还有LCD 数码管进行实时显示功能。
同时本文也通过了proteus软件的仿真,在仿真结果中能看出近似真实的效果。
经过proteus仿真,结果表明,系统实现了要求。
该系统电路简单,可靠性强,运行稳定。
关键词:步进电机单片机LCD proteus 仿真1课题主要研究内容和要求本设计采用单片机80C52来作为整个步进电机控制系统的运动控制核心部件。
所选的步进电机是四相五线的,由于步进电机需要高功率驱动,单片机不能与步进电机直接相连,因此我们需要采用了电机驱动芯片ULN2003连接步进电机和单片机。
为了显示步进电机转速,我用数码管来显示速率。
再加上一些独立按键来实现步进电机调速、改变转向的功能。
这样就构成了一个基本的步进电机控制系统。
系统的具体功能和要求如下:1、电机转速可以平稳控制;2、通过键盘和显示器可以设置电机的转速;3、能显示电机的运动趋势;2所需仪器设备所需器件备注所需器件备注STC89C52一片12M晶振一个单片机ULN2003驱一片按键五个动芯片八位共阳数一片异步电机一个码管芯片不同阻值电若干+5V电源一个阻30pF电容两个3系统总体设计本设计的硬件电路包括独立按键控制模块、步进电机驱动模块、数码管显示模块和单片机最小系统四部分。
单片机最小系统由时钟电路和复位电路组成,保证单片机正常运行;独立按键控制模块由开关和按键组成,当按下按键时,该系统就按照该按键控制的功能运作;显示模块主要是为了显示电机的工作状态和转速;驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。
单片机课程设计报告——单片机控制步进电机
单片机课程设计报告——单片机控制步进电机-CAL-FENGHAI.-(YICAI)-Company One1江西农大单片机原理及应用课程设计报告设计课题:单片机控制步进电机专业班级:信工091班学生姓名:崔**指导教师:***2012 年 5 月目录目录 (1)1 设计任务书 (2)1.1 基本设计要求 (2)1.2 选作项目 (2)2 设计阐明 (3)2.1设计内容 (3)2.2设计要求 (3)2.3设备及工作环境 (4)3 系统方案整体设计 (4)3.1 设计思路 (4)4 硬件设计 (7)4.1 系统硬件设计 (7)4.1.1 最小单片机系统 (7)4.1.2 键盘设计 (8)4.2 系统工作原理论述 (8)5 软件设计 (11)5.1 分析论证 (11)5.1.1 步进电机运行驱动模块 (11)5.1.2 温度采集模块 (12)5.1.3 主函数模块 (12)5.1.4 整体功效 (12)5.2 程序流程图 (12)5.3程序清单 (13)6 调试过程及分析 (21)7 设计总结 (23)参考文献 (24)1 设计任务书1.1 基本设计要求(1)用万能板、主芯片AT89S52、35BYJ412步进电机、BLN2003以及其他周围原件芯片完成实验设计。
(2)程序的首地址应使目标机可以直接运行,即从0000H开端。
在主程序的开端部分必须设置一个合适的栈底。
程序放置的地址须持续且靠前,不要在中间留下大批的空间地址,以使目标机可以应用较少的硬件资源。
(3)采用单片机控制一个三相单三拍的步进电机工作。
步进电机的旋转方向由正反转控制信号控制。
步进电机的步数由键盘输入,可输入的步数分别为3、6、9、12、15、18、21、24和27步,且键盘具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。
只有当键盘锁打开并输入步数时,步进电机才开始工作。
(4)电机运转的时候有正转和反转指示灯指示。
(5)电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。
单片机课程设计-正反转可控的步进电机
正反转可控的步进电机1 引言本课程设计目的是为了进一步掌握单片机系统,加强对系统设计和应用能力的培养而开设的综合设计训练环节。
本系统用51单片机和ULN2003A电机驱动芯片并加入控制按钮来实现步进电机的正、反转控制。
2 设计方案及原理步进电机可以对旋转角度和转动速度进行高精度的控制。
作为控制执行部件,广泛应用于自动控制和精密仪器等领域。
例如在仪器仪表、机床设备以及计算机的外围设备中(如打印机和绘图仪),常有对精确的、可控制的回转源的需要。
在这种情况下,使用步进电机最为理想。
2.1 步进电机控制步进电机两个相邻磁极之间的夹角为60°,线圈绕过相对的两个磁极构成一相。
此外各磁极上还有5个分布均匀的锯形小齿。
电机转子上没有绕组。
当某相绕组通电时,响应的两个磁极就分别形成N-S极,产生磁场,并与转子形成磁路。
如果这是定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子齿与定子齿对齐,从而使步进电机向前“走”一步。
如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转动,从而进行了数字到角度的转换。
转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。
2.2 步进电机驱动方式步进电机常用的驱动方式是全电压驱动,即在电机移步与锁步时都加载额定电压。
为防止电机过流及改善驱动特性需加限流电阻。
由于步进电机锁步时,限流电阻要消耗掉大量的功率。
因此,限流电阻要有较大功率容量,并且开关管也要有较高的负载能力。
步进电机也可以使用软件方法,即使用单片机实现,这样不但简化了电路,同时降低了成本。
使用单片机以软件方式驱动步进电机,不但可以通过编程方法在一定范围之内自由的设定步进电机的转速,往返转动的角度以及转动次数等;还可以方便灵活的控制步进电机的运行状态,以满足不同用户的需求。
因此常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。
单片机课程设计单片机控制步进电机
单片机课程设计单片机控制步进电机单片机课程设计:单片机控制步进电机单片机(Microcontroller)是一种集成了中央处理器、存储器和输入/输出接口的微型计算机。
而步进电机(Stepper Motor)是一种将电脉冲信号转换为机械角位移的电磁设备。
在单片机课程设计中,控制步进电机是一项常见的任务。
本文将介绍如何使用单片机来控制步进电机,并展示一个基于单片机的课程设计实例。
一、步进电机的原理及特点步进电机是一种将电脉冲信号转换为机械位移的设备,其主要特点包括精密定位、易控制、低成本、没有超额负荷等。
步进电机通常由定子和转子组成,定子上的绕组通电产生磁场,而通过改变绕组通电的顺序和时序,可以实现步进电机的运动控制。
二、单片机控制步进电机的原理为了实现对步进电机的控制,我们需要使用单片机来产生相应的控制信号。
步进电机通常由一个驱动器和若干相继续组成。
单片机通过发出适当的信号给驱动器,进而控制电机的运动。
具体而言,单片机需要控制步进电机的相序、步数和速度。
1. 步进电机的相序控制步进电机的相序控制是通过依次激活不同相继的绕组,实现转子的转动。
单片机通过输出对应的高低电平信号给驱动器,从而控制绕组的激活顺序。
常见的步进电机驱动方式包括全步进和半步进。
2. 步进电机的步数控制步进电机的步数控制是通过控制单片机输出的脉冲数,来实现电机的旋转角度。
根据电机的分辨率和精度需求,我们可以设定单片机输出的脉冲数,从而控制电机的步进角度。
3. 步进电机的速度控制步进电机的速度控制是通过调节单片机输出脉冲信号的频率来实现的。
频率越高,电机转动的速度越快;频率越低,则电机转动的速度越慢。
单片机可以通过定时器等方式产生相应的脉冲频率来控制步进电机的转速。
三、基于单片机的步进电机控制课程设计实例下面将展示一个基于单片机的步进电机控制课程设计实例,该设计基于C语言编程,使用Keil软件进行开发。
设计要求:设计一个步进电机控制系统,使步进电机以设定的转速顺时针旋转一定圈数,并能逆时针旋转一定圈数。
单片机控制步进电机课程设计报告
郑州科技学院《单片机》课程设计题目单片机控制步进电机学生姓名专业班级电气工程及其自动化班学号院(系)电气工程学院指导教师完成时间 2015年11月13日目录1 前言 (1)2 总体设计方案与论证 (1)2.1 步进电机原理及控制技术 (1)2.2 方案论证 (3)2.3 系统总体硬件框图 (3)3 单元电路设计 (4)3.1 最小控制系统 (4)3.2 驱动电路 (5)3.3 按键电路 (6)3.4 显示电路 (6)4 程序设计 (7)5 软件仿真 (8)6 硬件的制作与调试 (10)7 总结 (11)参考文献 (13)附录1:总体电路原理图 (14)附录2:实物图 (15)附录3:元器件清单 (16)附录4:源程序 (17)1 前言步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。
步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。
正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电动机能直接接受数字量的控制,所以特别适宜采用微机进行控制。
能够实现步进电机控制的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,也可以采用单片机控制方式。
本文介绍一种用STC89C52作为核心部件进行逻辑控制及信号产生的单片机技术和C语言编程设计的步进电机控制系统,步进电机背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍,使我们不仅对步进电机的原理有了深入的了解,也对单片机的设计研发过程有了更加深刻的体会。
本控制系统采用单片机控制,通过人为按动开关实现步进电机的正反转,复位。
具有灵活方便、适用范围广的特点,基本能够满足实践需求。
2 总体设计方案与论证2.1步进电机原理及控制技术由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备,步进电机控制驱动器,典型步进电机控制系统如图2-1所示:图2-1 步进电机运行过程中频率变化曲线控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。
基于单片机的步进电机的控制器设计
基于单片机的步进电机的控制器设计在现代工业自动化和控制领域中,步进电机因其精确的定位和可控的旋转角度而得到了广泛的应用。
而设计一个高效、稳定且易于操作的基于单片机的步进电机控制器则成为了实现精确控制的关键。
一、步进电机的工作原理要设计步进电机的控制器,首先需要了解步进电机的工作原理。
步进电机是一种将电脉冲信号转换成角位移或线位移的开环控制电机。
它由定子和转子组成,定子上有若干个磁极,磁极上绕有绕组。
当给定子绕组依次通电时,产生的磁场会驱动转子按照一定的方向和步距角转动。
步距角是指每输入一个电脉冲信号,转子所转过的角度。
步距角的大小取决于电机的结构和控制方式。
常见的步距角有 18°、09°等。
通过控制输入电脉冲的频率和数量,可以精确地控制步进电机的转速和转角。
二、单片机的选择在设计控制器时,单片机的选择至关重要。
常见的单片机如 51 系列、STM32 系列等都可以用于控制步进电机。
51 系列单片机价格低廉,开发简单,但性能相对较低;STM32 系列单片机性能强大,资源丰富,但开发难度相对较大。
考虑到控制的精度和复杂程度,我们可以选择STM32 系列单片机。
例如,STM32F103 具有较高的处理速度和丰富的外设接口,能够满足步进电机控制器的需求。
三、控制器的硬件设计硬件设计主要包括单片机最小系统、驱动电路、电源电路等部分。
单片机最小系统是控制器的核心,包括单片机芯片、时钟电路、复位电路等。
STM32F103 的最小系统通常需要外部晶振提供时钟信号,以及合适的复位电路保证单片机的可靠启动。
驱动电路用于放大单片机输出的控制信号,以驱动步进电机工作。
常见的驱动芯片有 ULN2003、A4988 等。
以 A4988 为例,它可以接收来自单片机的脉冲和方向信号,并输出相应的电流来驱动步进电机。
电源电路则为整个系统提供稳定的电源。
通常需要将外部输入的电源进行降压、稳压处理,以满足单片机和驱动电路的工作电压要求。
单片机控制步进电机课程设计
目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2课程设计原理 (1)1.3课程设计思路 (2)1.4实验环境 (3)第2章详细设计方案 (4)2.1实现方法 (4)2.2模块设计 (5)2.2.1 步进电机的驱动 (5)2.2.2 按键电路设计 (5)2.2.3 时钟产生及复位电路 (6)2.3主程序流程图图 (7)第3章调试及结果分析 (8)3.1调试步骤及方法 (8)3.2实验结果及分析 (8)参考文献 (9)附录1(源程序) (10)附录2(系统原理图) (14)附录3(器件清单) (15)第1章总体设计方案1.1 课程设计的内容和要求一、课程设计内容:步进电机是一种将电脉冲转换成角位移或线位移的电磁机械装置,也是一种能把输出解析为唯一增量和输入数字脉冲对应的驱动器件。
步进电机具有快速启动、停止的能力,精度高、控制方便,因此,在工业上得到了广泛应用。
利用单片机控制一个步进电机,而且要满足如下技术指标:(1)开始通电时,步进电机停止转动。
(2)单片机分别接按键开关K1、K2和K3,用来控制步进电机的转向,要求如下:当按下K1时,步进电机正转。
当按下K2时,步进电机反转。
当按下K3时,步进电机停止转动。
步进电机的工作方式有单四拍、双四拍、单双八拍。
二、课程设计要求:1. 独立完成课程设计任务;2. 通过老师当场验收;3. 交出完整的课程设计报告。
1.2课程设计原理步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调整节拍的目的。
本次设计是采用步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
单片机步进电机课程设计
单片机步进电机课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握步进电机的控制方法;2. 学会使用编程软件编写程序,实现对步进电机的控制;3. 了解步进电机在自动化设备中的应用。
技能目标:1. 能够独立完成单片机与步进电机的硬件连接;2. 能够编写程序,实现步进电机的正反转、速度调节等功能;3. 能够分析并解决步进电机控制过程中出现的问题。
情感态度价值观目标:1. 培养学生对单片机及步进电机控制技术的兴趣,提高学生的动手实践能力;2. 培养学生团队协作精神,学会与他人共同解决问题;3. 增强学生对我国自动化产业的了解,激发学生的爱国情怀。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握单片机与步进电机的控制技术。
学生特点:学生具备一定的电子基础和编程知识,对单片机和步进电机有一定的了解。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的主观能动性,培养学生的实际操作能力和创新精神。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 单片机基础理论:回顾单片机的组成、工作原理,重点掌握I/O口控制、定时器/计数器等功能;相关教材章节:第一章 单片机概述,第三章 单片机硬件结构。
2. 步进电机原理:学习步进电机的结构、工作原理,了解步进电机的参数及选型;相关教材章节:第六章 步进电机原理及其应用。
3. 硬件连接与编程:学习单片机与步进电机的硬件连接方法,掌握步进电机驱动器的使用,编写控制程序;相关教材章节:第四章 单片机I/O接口技术,第七章 步进电机驱动器及其应用。
4. 步进电机控制实践:设计实际控制电路,实现对步进电机的正反转、速度调节等功能;相关教材章节:第八章 单片机步进电机控制系统设计。
5. 故障分析与调试:学习步进电机控制过程中可能出现的故障及解决方法,提高学生的实际操作能力;相关教材章节:第九章 单片机控制系统故障分析与调试。
基于单片机控制的步进电机调速系统的设计
基于单片机控制的步进电机调速系统的设计步进电机是一种常用的电机类型,它通常用来实现精确定位和控制运动。
步进电机的控制需要一个精确的调速系统来确保稳定的运行和准确的位置控制。
本文将基于单片机控制的步进电机调速系统进行设计。
首先,我们需要选择合适的硬件以及编程平台。
本设计选择使用Arduino Uno作为单片机控制器,它具有易用性和强大的控制功能。
步进电机选择了NEMA 17型号,它具有较高的分辨率和扭矩输出。
接下来,进行电路设计与连接。
将步进电机的四个线圈连接到单片机的GPIO引脚上,并使用电流驱动模块控制电机的供电。
通过连接外部电源,电流驱动器将为步进电机提供稳定的电流,以确保电机能够正常工作。
在编程方面,首先需要编写初始化代码,配置单片机的GPIO引脚以及串口通信功能。
然后,可以使用Arduino提供的步进电机库来控制电机的旋转。
该库提供了简单的命令来控制步进电机的转动方向和转速。
为了设计调速系统,我们可以使用一个旋转编码器来实时监测电机的转速。
旋转编码器将会测量电机的转动次数,从而计算出电机的转速。
在单片机的程序中,我们可以设置一个目标转速,并根据旋转编码器的数据来调整电机的驱动频率。
为了实现平滑的调速过程,我们可以使用PID控制算法来调整电机的驱动频率。
PID控制算法是一种经典的反馈控制算法,它可以根据目标值和实际值之间的差异来调整控制信号。
通过不断地比较电机的实际速度与目标速度,PID控制算法可以动态地调整电机的驱动频率,以达到稳定的调速效果。
最后,我们可以设计一个用户界面来设置目标速度和监控电机的运行状态。
通过串口通信功能,单片机可以与上位机进行数据交互,用户可以通过上位机发送指令来设置目标速度,并且可以实时监测电机的转速和运行状态。
总结起来,基于单片机控制的步进电机调速系统设计需要进行硬件选择与连接、软件编程以及用户界面设计。
通过合理地选择硬件和软件方案,以及使用PID控制算法,我们可以实现一个稳定且准确的步进电机调速系统。
单片机课程设计 步进电机控制器设计
摘要步进电机是一种以脉冲信号控制转速的电机,它是将电脉冲信号转变为角位移或线位移的开环控制元件,很适合使用单片机来进行控制。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变得非常的简单。
步进电机分为反应式、永磁式、混合式三类。
其中混合式步进电机综合了反应式和永磁式的优点,它的动态性能好,控制精度高,是目前应用最为广泛的一种。
目录一设计目的 (3)二硬件电路设计及描述 (3)2.1 步进电机的基本特点 (3)2.2 步进电机的工作原理 (3)2.2.1 步进电机的启停控制 (3)2.2.2 步进电机的转向控制 (4)2.2.3 步进电机的速度控制 (4)2.2.4 步进电机的换向控制 (4)2.3 控制系统的硬件设计 (4)2.3.1 步进电机控制工程方案 (4)2.3.2 电路设计 (5)3 系统软件设计 (5)3.1总体设计 (5)3.1.1步进电机的工作方式 (5)3.2 程序流程图 (7)3.3 程序清单 (8)4 参考文献 (19)5 结束语 (20)一设计目的利用单片机来控制步进电机的转速、正转和反转,通过改变相序通电来实现正转和反转之间的转变,并且可通过显示步数的改变进一步调节步进电机的转速。
步进电机的运行控制涉及位置控制和加、减速控制,其中,位置控制是最主要的控制,本设计要求在位置上实现准确控制(要求转动步数有数字键直接输入)。
使步进电机具有运行步设置,在线正、反转以及启停控制,运行速度在线可调。
二硬件电路设计及描述2.1 步进电机的基本特点步进电机之所以得到广泛应用的原因是由于步进电机有以下特性:(1)步进电机是在脉冲作用下工作,步进电机的速度与加在绕组上的脉冲频率成正比。
(2)步进马达具有瞬间启动与急速停止的特性。
单片机课程设计之步进电机
挑战:需要应 对市场竞争、 技术更新等挑 战,保持竞争
力
感谢您的观看
汇报人:
添加标题
添加标题
添加标题
添加标题
高速化:步进电机的速度将不断提 高,以满足高速应用的需求
环保化:步进电机将更加环保,减 少对环境的影响,提高能源利用率
单片机控制步进电机的前景和挑战
前景:广泛应 用于自动化、 机器人、数控
等领域
挑战:需要解 决控制精度、 稳定性、响应
速度等问题
前景:随着技 术的发展,单 片机控制步进 电机的性能将
单片机的控制方式:通 过编程控制步进电机的 驱动电路,实现对步进 电机的精确控制
单片机的控制信号: 包括脉冲信号、方向 信号和使能信号等
单片机的控制过程:通 过控制信号的输出,实 现对步进电机的启动、 停止、加速、减速和定 位等操作
单片机控制步进电机的硬件电路设计
单片机:作为 控制核心,负 责接收指令并 控制步进电机
重复以上步骤,直至程序运行正 常,达到预期效果
优化方案和效果评估
优化方案:调整参数、优化算法、改进 硬件等
效果评估:速度、精度、稳定性、功耗 等指标
优化效果:提高效率、降低功耗、提高 稳定性等
优化案例:具体优化方案及效果评估
优化建议:根据实际需求选择合适的优 化方案
优化注意事项:避免过度优化、注意硬 件限制等
医疗设备:用于医疗仪器、手术机器人等设 备中
汽车电子:应用于汽车电子控制系统、电动 座椅、电动门窗等设备中
航空航天:应用于卫星、火箭、飞机等设备 的控制系统中
3D打பைடு நூலகம்:应用于3D打印机的驱动系统中
步进电机的发展趋势和未来展望
智能化:步进电机将更加智能化, 能够自主学习和适应环境变化
单片机步进电机课程设计
单片机步进电机课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和编程方法,理解步进电机的运作机制;2. 使学生能够运用所学知识,设计并实现基于单片机的步进电机控制系统;3. 培养学生对步进电机参数的计算和调整能力,使其能够优化电机运行性能。
技能目标:1. 培养学生动手操作能力,能够独立完成单片机与步进电机的硬件连接;2. 提高学生编程实践能力,使其能够编写出稳定可靠的步进电机控制程序;3. 培养学生分析问题、解决问题的能力,使其在遇到控制难题时,能够提出合理的解决方案。
情感态度价值观目标:1. 培养学生对电子技术和自动化技术的兴趣,激发其探索精神;2. 培养学生团队协作意识,使其在项目实施过程中,能够主动与他人交流合作;3. 增强学生社会责任感,使其认识到所学知识在工业生产和日常生活中的应用价值。
本课程针对高年级学生,具有较强的实践性和综合性。
课程要求学生在掌握单片机基本原理的基础上,结合步进电机控制技术,培养实际操作和创新能力。
课程目标旨在分解为具体的学习成果,便于后续教学设计和评估,以实现学生在知识、技能和情感态度价值观方面的全面提升。
1. 单片机基础原理:介绍单片机的硬件结构、工作原理,重点讲解内部资源如定时器、中断系统等;教材章节:第一章 单片机概述,第二节 单片机硬件结构。
2. 编程语言及开发环境:讲解单片机编程语言(C语言/汇编语言),介绍开发工具如Keil的使用;教材章节:第二章 单片机编程语言,第三节 开发工具及环境配置。
3. 步进电机原理及控制:讲解步进电机的工作原理,分类及特性,分析步进电机的控制方法;教材章节:第三章 步进电机原理,第四节 步进电机控制技术。
4. 硬件电路设计:指导学生设计单片机与步进电机的硬件连接电路,包括驱动电路的设计;教材章节:第四章 单片机接口技术,第五节 步进电机驱动电路。
5. 控制程序编写:教授学生编写步进电机控制程序,包括初始化、脉冲产生、方向控制等;教材章节:第五章 单片机程序设计,第六节 步进电机控制程序编写。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告题目单片机控制步进电机课程名称单片机原理及接口技术院部名称专业自动化班级M10自动化学生姓名学号课程设计地点课程设计学时指导教师高峰金陵科技学院教务处制【注:根据课程设计大纲第四项具体要求撰写课程设计报告】目录1设计任务和要求 (3)2设计思路 (4)3系统硬件设计 (5)3.1 硬件电路的工作原理 (5)3.2步进电机模块 (5)3.3控制模块 (6)3.4主要元件介绍: (6)4软件编程 (11)5 调试过程与结果 (20)5.1正转结果显示: (20)5.1.1正转加速: (21)5.1.2正转减速: (21)6 总结与体会 (24)7 参考资料 (26)8 附录 (26)1设计任务和要求单片机课程设计是考察学生利用所学过的专业知识,进行综合的电机控制系统设计并最终完成实际系统连接,能够使学生对电气与自动化的专业知识进行综合应用,培养学生的创新能力和团队协作能力,提高学生的动手实践能力。
最终形成一篇符合规范的设计说明书,并参加综合实践答辩,为后期的毕业设计做好准备。
本次设计考核的能力主要有:1)专业知识应用能力,包括电路分析、电子技术、单片机、检测技术、电气控制、电机与拖动、微特电机及其驱动、计算机高级语言、计算机辅助设计、计算机办公软件等课程,还包括本专业的拓展性课程如变频器、组态技术、现场总线技术、伺服电机等课程。
2)项目设计与运作能力,团队协作能力,技术文档撰写能力,PPT汇报与口头表达能力。
3)电气与自动化系统的设计与实际应用能力。
要求完成的工作量包括:1)现场仿真演示效果。
2)学生结合课题进行PPT演讲与答辩。
3)学生上交课题要求的各类设计技术文档。
2设计思路电路基本理论:步进电机是一种将电脉冲转变为角位移的执行机构,通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。
可通过控制脉冲数来控制角位移量,从而达到准确的定位目的。
通过对步进电机的软件设计和硬件设计包括步进电机的结构、原理及应用,根据原理和硬件的设计利用c语言编写程序,经过反复运行和调试,实现单片机对步进电机的控制。
步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。
控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。
控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。
同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
基于单片机和proteus的步进电机控制电路的基本组成如图所示:根据设计要求,采用的方案如下。
硬件部分实现电机转动,包括控制开关模块;电机转动模块。
软件部分实现对步进电机的控制功能,主要设计思想通过控制台控制程序的开关来控制电机的转动。
电源驱动89C51单片机,在89C51中装载程序,通过开关按键来输入信号,89C51向驱动电路提供信号使步进电机动作。
3系统硬件设计3.1 硬件电路的工作原理总电路图通过对开关k1 k2 k3的开关,来实现对步进电机的正反转和停止,通过k4 k5来进行加减速,并且有相应的LED灯的显示。
3.2步进电机模块功能:单片机输出的程序通过转换器和电机驱动器给步进电机一个脉冲信号,使步进电机实现正转与反转。
3.3控制模块功能:通过控制台实现对单片机程序的开与关3.4主要元件介绍:3.4.1步进电机:步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。
步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。
步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。
步进电机28BYJ48:步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。
当通电状态的改变完成一个循环时,转子转过一个齿距。
四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。
),双(双相绕组通电)四拍(AB-BC- CD-DA-AB-。
),八拍(A-AB-B-BC-C-CD-D-DA-A。
)四相步进电机有两种运行方式,一、四相四拍;二、四相八拍。
要想搞清楚四相八拍运行方式下步进电机的转速如果计算,需要先清楚两个基本概念。
1、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.2、步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。
θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。
四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
这两个概念清楚后,我们再来计算转速,以基本步距角1.8°的步进电机为例(现在市场上常规的二、四相混合式步进电机基本步距角都是 1.8°),四相八拍运行方式下,每接收一个脉冲信号,转过0.9°,如果每秒钟接收400个脉冲,那么转速为每秒400X0.9°=360°,相当与每秒钟转一圈,每分钟60转。
由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:所以可以定义正转励磁序列为A->AB->B->BC->C->CD->D->DAuchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//反转励磁序列为AD->D->CD->C->BC->B->BA->Auchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};步进电机28BYJ48的主要技术参数:3、四相步进电机的脉冲分配规律目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。
本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。
四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。
各种工作方式在电源通电时的时序与波形分别如图1 a、b、c所示。
本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。
3.4.2 89C51单片机Atmel公司生产的89C51单片机是一种低功耗/低电压‘高性能的8位单片机,它采用CMOS和高密度非易失性存储技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。
89C51单片机部分引脚功能介绍:XTAL2(18脚):接外部晶体和微调电容的一端;在89C51 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。
若需采用外部时钟电路时,该引脚输入外部时钟脉冲。
89C51/8031正常工作时,该引脚应有脉冲信号输出。
XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲。
RST/VPD(9脚):RST:复位信号输入端,高电平有效。
当此输入端保持两个机器周期的高电平时,就可以完成复位操作。
RST/VPD(9脚):VPD :RST引脚的第二功能,备用电源输入端。
当主电源Vcc 发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM 中的信息不丢失,使得复位后能继续正常运行。
EA/Vpp(31脚):Vpp:对8751片内EPROM固化编程时,编程电压输入端(12-21V)。
P0口:漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。
P0口可作为一个数据输入/输出口;在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。
P1口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
P3口除作为一般I/O口外,每个引脚都有第二功能。
4软件编程4.1主流程图4.2主要程序:#include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };uchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 };sbit K1 = P3^0;sbit K2 = P3^1;sbit K3 = P3^2;sbit K4 = P3^3;sbit K5 = P3^4;void DelayMS(uint ms){uchar i;while(ms--){for(i=0;i<120;i++);}}void SETP_MOTOR_FFW(uchar n){uchar i,j;int M=25;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0) break;P1 = FFW[j];if(K4 == 0){P0=0xf6;DelayMS(20);}else if(K5 == 0){P0=0xee;DelayMS(100);}else DelayMS(50);if(K4 == 1&&K5 == 1){P0 = 0xfe;}}}}void SETP_MOTOR_REV(uchar n){uchar i,j;int M=25;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0) break;P1 = REV[j];if(K4 == 0){P0=0xf5;DelayMS(20);}else if(K5 == 0){P0=0xed;DelayMS(100);}else DelayMS(50);if(K4 == 1&&K5 == 1){P0 = 0xfd;}}}}void main(){uchar N = 50;while(1){if(K1 == 0){P0 = 0xfe;SETP_MOTOR_FFW(N);if(K3 == 0) break;}else if(K2 == 0){P0 = 0xfd;SETP_MOTOR_REV(N);if(K3 == 0) break;}else{P0 = 0xfb;P1 = 0x03;}}}4.3程序分块介绍:4.3.1正反转的控制字设定:uchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };uchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 };本列4组步进电动机工作于8拍方式正转励磁序列为A->AB->B->BC->C->CD->D->DA 反转励磁序列为AD->D->CD->C->BC->B->BA->A 正转:sbit K1 = P3^0;反转:sbit K2 = P3^1;停止sbit K3 = P3^2;加速:sbit K4 = P3^3;减速:sbit K5 = P3^4;4.3.2延时程序:void DelayMS(uint ms){uchar i;while(ms--){for(i=0;i<120;i++);}}4.3.3正转部分void SETP_MOTOR_FFW(uchar n){uchar i,j;int M=25;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0) break;P1 = FFW[j];if(K4 == 0) //加速{P0=0xf6;DelayMS(20);}else if(K5 == 0) //减速{P0=0xee;DelayMS(100);}else DelayMS(50);if(K4 == 1&&K5 == 1){P0 = 0xfe;}}}}按照正转励磁序列A->AB->B->BC->C->CD->D->DA进行通电,转动n圈,在转动过程中,按下加速按钮,电机加速,对应的LED灯会亮,按下减速,电机减速,对应的LED灯会亮,如果按下停止按钮,会立刻停止转动,亮停止灯。