基于单片机的步进电机转速控制

合集下载

基于单片机的步进电机转速计设计

基于单片机的步进电机转速计设计

基于单片机的步进电机转速计设计基于单片机的步进电机速度测量系统设计一、设计内容和要求本设计主要介绍了用单片机和八位共阴数码管相结合的方法来实现实时测速,以单片机AT89C51芯片为核心,辅以步进电机和LED数码管及必要的外围电路,构成了一个单片机数字温度计步进电机速度测量系统。

其主要研究内容包括两方面,一是对系统硬件部分的设计,包括速度采集电路和显示电路;二是对系统软件部分的设计,应用C语言实现速度的采集与显示。

通过利用步进电机进行设计,能够满足实时检测温度的要求,同时通过LED数码管的显示功能,可以实现不间断的速度显示,并带有复位功能。

本次设计的主要思路是利用51系列单片机,步进电机和LED数码显示器,构成实速度检测与显示的单片机控制系统,即转速计。

通过对单片机编写相应的程序,达到能够实时检测实时速度的目的。

通过对本课题的设计能够熟悉转速计的工作原理及过程,了解各功能器件(单片机、步进电机、LED)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对转速计的总体设计。

本次设计的主要要求:(1)根据设计需要,选用AT89C51单片机为核心器件;(2)转速器件采用摩尔传感器,利用单总线式连接方式与单片机的串行接口P0.0引脚相连;(3)显示电路采用8个LED数码管显示器接P1口并行显示温度值,数码管由P2口(P2.2~P2.3)选通,动态显示。

(4)给出全部电路和源程序。

转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量,速度测量的精度直接影响系统的控制情况,它是关系测控效果的一个重要因素。

不论是直流调速系统还是交流调速系统,只有转速的高精度检测才能得到高精度的控制系统。

在电机的转速测量中,影响测量精度的主要因素有两个:一是采样点的多少,采样点越多,速度测量结果越精确,尤其是对于低转速的测量。

二是采样频率,采样频率越高,采样的数据就越准确。

常用的数字测量方法电机转动速度的数字检测基本方法是利用与电动机同轴连接的光电脉冲发生器的输出脉冲频率与转速成正比的原理。

基于单片机步进电机转速测速控制器

基于单片机步进电机转速测速控制器

摘要在电气时代的今天,电动机在工农业生产与人们日常生活中都起着十分重要的作用。

步进电机作为最常见的一种电机,作为一种数字伺服执行元件,步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。

为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控制。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

本设计采用89C52单片机为核心设计,L297和L298为驱动芯片,用单片机内部的定时器改变CP脉冲的频率时间对步进电机的转速控制,实现电机调速与正反转功能,并用数字灯和数码管显示当前状态。

【关键词】步进电机单片机L297 L298IABSTRACTIn the electrical era, the motor plays an important role in indus trial and agricultural production and daily life. Stepper motor as th e most common type of motor, a digital servo actuator, stepper motor has a simple structure, reliable operation, easy to control, good con trol performance, widely used in CNC machine tools, robots, automated instrumentation areas. Generally based onsingle chip as the microproc essor control system for easy movement of the stepper motor control, speed and position of the stepper motor positioning control stepper m otor-specific driver chip.The stepper motor is the electrical pulses into angular displacement or linear displacement of the open-loop con trolcomponents.In the case of non-overloading, motor speed, the stop position depends only on the pulse frequency and pulse number, regard less of load changes, to the motor plus a pulse signal, the motor is turned to a step angle. The existence of this linear relationship, co upled with the characteristics of the stepper motor only periodic err or without accumulated error. Makes the speed, position and control t he stepper motor to control very simple. Governorgeneral of the stepp er motor is to change the frequency of the pulse input stepper motor to achieve the speed control of stepper motor, stepper motors each to a pulse rotating a fixed angle, so that you can control the stepper m otor a pulse to the next pulse time interval to change the frequency of the pulse, the delay length to specifically control the stepping a ngle to change the motor speed, in order to achieve the speed control of stepper motor.Stepper motor is a digital motor control, it will pulse signal ch anges in angular displacement, that is, to a pulse signal, the steppeIIr motor to rotate atan angle, so it is suitable for single-chip contr ol.This design uses a 89C52 microcontroller as the core design, the L297 and L298 driver chip, change the time of the CP pulse frequency of the stepper motor speed control, motor speed control with reversin g function using theinternal timer of the microcontroller, and digita l light and The digital tube displays the current status.【Key words】Stepper motor Microcontroller L297 L298III目录前言 (1)第一章绪论 (2)第一节单片机控制步进电机的背景与意义 (2)第二节国内外研究状况 (2)1.2.1 国外研究状况 (2)1.2.2 国内研究状况 (3)第三节本文主要研究内容 (3)第四节本章总结 (4)第二章系统概述 (5)第一节步进电机介绍 (5)2.1.1 步进电机的概述 (5)2.1.2 步进电机的工作原理 (8)2.1.3 步进电机的选择 (9)第二节步进电机驱动介绍 (10)2.2.1 步进电机驱动系统简介 (10)2.2.2 步进电机绕组的电气的特性 (11)第三节单片机介绍 (13)2.3.1 单片机原理概述 (13)2.3.2 单片机的应用系统 (13)2.2.3 AT89C52 (14)第四节核心芯片介绍 (18)2.4.1 L297的工作原理 (18)2.4.2 L297驱动相序的产生 (19)2.4.3 L298简介 (20)2.4.4 驱动方式的确定 (22)第五节本章总结 (22)- 1 -第三章系统的设计与实现 (23)第一节系统整体设计 (23)3.1.1 系统原理图 (23)3.1.2 系统整图 (23)第二节系统硬件电路的设计 (24)3.2.1 电源电路的设计 (24)3.2.2 按键电路的设计 (26)3.2.3 驱动电路的设计 (27)3.2.3 显示部分电路 (27)3.2.4 时钟部分 (28)3.2.5 抗干扰设计 (28)第三节系统软件程序设计 (29)3.3.1 系统主程序设计 (30)3.3.2 键盘控制程序设计 (30)3.3.3 正反转程序设计 (31)3.3.4 加减速程序设计 (32)3.3.5 显示子程序的设计 (33)3.3.6 定时中断流程图 (34)第四节本章总结 (35)第四章系统的测试 (36)第一节测试的步骤 (36)第二节测试的数据 (37)第三节理论与实际的分析 (38)第四节本章总结 (39)第五章总结与展望 (40)第一节总结 (40)第二节展望 (41)致谢 (42)参考文献 (43)- 2 -附录一 (44)英文原文 (44)英文翻译 (47)附录二 (50)源程序清单 (50)- 3 -前言步进电机广泛应用与ATM机、喷绘机、刻字机、写真机、喷图设备、医疗仪器及设备、计算机外设及海量储存设备、精密仪器、工业控制系统、办公自动化、机器人等领域。

基于单片机的步进电机控制系统的设计

基于单片机的步进电机控制系统的设计

基于单片机的步进电机控制系统的设计
步进电机是一种特殊的电机,它的转动是以步进的形式进行的,每一次步进角度由控制电路发出的一个脉冲决定。

因此,基于单片
机的步进电机控制系统需要实现以下功能:
1. 产生脉冲信号:单片机需要通过定时器等模块产生相应的脉
冲信号,以控制步进电机的运动。

2. 识别旋转方向:步进电机需要能够前进和后退,因此单片机
需要实时检测步进电机的转动方向,并控制脉冲信号发生的顺序。

3. 控制转速:控制步进电机转速需要通过控制脉冲信号的频率
来实现,单片机需要动态地调整脉冲信号的频率,从而控制欲速度。

下面是实现步进电机控制的一种基本算法:
1. 设置电机控制端口,初始化各参数。

2. 等待步进电机稳定。

在控制电路上电时,如果步进电机没有
停在起始位置,需要先手动将步进电机转动到起始位置,然后等待
电机稳定。

3. 根据旋转方向和转速控制脉冲信号产生频率。

根据步进电机
的旋转方向,确定脉冲信号产生的顺序,然后通过定时器等模块产
生相应的脉冲信号,从而控制步进电机旋转。

4. 根据指令调整转速。

根据实际需求调整步进电机的转速,即
调整脉冲信号频率。

上述算法是一个最基本的控制算法,具体的实现还需要考虑步
进电机控制的精度、错误处理等方面的问题。

基于单片机的步进电机控制系统设计方案

基于单片机的步进电机控制系统设计方案

D10-基于单片机旳步进电机控制系统一、理解什么是步进电机以及其工作原理步进电机是数字控制电机,步进电机旳运转是由电脉冲信号控制旳,其角位移量或线位移量与脉冲数成正比,每个一种脉冲,步进电机就转动一种角度(不距角)或前进、倒退一步。

步进电机旋转旳角度由输入旳电脉冲数确定,因此,也有人称步进电机为数字/角度转换器。

步进电机旳各相绕组按合适旳时序通电,就能使步进电机转动。

当某一相绕组通电时,对应旳磁极产生磁场,并与转子形成磁路,这时,假如定子和转子旳小齿没有对齐,在磁场旳作用下,由于磁通具有力图走磁阻最小途径旳特点,则转子将转动一定旳角度,使转子与定子旳齿互相对齐,由此可见,错齿是促使电机旋转旳原因。

二、步进电机旳特点(1)步进电机旳角位移与输入脉冲数严格成正比,因此当它转一转后,没有合计误差,具有良好旳跟随性。

(2)由步进电机与驱动电路构成旳开环数控系统,既非常以便、廉价,也非常可靠。

同步,它也可以有角度反馈环节构成高性能旳闭环数控系统。

(3)步进电机旳动态响应快,易于启停、正反转及变速。

(4)速度可在相称宽旳范围内平滑调整,低速下仍能保证获得很大旳转矩,因此一般可以不用减速器而直接驱动负载。

(5)步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。

(6)步进电机自身旳噪声和振动比较大,带惯性负载旳能力强。

三、步进电机旳控制步进电机旳控制重要包括换相次序旳控制、速度控制、速度控制、加减速控制等,控制系统就是运用单片机旳功能实现以上控制旳系统,即本次设计旳目旳。

四、示意图五、硬件设计计划本设计旳硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。

最小系统只要是为了使单片机正常工作。

控制电路只要由开关和按键构成,由操作者根据对应旳工作需要进行操作。

显示电路重要是为了显示电机旳工作状态和转速。

驱动电路重要是对单片机输出旳脉冲进行功率放大,从而驱动电机转动。

(1)控制电路根据步进电机旳工作原理可以懂得,步进电机转速旳控制重要是通过控制通入电机旳脉冲频率,从而控制电机旳转速。

基于单片机的步进电机控制探讨

基于单片机的步进电机控制探讨

基于单片机的步进电机控制探讨在步进电机的运行过程中,来自于单片机的电子脉冲信号可以控制其转动角度,而借助于单片机硬件电路以及软件编程等形式,则可实现步进电机的启动、停止以及正反转等动作,以此来实现对步进电机的有效控制。

基于此,本文分析了基于单片机的步进电机控制方法,以期为步进电机的应用与控制提供相应参考。

标签:单片机;步进电机;控制策略;控制系统0 引言步进电机的系统结构简单,对转动定位控制精准,因此步进电机在仪表控制和过程控制中发挥着至关重要的作用,且在当今的自动化控制、电动阀控制、数控机床以及医疗设施等各领域中得到了广泛应用。

而在步进电机的具体应用过程中,单片机可以对其起到更加精准的控制作用,以此来实现应用效果的显著提升。

因此,在步进电机的应用与研究中,应加大对单片机控制的研究,以此来实现步进电机的良好应用与发展。

1 步进电机工作原理在步进电机的运行过程中,电子脉冲信号数量及其频率对其转动速度以及停止位置起到决定性作用。

在步进电机运行过程中,如果给定一个脉冲信号,其转子便可经过相应角度,我们将该角度叫做步距角。

就目前的步进电机来看,步距角一般按照半步和一步进行划分,具体情况如表1所示。

按照以上划分方式,每给定一个脉冲信号,步进电机就可以转动0.9°,随着脉冲信号书的连续给定,可控制步进电机实现连续运转。

2 基于单片机的步进电机控制2.1控制系统框架分析2.1.1硬件系统设计构架分析在本次所研究的步进电机控制系统中,应用到的单片机为51单片机,主控制器型号为80C51,该控制器属于一种有着高效性的微控制器,通过该控制器的应用,可以为嵌入形式的控制系统提供出价格低廉、灵活度高的方案,其组成部分及其个数如表2所示。

在本次研究中,主要选择的步进电机是四相六线形式的步进电机,其额定电压是12V,这种步进电机可以在单拍模式下工作,也可以在单双拍混合模式下工作。

但是通常情况下,在该步进电机工作在单拍模式下时,其转动相角过度比较少,转动角度比较大,而且转动也并不十分连贯[1]。

基于单片机的步进电机转速控制器的设计的开题报告

基于单片机的步进电机转速控制器的设计的开题报告
[2]秦曾煌.电工学[M] .北京:高等教育出版社,1999.
[3]常斗南,等.可编程序控制器原理、应用、实验[M] .北京:机械工业出版社,1998.
[4]于海生,等.微型计算机控制技术[M] .北京:清华大学出版社,1999.
[5]王福瑞,等.单片机微机测控系统设计大全[M] .北京:北京航空航天大学出版社,1998.
设计(论文)
题目
基于单片机的步进电机转速控制器的设计
设计(论文)
类型(划“√”)
工程设计
应用研究
开发研究
基础研究
其它

一、本课题的研究目的和意义
步进电机已成为出直流电机和交流电机以外的第三类电动机。传统电动机作为机电能量转换装置,在人类的生活和生产进入电气化过程中起着关键的作用。可是在人类社会进入电气化时代的今天,传统电动机已不能满足工业自动化和办公自动化等各种运动控制系统的要求。发展了一系列新的具有控制功能的电动机系统,其中较有自己特点,且应用十分广泛的就是步进电机。
[14]王润孝,秦现生编著1机床数控原理与系统1西北工业大学出版社,1997.
[15]李伯成,侯伯李等编1IBM - PC微机应用系统设计1西安电子科技大学,1996.
[16]黄义源主编1机械设备电气与数字控制1中共广播电视大学出版社,1992
[17]Bai You'ai He JianDe Chen Qing (et al) Effects of nitrogen supply levels on greenhouse tomato growth and nitrogen utilization in Beijing Region.ChinaVegetables.InstituteofVegetablesand Flowers,Beijing,China: 2004. 2,7-9.

基于单片机的步进电机控制电路设计

基于单片机的步进电机控制电路设计

基于单片机的步进电机控制电路设计
步进电机是一种应用广泛的电机,它的控制方式是通过逐步改变电流来驱动电机转动。

基于单片机的步进电机控制电路设计可以使步进电机的控制更加精确、方便和自动化。

下面将介绍一下如何设计一台基于单片机的步进电机控制电路。

首先,我们需要选择合适的单片机。

对于步进电机控制,需要一个I/O口数目足够的单片机,并且要求计算速度快、性能稳定。

常用的单片机有AT89C51、AVR、PIC、STM32等,其
中STM32拥有强大的计算能力和外设支持,非常适合用于步
进电机控制电路的设计。

接下来,我们需要考虑步进电机的驱动方式。

步进电机可以采用全步进或半步进两种方式驱动。

全步进控制方式会让电机一步步转动,步距为180度,转速慢但精确度高,而半步进控制方式可以让电机先半步,再进入全步进控制,提高了转速同时又保持了较高的精度。

最后,我们需要设计电路连接和代码编写。

在电路连接方面,需要将单片机输出引脚和驱动芯片的控制引脚相连,同时将驱动芯片输出端和电机的相应引脚相连。

在代码编写方面,需要根据所选单片机的指令集来编写步进电机控制引脚输出的程序,实现步进电机转速和方向的控制。

综上所述,基于单片机的步进电机控制电路设计需要选取合适的单片机,选择合适的步进电机驱动方式,并根据电路连接和
代码编写来实现电机的精确控制。

这样设计出的步进电机控制电路可以应用于各种机械设备控制,使之更加智能化和自动化。

基于单片机的步进电机转速控制

基于单片机的步进电机转速控制

电子器件市场调研与系统设计实践专 业: *** 班 级: 姓 名: 学 号: 指导教师: ****大学****学院**** 年 **月**日基于单片机的步进电机调速与正反转控制系统1 系统要求步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。

随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。

本设计基于单片机控制的步进电机设计课题是以单片机为主控制模块,从而实现电机的启停、正反转和调速的目的的一个设计课题。

在课题设计之前,通过互联网了解到了当前步进电机的发展状况及发展前景。

同时也了解了当今最先进的步进电机所具备的功能,方便为课题设计提供参考和借鉴;最后,通过画原理框图的形式,以最直观的方式为整个课题设计制定了流程及要求。

1.1 设计目的《电子器件市场调研与系统设计实践》是本专业的重要实践教学环节,强调实际应用技能训练。

结合自动化专业系列课程的学习,培养我们对电子器件的认知,锻炼我们的市场调研能力,加深我们对自动化专业系列课程知识的掌握。

通过课程设计环节培养学生与人交往、独立思考和处理问题的能力。

1.2 设计内容及要求本次课程设计所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。

步进电机是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

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

基于单片机的步进电机控制器设计

基于单片机的步进电机控制器设计

设计题目:基于MCS-51单片机的反应式步进电机控制器设计,要求能够控制其转速、正反转和运行步数。

摘要:在中国这个发展中大国,单片机的出现意味着计算机分为通用计算机系统和嵌入式计算机系统。

单片机单芯片因它的体积微小和成本低廉的优点而广泛的应用到家电、仪表、汽车电子、工业控制单元、办公自动化设备、通信设备等这些产品中去,是现代电子系统中极其重要的智能化工具。

在未来,单片机将会进一步的走向低功耗、小体积、大容量、高性能、低价位和混合信号集成化。

本设计基于AT89S51单片机,利用反应式步进电机控原理,对其控制进行硬件和软件的设计。

以实现对反应式电机的控制器可对36BF003型步进电机进行正反转、启停、速度和步数控制。

关键字:步进电机;单片机;拍数;控制器;反应式一、控制原理分析1.1 三相步反应式进电机工作原理反应式步进电机又称可变磁阻式步进电机,它和普通的电机一样,也是有定子和转子组成,它利用磁阻转矩使转子转动。

三相反应式步进电机定机定子上有六个极,每个极上装有控制绕组,每相对的两极组成一相。

转子上有数个均匀分布的齿,其上没有绕组,当A相通电时,转子在磁场力的作用下与定子齿对齐,若切断A相电源,同时接通B相电源,在磁场力的作用下转子转过一个步距角(步距角由转子齿数、控制绕组相数和通电方式决定),如再使B相断电,同时使C相控制绕组通电,转子又转过一个步距角。

如此循环通电,并按A→B→C→A顺序通电,步进电机便按一定的方向转动。

电机的转速取决于控制绕组接通的断开的变化频率。

若改变通电顺序,即按A→C→B→A方式通电,则电机反向转动。

上述通电方式称为三相单三拍通电方式;这里的“拍”是指定子控制绕组每改变一次通电方式,为一拍;“单”是指每次只有一相控制绕组通电;“三拍”是指经过三次切换控制绕组的通电状态为一个循环。

三相步反应式进电机除上述通电方式外,还有三相双三拍和三相单双六拍通电方式,三相双三拍通电顺序为AB→BC→CA→AB或AB→CA→BC→AB,三相单双六拍通电顺序为A →AB→B→BC→C→CA→A或A→AC→C→CB→B→BA→A,这里“AB”表示A、B两相同时通电,依此类推。

基于单片机控制的步进电机调速系统的设计

基于单片机控制的步进电机调速系统的设计

基于单片机控制的步进电机调速系统的设计步进电机是一种常用的电机类型,它通常用来实现精确定位和控制运动。

步进电机的控制需要一个精确的调速系统来确保稳定的运行和准确的位置控制。

本文将基于单片机控制的步进电机调速系统进行设计。

首先,我们需要选择合适的硬件以及编程平台。

本设计选择使用Arduino Uno作为单片机控制器,它具有易用性和强大的控制功能。

步进电机选择了NEMA 17型号,它具有较高的分辨率和扭矩输出。

接下来,进行电路设计与连接。

将步进电机的四个线圈连接到单片机的GPIO引脚上,并使用电流驱动模块控制电机的供电。

通过连接外部电源,电流驱动器将为步进电机提供稳定的电流,以确保电机能够正常工作。

在编程方面,首先需要编写初始化代码,配置单片机的GPIO引脚以及串口通信功能。

然后,可以使用Arduino提供的步进电机库来控制电机的旋转。

该库提供了简单的命令来控制步进电机的转动方向和转速。

为了设计调速系统,我们可以使用一个旋转编码器来实时监测电机的转速。

旋转编码器将会测量电机的转动次数,从而计算出电机的转速。

在单片机的程序中,我们可以设置一个目标转速,并根据旋转编码器的数据来调整电机的驱动频率。

为了实现平滑的调速过程,我们可以使用PID控制算法来调整电机的驱动频率。

PID控制算法是一种经典的反馈控制算法,它可以根据目标值和实际值之间的差异来调整控制信号。

通过不断地比较电机的实际速度与目标速度,PID控制算法可以动态地调整电机的驱动频率,以达到稳定的调速效果。

最后,我们可以设计一个用户界面来设置目标速度和监控电机的运行状态。

通过串口通信功能,单片机可以与上位机进行数据交互,用户可以通过上位机发送指令来设置目标速度,并且可以实时监测电机的转速和运行状态。

总结起来,基于单片机控制的步进电机调速系统设计需要进行硬件选择与连接、软件编程以及用户界面设计。

通过合理地选择硬件和软件方案,以及使用PID控制算法,我们可以实现一个稳定且准确的步进电机调速系统。

基于单片机的步进电机转速控制全解

基于单片机的步进电机转速控制全解

电子器件市场调研与系统设计实践专业:***班级:姓名:学号:指导教师:****大学****学院**** 年 **月**日基于单片机的步进电机调速与正反转控制系统1 系统要求步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。

随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。

本设计基于单片机控制的步进电机设计课题是以单片机为主控制模块,从而实现电机的启停、正反转和调速的目的的一个设计课题。

在课题设计之前,通过互联网了解到了当前步进电机的发展状况及发展前景。

同时也了解了当今最先进的步进电机所具备的功能,方便为课题设计提供参考和借鉴;最后,通过画原理框图的形式,以最直观的方式为整个课题设计制定了流程及要求。

1.1 设计目的《电子器件市场调研与系统设计实践》是本专业的重要实践教学环节,强调实际应用技能训练。

结合自动化专业系列课程的学习,培养我们对电子器件的认知,锻炼我们的市场调研能力,加深我们对自动化专业系列课程知识的掌握。

通过课程设计环节培养学生与人交往、独立思考和处理问题的能力。

1.2 设计内容及要求本次课程设计所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。

步进电机是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

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

本次课程设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。

基于单片机的步进电机调速系统设计

基于单片机的步进电机调速系统设计

基于单片机的步进电机调速系统设计摘要:随着科学技术水平的日益提高,生活水平的逐步提高,平稳,噪音低的步进电机逐步走进生活、学习和办公的各个领域。

这次步进电机调速系统的设计引进了加、减速和正、反转按键控制功能,同时也用数码管显示步进电机转速的7个不同的等级,用彩色二极管显示电机的正转,反转,停止和运行。

通过编写程序烧录到单片机然后给步进电机输入信号进而得以控制步进电机的速度和加速度,从而实现单片机对步进电机调速系统的控制。

关键词:步进电机;调速系统;单片机1引言当今社会各行各业的崛起、发展、繁荣都已经离不开电子电路,手机,电脑,电梯已经成为当今人类离不开的生活必须品,而电机是这些电子电气产品中不可或缺的器件,所以对电机的控制以及电机的精准运行显得尤为重要,本次设计将围绕电机的正转反转,转速等级,以及电机启动停止的控制展开系统的设计。

2设计思路这次步进电机调速系统设计整体可以划分为三个模块:单片机基本单元电路,外围电路和程序编写。

单片机系统的基本单元电路为晶振电路和复位电路,其中晶振电路由两个电容和一个晶振构成,在单片机基本单元电路中晶振电路中的两个电容原件有快速其中和稳定频率的作用;复位电路包含两种,其中一种为上电复位电路,另一种为按键与复位电路。

外围电路由三个模块构成,其中P0口接四个不同颜色的发光二极管实现停止、运行、正反转的显示;P2口接数码管,用来显示步进电机转速的不同等级;P3口分别接有四个不同功能的按键,为加速键,减速键,启动键和反转键;P1口通过74LS04反向器与达林顿管ULN2003相接从而启动步进电机的运行转动。

通过上网查阅资料,编写测试各个子程序块,然后连接组合整理成完整的运行程序,实现对步进电机调速的控制。

3硬件电路80C51单片机基本单元电路。

包含晶振电路和复位电路。

复位电路中当RST 引脚加高电平复位信号时,单片机内部就执行复位操作,当复位信号变为低电平时,单片机便开始执行程序。

基于单片机的步进电机调速电路设计

基于单片机的步进电机调速电路设计

摘要步进电机又称脉冲电动机,是数字控制系统中的一种执行元件。

其功能是将脉冲电信号变换为相应的角位移或直线位移,且其输出转角、转速与输入脉冲个数、频率有着严格的同步关系。

步进电机由于其本身的特点,在具体的应用中有利于装置或设备的小型化和降低成本。

因而,广泛地应用在众多的领域中并得以不断的发展。

本设计采用8位单片机AT89S52对步进电机进行控制,通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过驱动芯片驱动步进电机;同时,用4个按键来对电机的状态进行控制,并用数码管显示电机的转速。

关键词步进电机单片机驱动速度控制ITHE DESIGN OF SPEED GOVERNING CIRCUIT FOR STEPPER MOTOR BASED ON MCUABSTRACTKnown as a pulse motor, Stepper motor is an implementation component in the digital control system. Its function is converted into a pulse signal corresponding to the angular displacement or linear displacement, and the output angle, speed and the number of the input pulses, the frequency has a strict synchronization relationship. Because of Stepper motor’s own characteristics, the specific applicatio n in favor of apparatus or equipment turn into miniaturization and make its cost into reduction. Therefore, it was widely used in many areas and developed continuously. This design uses 8-bit MCU AT89S52 to control stepper motor, with the output of timing the square wave through I/O port as stepper motor control signals, and the signal driver stepper motor through the driver chip; same time, to control the state of the motor with four keys and display the motor speed on LED indicator.KEY WORDS Stepper Motors MCU Drive Speed Governing目录中文摘要 (I)英文摘要......................................................................................................... I I 1 绪论.. (1)1.1 步进电机及其发展 (1)1.2 步进电机在我国的发展应用及前景 (1)1.3 本文研究内容 (3)2 步进电机的结构、工作原理及特性 (4)2.1 步进电机的概念 (4)2.2 步进电机的结构及工作原理 (4)2.2.1 步进电机的结构 (4)2.2.2 工作原理 (4)2.3 步进电机的特点 (6)2.4 步进电机的常用术语 (7)2.5 步进电机的振荡和失步 (8)2.5.1 振荡 (8)2.5.2 失步 (9)2.6 阻尼方法 (9)3 总体硬件设计 (11)3.1 控制系统框图 (11)3.2 单片机最小系统 (11)3.2.1 时钟电路 (12)3.2.2 复位电路 (13)3.3 显示电路 (14)3.4 按键控制电路 (15)3.5 步进电机驱动电路 (16)4 步进电机的单片机控制原理 (18)4.1 单片机控制系统流程图 (18)4.2 脉冲序列 (18)4.2.1 脉冲序列的生成 (18)4.2.2 脉冲序列的分配 (19)4.3 步进电机的运行控制 (20)4.3.1 步进电机的速度控制 (20)4.3.2 步进电机的方向控制 (21)4.3.3 步进电机的位置控制 (22)4.3.4 步进电机的加减速控制 (22)5 程序设计 (28)5.1 主程序设计 (28)5.2 定时中断设计 (30)5.3 外部中断设计 (31)6 结论 (32)致谢 (33)参考文献 (34)附录 (36)1 绪论1.1 步进电机及其发展步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字执行元件,随着计算机应用技术、电子技术和自动控制技术在国民经济各个领域中的普及与深入,步进电机的需求量越来越大。

基于单片机的步进电机转速控制

基于单片机的步进电机转速控制

电子器件市场调研与系统设计实践专 业: *** 班 级: 姓 名: 学 号: 指导教师: ****大学****学院**** 年 **月**日基于单片机的步进电机调速与正反转控制系统1 系统要求步进电动机就是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点就是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。

随着微电子与计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。

本设计基于单片机控制的步进电机设计课题就是以单片机为主控制模块,从而实现电机的启停、正反转与调速的目的的一个设计课题。

在课题设计之前,通过互联网了解到了当前步进电机的发展状况及发展前景。

同时也了解了当今最先进的步进电机所具备的功能,方便为课题设计提供参考与借鉴;最后,通过画原理框图的形式,以最直观的方式为整个课题设计制定了流程及要求。

1、1 设计目的《电子器件市场调研与系统设计实践》就是本专业的重要实践教学环节,强调实际应用技能训练。

结合自动化专业系列课程的学习,培养我们对电子器件的认知,锻炼我们的市场调研能力,加深我们对自动化专业系列课程知识的掌握。

通过课程设计环节培养学生与人交往、独立思考与处理问题的能力。

1、2 设计内容及要求本次课程设计所选的步进电机就是四相步进电机,采用的方法就是利用单片机控制步进电机的驱动。

步进电机就是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转就是以固定的角度一步一步运行的。

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

基于51系列单片机控制步进电机调速实验

基于51系列单片机控制步进电机调速实验

基于51系列单片机控制步进电机调速实验实验目的及要求:1、熟悉步进电机的工作原理2、熟悉51系列单片机的工作原理及调试方法3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量)4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。

速度设定由键盘设定,步进电机的反馈速度由LED数码管显示。

实验原理:步进电机控制原理一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。

步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。

由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。

随着数字控制系统的发展,步进电动机的应用将逐渐扩大。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路根据控制信号工作,控制信号可以由单片机产生。

电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。

0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)图1 是反应式步进电动机结构示意图,它的定子具有均匀分布的六个磁极,磁极上绕有绕组。

基于单片机控制的步进电机转速控制系统

基于单片机控制的步进电机转速控制系统

基于单片机控制的步进电机转速控制系统
杨莉;魏萍
【期刊名称】《南昌工程学院学报》
【年(卷),期】2005(024)002
【摘要】叙述了以单片机8751为核心、以EPROM为主的环形分配器以及计数/定时器8253实现步进电机的转速控制系统,提出了通过软件中断方式实现步进电机的变速控制的方案.
【总页数】3页(P77-79)
【作者】杨莉;魏萍
【作者单位】南昌大学,信息工程学院,江西,南昌,330029;南昌大学,信息工程学院,江西,南昌,330029
【正文语种】中文
【中图分类】TM301.2
【相关文献】
1.基于X-Y控制平台的步进电机单片机闭环控制系统 [J], 李颖;张伏生;张志勇
2.基于单片机的直流电机转速测量与控制系统设计 [J], 祖一康;徐妙婧
3.基于单片机的交流伺服电机转速控制系统研究 [J], 赵磊;王哈力;何绪锋;周永勤
4.基于单片机的电机转速控制系统的设计 [J], 杨艳霞
5.基于单片机的交流伺服电机转速控制系统设计 [J], 张国斌;尹岗
因版权原因,仅展示原文概要,查看原文内容请购买。

基于单片机的步进电机转速控制

基于单片机的步进电机转速控制

电子器件市场调研与系统设计实践专 业: *** 班 级: 姓 名: 学 号: 指导教师: ****大学****学院**** 年 **月**日基于单片机的步进电机调速与正反转控制系统1 系统要求步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。

随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。

本设计基于单片机控制的步进电机设计课题是以单片机为主控制模块,从而实现电机的启停、正反转和调速的目的的一个设计课题。

在课题设计之前,通过互联网了解到了当前步进电机的发展状况及发展前景。

同时也了解了当今最先进的步进电机所具备的功能,方便为课题设计提供参考和借鉴;最后,通过画原理框图的形式,以最直观的方式为整个课题设计制定了流程及要求。

1.1 设计目的《电子器件市场调研与系统设计实践》是本专业的重要实践教学环节,强调实际应用技能训练。

结合自动化专业系列课程的学习,培养我们对电子器件的认知,锻炼我们的市场调研能力,加深我们对自动化专业系列课程知识的掌握。

通过课程设计环节培养学生与人交往、独立思考和处理问题的能力。

1.2 设计内容及要求本次课程设计所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。

步进电机是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子器件市场调研与系统设计实践专业:***名:号:指导教师:**** —大^学 ****学院**** 年**月**日基于单片机的步进电机调速与正反转控制系统1 系统要求步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。

随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。

本设计基于单片机控制的步进电机设计课题是以单片机为主控制模块,从而实现电机的启停、正反转和调速的目的的一个设计课题。

在课题设计之前,通过互联网了解到了当前步进电机的发展状况及发展前景。

同时也了解了当今最先进的步进电机所具备的功能,方便为课题设计提供参考和借鉴;最后,通过画原理框图的形式,以最直观的方式为整个课题设计制定了流程及要求。

1.1 设计目的《电子器件市场调研与系统设计实践》是本专业的重要实践教学环节,强调实际应用技能训练。

结合自动化专业系列课程的学习,培养我们对电子器件的认知,锻炼我们的市场调研能力,加深我们对自动化专业系列课程知识的掌握。

通过课程设计环节培养学生与人交往、独立思考和处理问题的能力。

1.2 设计内容及要求本次课程设计所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。

步进电机是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角” ),它的旋转是以固定的角度一步一步运行的。

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

本次课程设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。

另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

2 系统方案及原理2.1 系统设计方案该步进电机调速系统主要具有电机启停、调速、正反转控制和显示功能,现将该步进电机调速控制系统实现的所有功能的具体步骤整理如下:(1)步进电机启停功能。

单片机预设初值,预设初值脉冲发送给驱动器,驱动步进电机按预设的最低速运行。

(2)步进电机调速功能。

将产生的不同频率和脉宽的脉冲信号输入到驱动器中,驱动电机在单位时间内转动若干个步角距。

(3)步进电机转向控制。

通过改变步进电机绕组的通电相序,改变转子的转向,从而实现步进电机的正反转控制功能。

(4)复位功能。

通过复位单片机,使单片机输出的脉冲复位为预设初值,从而使步进电机复位为预设最低速度运行。

(5)显示功能。

通过在四位一体数码管中显示设定步进电机目前的转速和转向。

2.2自动浇花系统原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。

系统是单片机控制,整个设计的电压是5v,所以电机的电压也要选择5v可以驱动的,所以本实验选择28BYJ-48步进电机作为设计对象,步进电机28BYJ48型四相八拍电机,电压为DC5—DC12V当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

原理框图如图1。

单片机图1步进电机控制系统原理框图3市场调研及硬件设计3.1市场调研P2.4为脉冲信号输入端定义,原理图如图2认真分析了题目所要求的功能后,进行了系统设计。

对方案进行了仿真实验,并对所需的器件进行了市场调研,通过不同的途径,包括淘宝店、天猫购物、实体店,对比分析后,最优方案是通过淘宝店购买元器件。

主要的元器件罗列如表1表1硬件电路板主要元器件通过硬件电路搭建后,完成实物电路板的焊接过程,实物图见附录A。

3.2电路原理图从控制系统的大小和复杂度出发,必须考虑单片机的基本参数和增强功能。

前者往往需要考虑芯片的速度,ROM容量,I/O引脚数量和工作电压(1.8V/3V/5V) 等,后者则包括是否拥有看门狗,双指针,双串口,实时时钟,CAN接口,SPI接口,USB接口等附加模块。

本设计中受控对象只有超声波、声光报警,复杂度低,采用低端的通用的单片机芯片就能够满足要求。

P0 口为四位一体数码管的段选。

P1.0为步进电机启停按键定义,P1.1为步进电机正反转按键定义,P3.0为步进电机加速按键定义,P3.1为步进电机减速按键定义,P2.0、P2.1、P2.2、P2.3 为四位一体数码管的位选。

P2.7、P2.6、P2.5、4硬件调试及分析4.1 Proteus 软件仿真在实物制作前,需要首先在 Proteus 仿真软件中对电路进行设计(即对硬件 电路图进行合理的搭配,如图2),通过仿真软件测试电路与编译的程序相配合, 检查外围电路设计是否合理,程序编译是否正确,以及软件和硬件是否能够正常 配合工作,实现设计中的要求,若仿真电路没有问题,就可以在实际电路中对实 物进行焊接制作。

我选择单片机仿真软件Proteus8.2仿真以及Keil4编译。

源程 序见附录B 。

4.2按键电路按键操作在四位一体数码管上显示步进电机的转速和转向,有启停按键,正 反转按键以及加减速按键,如图 3P5 I.Afi甩祁12」M KvKrt:'-:1"I.日PF畑IP2.4为脉冲信号输入端定义,原理图如图2图3按键电路图4.3显示电路检测到土壤湿度湿度和预先设置的上下限值,显示在液晶显示屏上,如图44.4驱动电路STC89C51R 的P2 口作为驱动电路的控制引脚,P2输入高电平时,对应的输 出为0,LED 灯亮,步进电机转动,水泵工作;P2口输入低电平时,对应输出为1, LED 灯熄灭,步进电机停止转动,如图 5。

图5驱动电路5总结在把理论设计转换成实物的整个过程,如:电路设计、分析计算、画电路图、 焊接电路、检查调试、软件流程控制设计分析、编写调试软件、烧写软件到整个 软硬件系统的调试,最后直到系统完成。

其中整个系统的前期准备是首先必须做 到位的,如控制什么、用什么控制、得到什么结果,进而对各部分应选择具体的 芯片作进一步的考虑,以使系统得到最优的表现。

通过本课题,一方面我在查阅资料的基础上,了解 STC89C5单片机控制的一 些基本技术,掌握其控制系统的分析方法与实现方法 ,能对单片机外围电路设计进 行系统学习与掌握;另一方面,在设计步进电机控制系统的硬件电路,控制程序 和相应的电路图时,应充分运用说学知识,善于思考,琢磨,分析。

我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的, 还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是 一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。

学习就应该采 取理论与实践结合的方式,理论的问题,也就是实践性的课题。

这种做法既有助 于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能图4步进电机一档速正转U2B B B n B B B12 3 4 & G /P2.4为脉冲信号输入端定义,原理图如图2力。

参考文献[1] 王思明,张金敏,苟军年•单片机原理及应用系统设计[M].北京:科学出版社,2012.[2] 周润景,文U晓霞.基于PROYEUS勺电路设计、仿真与制板[M].北京:电子工业出版社,2013.8.[3] 潭浩强.C 语言程序设计. 清华大学出版社[M].2005.07.[4] 张毅刚,MCS-51 单片机应用设计[M]. 哈尔滨工业大学出版社.2004.[5] 刘乐喜. 微机计算机接口技术及应用[M]. 华中科技大学出版社.2005.08.[6] 冯博琴. 微型计算机原理与接口技术[M]. 清华大学出版社.2004.附录A实物图附录 B 源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define led P0// 数码管段选#define haha P2sbit si = P1A0;sbit s2 = P1A1;sbit s3 = P3A0;sbit s4 = P3X;〃按键定义,s1 正转,s2反转,s3 加 1 ,s4 减1sbit wei3 = P2A3;sbit wei2 = P2A2;sbit wei1 = P2A1;sbit wei0 = P2A0;// 数码管位选定义sbit a = P2A7;sbit b = P2A6;sbit c = P2A5;sbit d = P2A4;// 脉冲信号输入端定义uchar code display[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};// 共阳数码管驱动信号0---9 ,不显示uchar code time_counter[10][2]={{0xda,0x1c},{0xde,0xe4},{0xe1,0xec},{0xe5,0xd4},{0xe9,0xbc},//9.7 --- 1ms {0xed,0xa4},{0xf1,0x8c},{0xf5,0x74},{0xf9,0x5c},{0xfc,0x18}};uchar code qudong[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90};uchar num1 = 0;// 控制取励磁信号变量uchar num2 = 8;uchar k=1;// 加减档位控制, 1 为最小档bit flag1 = 0;// 初始正转,正反转标志uchar buf[4]={0,10,10,1};// 数码管显示缓存,正转,不显示,不显示,显示1 档位, 高----------------- 低//================================ 定时器0/1 初始化函数void T0_T1_init(){TMOD = 0x11;// 定时器0/1 均工作于方式1,16 位计时方式TH0 = (65536 - 4000)/256;TLO = (65536 - 4000)%256;〃定时器0,定时4ms用于数码管扫描显示TH1 = time_counter[k-1][0];TL1 = time_cou nter[k-1][1];〃定时器1,定时10ms用于步进电机转速控制TR0 = 1;TR1 = 1;ET0 = 1;ET1= 1;// 开定时器中断EA = 1;// 开总中断}//================================ms 级延时函数void delay1m(uint x){uint i,j;for(i=0;i<x;i++) // 连数x 次,约x ms for(j=0;j<120;j++); // 数120 次,约1 ms } //================================ 主void main()T0_T1_init();buf[1] = 10;// 不显示while(1){if(s1 == 0){ delay1m(3); if(s1 == 0) {flag1 = 0;// 正转buf[0] = 0;// 最高位显示0 haha = 0x00;// 停止{k--;if(k == 0){k = 10;}buf[2]= k/10;buf[3]= k%10;}flag1 = 1;// 反转buf[0] = 1;// 最高位显示 1haha = 0x00;// 停止}while(!s2); } if(s3 == 0) // {delay1m(3); if(s3 == 0) {速度加 1 档k++;if(k > 10 ){k = 1;}buf[2]= k/10; buf[3]= k%10;}while(!s3);}if(s4 == 0) // 速度减1 档{delay1m(3);if(s4 == 0){k--; if(k == 0){k = 10;}buf[2]= k/10; buf[3]= k%10;}while(!s4);}}}//==================================定时器0 中断函数,用于数码管扫描显示void time0_interrupt()interrupt 1 {static num = 0;TH0 = (65536 - 4000)/256;TL0 = (65536 - 4000)%256;//定时器0,定时4ms用于数码管扫描显示switch(num){case 0:wei3=1;wei2=1;wei1=1;wei0=0;led = display[buf[3]];break; case1:wei3=1;wei2=1;wei1=0;wei0=1;led = display[buf[2]];break; case2:wei3=1;wei2=0;wei1=1;wei0=1;led = display[buf[1]];break;case 3:wei3=0;wei2=1;wei1=1;wei0=1;led = display[buf[0]];break; } num++;if(num == 4)num = 0;}//==================================定时器1 中断函数,用于脉冲频率控制void time1_interrupt()interrupt 3{static num1 = 0;static num2 = 0;TH1 = time_counter[k-1][0];TL1 = time_counter[k-1][1];//定时器1,定时 1 用于步进电机转速控制if(flag1 == 0)// 正转{switch(num1){case 0:a = 1;b = 0;c = 0;d = 0;break; case 1:a = 1;b = 1;c = 0;d = 0;break; case 2:a = 0;b= 1;c = 0;d = 0;break; case 3:a = 0;b = 1;c = 1;d = 0;break; case 4:a = 0;b = 0;c = 1;d =0;break;case 5:a = 0;b = 0;c = 1;d = 1;break; case 6:a = 0;b = 0;c = 0;d = 1;break; case 7:a = 1;b= 0;c = 0;d = 1;break;} num1++;if(num1 == 8)num1 = 0; }else // 反转{ switch(num2) {case 0:a = 1;b = 0;c = 0;d = 1;break; case 1:a = 0;b = 0;c = 0;d = 1;break; case 2:a = 0;b = 0;c = 1;d = 1;break; case 3:a = 0;b = 0;c = 1;d = 0;break; case 4:a = 0;b = 1;c = 1;d = 0;break;case 5:a = 0;b = 1;c = 0;d = 0;break; case 6:a = 1;b = 1;c = 0;d = 0;break; case 7:a = 1;b = 0;c = 0;d = 0;break; } num2++;if(num2 == 8)num2 = 0;。

相关文档
最新文档