51单片机直流无刷电机控制
基于51单片机的直流电机控制
51 单片机的直流电机控制一、试验器件选择1、控制芯片的作用主要是与L289相连接驱动直流电机,以及与八位数码管相连显示。
(1)、AT89C51是一种带4K自己FLASH存储器的低压、高性能CMOS8为微处理器。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失真存储制造技术制造,与工业标准的MCS-51指令集和输出关键相兼容。
由于将多功能8位CPU和闪存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性奥高且廉价的方案。
(2)、AT89C51引脚图如下:2、电机驱动芯片(1)、电机驱动芯片选择L298。
其主要功能是作为单片机与直流电机中间的过度链接,单片机输出的信号通过L298加载到直流电机上驱动直流电机运行。
(2)、主要工作原理:1、15脚分别是两个H 桥的电流反馈脚,不用时可以直接接地;2、3为一对输出端口, 13、14为一对输出端口; 4为驱动电压输入,最小值必须比输入的低电平高 2; 5、7一对输入端口,10、12 —对输入端口,TTL 电平兼容 6、11使能端,低电平禁止输出; 8、9分别为接地和逻辑电源3、直流电机。
在protues 中选择motor-encoder 直流电机,引脚图如下:上方左右的两个引脚在点击运转时输出频 率相同的方波,但是在相位上相差 90,而且在正转和反转是相反,因此可以根据这两个引 脚的输出情况判断点击的转向。
上方中间的引脚每当电机转一圈就输出一个正脉冲, 可以据此册数点击的转速。
左 右两个引脚是电机的电压输入端。
4、74HC74 。
当D 触发器的D 和CLK 输入端分别接电机上方的左右两个输出其引脚图如下:U213VS0UT1 0UT2OUT3 VCC IN1IN2 IN3 IN4 ENA ENB 10 12770UT4GNDL298SENSA SENSB端口时可以根据D触发器的输出情况判断点击的转速。
基于AT89C51单片机控制的无刷直流电机设计毕业论文
摘要随着科学技术的发展,现代工业的需要,无刷直流电动机迅速发展,取代传统电动机。
无刷直流电动机的效率高、精度准确、速度快,广泛应用于各种电噐领域。
本设计中的电动自行车的电机使用的是无刷直流电动机,控制噐选择AT89C51单片机,通过霍尔位置传感噐反映电机转子的位置的信息,单片机编写程序操控无刷直流电机。
分析系统中的无刷直流电动机、单片机、驱动芯片、数码管、键盘的功能以及工作原理。
讨论了无刷直流电动机的几种运行特性,得出相应结论。
根据无刷直流电动机的特性,采用PWM技术对电机进行调速,霍尔传感噐测量的转速通过单片机显示在数码管上。
通过技术分析,软件以及硬件设计,达到了预期的结果。
关键词:无刷直流电动机;单片机;霍尔位置传感噐AbstractWith the development of science and technology, should now industrial needs, brushless DC motor to develop rapidly to replace the traditional motor. Brushless DC motor with high efficiency, accurate accuracy, speed, widely used in a variety of electrical fields.The design of the electric bicycle motor is a brushless DC motor, select the AT89C51 microcontroller as a controller, capture the comparison level and Hall position sensor feedback signal, through the software programming control brushless DC motor. Analysis of the system in the brushless DC motor, microcontroller, driver chip, digital tube, keyboard function and working principle. The working characteristics of brushless DC motor are discussed. According to the characteristics of brushless DC motor, PWM motor is used to speed the motor. Hall sensor measurement speed through the microcontroller shown in the digital tube, by looking for information, hardware and software design, and ultimately to achieve the system requirements. Key words: brushless dc motor;the microcontroller;hall position sensor目录1前言 (2)2无刷直流电动机的介绍 (4)2.1无刷直流电动机的概念 (4)2.2无刷直流电动机的研究意义 (4)2.3无刷直流电动机以及有刷直流电动机的对比 (5)3无刷直流动电机的结构原理以及工作特性 (7)3.1无刷直流电动机的结构 (7)3.1.1电机本体 (7)3.1.2转子位置传感噐 (7)3.1.3电子换向噐 (8)3.2无刷直流电机的原理 (8)3.3无刷直流电动机的运行特性 (10)3.3.1机械特性 (10)3.3.2调节特性 (11)3.3.3工作特性 (12)4无刷直流电动机控制噐的选型与设计 (13)4.1无刷直流电动机控制噐设计 (13)4.1.1设计方案比较与选择 (13)4.1.2无刷直流电动机系统结构框图 (14)4.2控制噐的组成及原理 (15)4.3脉宽调制(PWM)技术 (15)5 AT89C51单片机的结构以及工作原理 (17)5.1 AT89C51单片机的硬件结构 (17)5.2 AT89C51单片机的引脚功能介绍 (18)5.3 AT89C51单片机的工作方式 (19)5.4 AT89C51单片机的最小应用系统 (21)5.5 AT89C51单片机的指令系统 (22)6硬件电路以及软件的设计 (23)6.1硬件电路设计 (23)6.1.1单片机与按键键盘电路设计 (23)6.1.2单片机与数码管的电路设计 (25)6.1.3逆変电路与驱动电路设计 (26)6.1.4限流保护电路 (29)6.2软件设计 (29)6.2.1控制噐软件设计 (29)6.2.2程序流程图 (31)7技术经济分析 (34)8结论 (35)致谢 ............................................................................................ 错误!未定义书签。
基于51单片机的直流电机控制系统设计
摘要本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。
控制系统主要是以8051单片机为核心组成的控制系统,本系统中的电机转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此,由MCU内部的可编程计数器阵列输出PWM波,以调整电机两端电压与控制波形的占空比,从而实现调速。
目录第一章:设计任务 (1)第二章:总体设计方案 (2)第三章系统硬件电路设计 (2)第四章系统的软件设计 (3)第五章:程序 (5)第六章:PCB图 (5)第七章:元件清单 (5)第八章:参考文献 (5)第九章:心得体会 (6)第一章:设计任务任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的转速在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案总体设计方案的硬件部分详细框图如图一所示。
键盘向单片机输入相应控制指令,由单片机通过P1.0与P1.1其中一口输出与转速相应的PWM脉冲,另一口输出低电平,经过ULN2003芯片控制电路,实现电动机转向与转速的控制。
电动机的运转状态通过数码管显示出来。
电动机所处速度级以速度档级数显示。
正转时最高位显示“三”,其它三位为电机转速;反转时最高位显示“F”,其它三位为电机转速。
每次电动机启动后开始显示,停止时数码管显示出“0000”。
第三章系统硬件电路设计整体框图如下本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和功能、PWM脉宽控制和数码管显示等部分的设计。
单片机资源分配如下表:①PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:/*****************延时函数*************************/delays(){uchar i;for(i=5000;i>0;i--);}②键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。
基于51单片机的无刷直流电动机控制器设计说明
系 别:机电与自动化学院
专 业 班:电气工程及其自动化0702班
姓 名:
学 号:
指导教师:
2010年5月
基于51单片机的无刷直流电动机
控制器设计
TheDesign ofBrushless DCMotorControllerBased on MCS-51Singlechip
绪 论
传统的直流电机一直在电机驱动系统中占据主导地位,但由于其本身固有的机械换向器和电刷导致电机容量有限、噪音大和可靠性不高,因而迫使人们探索低噪音、高效率并且大容量的驱动电机。随着电力电子技术和微控制技术的迅猛发展而成熟起来的直流无刷电机体积小、重量轻、效率高、噪音低、容量大且可靠性高,从而极有希望代替传统的直流电机成为电机驱动系统的主流。
摘 要
近年来,无刷直流电动机愈来愈多地在很多领域得到应用,它除了保持有刷直流电动优越的起动性能和调速性能以外,其最大的特点,就是没有换向器和电刷组成的机械接触结构,因而具有寿命长、噪声低、运行可靠、维护简便等一系列优点,且由于其转速不受机械换向的限制,可在宽广的范围内平滑地调速。例如在电动自行车上应用无刷直流电动机来取代原来的有刷直流电动机,由于采用了电子无接触式换向,不仅延长了电机的使用寿命,而且调速方便,易于控制,运行平稳。
Recently,brushless DC motor has been applied in many area.Besides the good performance of startup and speed control,its remarkable characteristic is that there is no commutator and brush。So the brushless DC motor has some advantages such as long life,low noise,reliable operation and easy maintenance.Its speed Can be regulated in a large range smoothly because of no limitation of mechanical commutator.For the electric bicycle,the motor with brush has been replaced by the brushless one.Due to the commutation without touch,the life of motor is prolonged and the motor is easy to be controlled.
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
基于C51单片机的直流电机PWM调速控制--SQ这是最近一阶段自己学习所获,现分享与大家。
这里采用A T89C52单片机做主控制芯片,实现两路直流电机的PWM调速控制,另外还可以实现转向、显示运行时间、显示档位等注:考虑小直流电机自身因素,调速范围仅设有四级电路原理图:C语言程序源代码:/******************** 硬件资源分配*********************/数码管:显示电机状态(启停、正反、速度)、运行时间、是否转弯按键:K4 启动/暂停K3 正反转/转弯允许K2 加速/左转/运行时间清零K1 减速/右转/停止定时器:T0 数码管动态显示,输出PWMT1 运行时间记录********************************************************//*******主程序文件PWM.c******/#include <reg52.h>#include "Afx.h"#include "Config.c"#define CIRCLE 5 //脉冲周期//按键定义uchar key,key_tmp=0, _key_tmp=0;//显示定义uchar LedState=0xF0; //LED显示标志,0xF0不显示,Ox00显示uchar code LED_code_d[4]={0xe0,0xd0,0xb0,0x70}; //分别选通1、2、3、4位uchar dispbuf[4]={0,0,0,0}; //待显示数组uchar dispbitcnt=0; //选通、显示的位uchar mstcnt=0;uchar Centi_s=0,Sec=0,Min=0; //分、秒、1%秒//程序运行状态标志bit MotState=0; //电机启停标志bit DirState=0; //方向标志0前,1后uchar State1=-1;uchar State2=-1;uchar State3=0;uchar State4=-1;uchar LSpeed=0;uchar RSpeed=0;//其他uint RunTime=0;uint RTime_cnt=0;uint LWidth;uint RWidth; //脉宽uint Widcnt=1;uint Dispcnt;//函数声明void key_scan(void);void DisBuf(void);void K4(void);void K3(void);void K2(void);void K1(void);void disp( uchar H, uchar n );void main(void){P1|=0xF0;EA=1;ET0=1;ET1=1;TMOD=0x11;TH0=0xFC;TL0=0x66; //T0,1ms定时初值TH1=0xDB;TL1=0xFF; //T1,10ms定时初值TR0=1;Widcnt=1;while(1){key_scan();switch(key){case 0x80: K1(); break;case 0x40: K2(); break;case 0x20: K3(); break;case 0x10: K4(); break;default:break;}key=0;DisBuf();LWidth=LSpeed;RWidth=RSpeed;}}//按键扫描**模拟触发器防抖void key_scan(void){key_tmp=(~P3)&0xf0;if(key_tmp&&!_key_tmp) //有键按下{key=(~P3)&0xf0;}_key_tmp=key_tmp ;}//按键功能处理/逻辑控制void K4(void){if(State4==-1){State4=1;TR1=1;dispbuf[3]=1;LedState=0x00; //打开LEDMotState=1; //打开电机LSpeed=1;RSpeed=1; //初速设为1}else if(State4==1){State4=0;TR1=0;MotState=0; //关闭电机}else if(State4==0){MotState=1;if(State3==0){State4=1;TR1=1;}else if(State3==1){LSpeed=2;RSpeed=2;}}}void K3(void){if(State4==1)DirState=!DirState;if(State4==0){if(State3==0){State3=1; //可以转向标志1可以,0不可以TR1=1;dispbuf[3]=9;MotState=1;LSpeed=2;RSpeed=2;}else if(State3==1){State3=0;TR1=0;dispbuf[3]=0;MotState=0;}}}void K2(void){if(State4==1&&LSpeed<4&&RSpeed<4){LSpeed++;RSpeed++;}else if(State4==0){if(State3==0){//State4=-1;//LedState=0xF0;MotState=0;Sec=0;Min=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=0;LSpeed=2;RSpeed++;}}}void K1(void){if(State4==1&&LSpeed>1&&RSpeed>1){LSpeed--;RSpeed--;}else if(State4==0){if(State3==0){State4=-1;LedState=0xF0;MotState=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=1;LSpeed++;RSpeed=2;}}}//显示预处理void DisBuf(void){if(RTime_cnt==100){Sec++;RTime_cnt=0;}if(Sec==60){Min++;Sec=0;}if(State4==1){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;if(!DirState) //正转dispbuf[3]=LSpeed;if(DirState) //反转dispbuf[3]=LSpeed+4;}if(State4==0){if(State3==0){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;dispbuf[3]=0;}if(State3==1){dispbuf[0]=RSpeed;dispbuf[1]=LSpeed;dispbuf[2]=Min;dispbuf[3]=9;}}}//LED驱动void disp( uchar H, uchar n ){P1=n;P1|=LedState ;P1|=LED_code_d[H];}//T0中断**显示/方波输出void Time_0() interrupt 1{TH0=0xFC;TL0=0x66;Widcnt++;Dispcnt++;//电机驱动/方波输出if(Widcnt>CIRCLE){Widcnt=1;}if(Widcnt<=LWidth)LMot_P=!DirState&&MotState;elseLMot_P=DirState&&MotState;LMot_M=DirState&&MotState;if(Widcnt<=RWidth)RMot_P=!DirState&&MotState;elseRMot_P=DirState&&MotState;RMot_M=DirState&&MotState;//显示if(Dispcnt==5){disp(dispbitcnt,dispbuf[dispbitcnt]);dispbitcnt++;if(dispbitcnt==4){dispbitcnt=0;}Dispcnt=0;}}//T1中断**运行时间void Time_1() interrupt 3{TH1=0xDB;TL1=0xFF;RTime_cnt++;}/******配置文件Afx.h******/#ifndef _AFX_#define _AFX_typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;#endif/******IO配置文件Config.c******/#ifndef _Config_#define _Config_#include "Afx.h"#include <reg52.h>//显示定义sbit led=P3^2;//电机引脚定义sbit LMot_P=P2^2; sbit LMot_M=P2^3; sbit RMot_P=P2^0; sbit RMot_M=P2^1;#endif。
51单片机控制直流电机设计
单片机控制小功率直流电机一. 设计要求:用单片机控制直流电机加速、减速、正反转和停止。
二. 设计方案分析1、方案设计:直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。
直流电机的驱动电路要有过流保护作用,可用二极管来实现,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。
程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。
设计中用到的元件:STC89C52、晶振(12MHz)、小按键、三极管、二极管、电容、电阻等。
2、背景知识介绍:直流电机调速原理本设计的主要思想为利用PWM控制占空比从而达到改变电机速度。
下面为PWM控制原理;图1为PWM降压斩波器的原理电路及输出电压波形。
在图1a中,假定晶体管V1先导通T1,秒(忽略V1的管压降,这期间电源电压Ud全部加到电枢上),然后关断T2秒(这期间电枢端电压为零)。
如此反复,则电枢端电压波形如图1b中所示。
电动机电枢端电压Ua为其平均值。
图1 PWM降压斩波器原理电路及输出电压波形a) 原理图 b)输出电压波形 1112a d d d T T U U U U T T Tα===+ (3) 式(3)中1112T T T T Tα==+ (4)α为一个周期T 中,晶体管V1导通时间的比率,称为负载率或占空比。
使用下面三种方法中的任何一种,都可以改变α的值,从而达到调压的目的:(1)定宽调频法:T1保持一定,使T2在0~∞范围内变化;(2)调宽调频法:T2保持一定,使T1在0~∞范围内变化(3)定频调宽法:T1+T2=T 保持一定,使T ,在0~T 范围内变化。
不管哪种方法,α的变化范围均为0≤α≤l ,因而电枢电压平均值Ua 的调节范围为0~Ud ,均为正值,即电动机只能在某一方向调速,称为不可逆调速。
课程设计基于51单片机的直流电机控制
xxxxxx大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:基于51单片机的直流电机控制院(系):专业:班级:学号:姓名:指导教师:完成日期:xxxxxx大学课程设计报告目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2课程设计原理 (1)1.3课程设计思路 (1)1.3.1 提出方案 (1)1.3.2 方案阐述 (2)1.4实验环境 (2)第2章详细设计方案 (3)2.1实现方法 (3)2.2模块设计 (3)2.2.1 主函数模块 (3)2.2.2 外中断模块 (4)2.2.3 数码管显示函数模块 (6)2.3实验箱连线图 (6)第3章结果测试及分析 (8)3.1调试步骤及方法 (8)3.2结果分析 (8)参考文献 (9)附录1(源程序) (10)附录2(电路图) (13)附录3(器件清单) (14)第1章总体设计方案1.1 课程设计的内容和要求(1) 课程设计内容利用MCS-51单片机控制PWM信号从而实现对直流电机转速进行控制,具体内容如下:①能够控制直流电机的正反转;②能够控制电机的加速和减速;③能够控制电机的启动和停止;④直流电机的运行状态,速度等级显示在数码管上。
(2) 设计要求:①立完成课程设计任务;②过老师现场验收;③出完整的课程设计报告。
1.2 课程设计原理根据题目要求通过控制占空比的改变,从而改变直流电机的转速,再将速度的等级显示在数码管上。
用户通过控制查询自定义位变量的改变而控制直流电机启动和停止,又通过两个外中断函数和一个延时函数改变占空比的值,来实现对直流电机的加速和减速。
再选取一个数码管来显示转速的等级。
1.3 课程设计思路1.3.1 提出方案由于是控制PWM信号实现对直流电机的控制,PWM是脉冲宽度调制,产生的方波高电平时间跟周期的比例叫占空比,所以就要用占空比的改变实现电机的加速和减速。
通过调用外中断函数改变方波高电平的时间,再控制周期不变就会使电机的转速改变。
基于51单片机的无刷直流电动机的控制设计解读
基于51单片机的无刷直流电动机控制器设计系别:机电与自动化学院专业班:电气工程及其自动化0702班姓名:学号:指导教师:2011年6月基于51单片机的无刷直流电动机控制器设计The Design of Brushless DC Motor Controller Based on MCS-51 Singlechip摘要近年来,无刷直流电动机愈来愈多地在很多领域得到应用,它除了保持有刷直流电动优越的起动性能和调速性能以外,其最大的特点,就是没有换向器和电刷组成的机械接触结构,因而具有寿命长、噪声低、运行可靠、维护简便等一系列优点,且由于其转速不受机械换向的限制,可在宽广的范围内平滑地调速。
例如在电动自行车上应用无刷直流电动机来取代原来的有刷直流电动机,由于采用了电子无接触式换向,不仅延长了电机的使用寿命,而且调速方便,易于控制,运行平稳。
本文以无刷直流电机为研究对象,以无刷直流电机控制系统为控制目标,以PWM为控制设计技术,采用MCS-51系列单片机为主控芯片,文章主要研究无刷直流电动机的调速功能,实现电动机的起动、制动、正/反转换向,加/减速,并对无刷直流电动机的运行状态进行监视和报警。
文章研究包含硬件和软件两个方面,硬件方面实现的功能有:电源设计、调速控制设计、驱动电路设计、过热保护电路设计、短路保护电路设计和转速显示设计等部分;软件方面实现的功能有,电路复位模块的设计、按键控制模块的设计、功能模块的设计、电动机判停模块的设计、IPS下载模块的设计和速度显示模块的设计等部分。
文章介绍了无刷直流的功能硬件图和程序结构流程,介绍了利用MCS-51单片机和控制芯片来控制无刷直流电动机速度的方法,并在电动机运行异常时发出警报。
本课题经过理论分析和系统调试,控制系统性能稳定,可靠性佳,实现了既定的功能,达到了设计指标的要求。
关键词:无刷直流电动机 MCS-51单片机调速控制AbstractRecently,brushless DC motor has been applied in many area.Besides the good performance of startup and speed control,its remarkable characteristic is that there is no commutator and brush。
MCS51单片机控制直流无刷电机程序
;*************************************************;MCS51单片机控制直流无刷电机程序;*************************************************org 00hajmp startorg 30h;**********检测键盘状态的程序****************START:mov p0,#0ffh ;置p0为输入口,将P0口置为1,用于检查按键是否按下jnb p0.0,QIDONG ;按键S2按下,p0.0为0,进入启动(正转)程序jnb p0.1,FANZHUAN ;按键S3按下,p0.1为0,进入反转程序jnb p0.2,JITING ;按键S4按下,p0.2为0,进入急停程序jnb p0.3,JIASU ;按键S5按下,p0.3为0,进入加速程序jnb p0.4,JIANSU ;按键S6按下,p0.4为0,进入减速程序jnb p0.5,TINGZHI ;按键S7按下,P0.5为0,进入停止程序ajmp start;************启动程序,默认为顺时针转动,转速为2000RPM*********** QIDONG:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.0,QILJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序QI:clr p0.6 ;p0.6接电机R/S端,将其清零表示电机可以运行setb p0.7 ;p0.7接DIR端,为1,则与COM端断开,电机正转mov p2,#0Bh ;p2.0接CH1,p2.1接CH2,p2.2接CH3,将速度设定为2000RPM lcall XIANSHI ;显示设定速度LJMP START ;执行完启动程序后,回到检测按键状态程序;***************反转程序,也即逆时针转动***************** FANZHUAN:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.1,FANLJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序FAN:clr p2.3 ;接通BRK端,使电机急停lcall PANTING ;调用判停程序,能从判停程序中返回,说明机已停setb p2.3 ;断开BRK端,解除急停状态clr p0.7 ;接通DIR端,使电机逆时针转动lcall XIANSHI ;显示设定速度LJMP START ;执行完启动程序后,回到检测按键状态程序;*****************急停程序*********************JITING:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.2,JILJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序JI:clr p2.3 ;接通BRK端,使电机急停lcall PANTING ;调用判停程序,若能从中返回,说明电机已停LJMP START ;执行完启动程序后,回到检测按键状态程序;***************加速程序,每按一次键,加速500rpm**************** JIASU:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.3,JIALJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序JIA:mov a,p2 ;将p2的值复制到累加器a中anl a,#07h ;取ch3ch2ch1的值,并放到累加器a中jz START ;若a中值为0,则速度已经最大,不再加速,回到检测按键状态程序mov r0,p2dec r0mov p2,r0 ;加速500rpm(参考电机驱动器说明中的多段速度选择部分)lcall XIANSHI ;显示设定的速度LJMP START ;执行完启动程序后,回到检测按键状态程序;********************减速程序,每按一次键,减速500rpm**************** JIANSU:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.4,JIANLJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序JIAN:mov a,p2anl a,#07h ;取ch3ch2ch1的值cjne a,#07h,JS ;若a中数值为07h,则速度已为0,ljmp START ;若速度为0,则程序回到开始程序,不再减速,以防出错JS:mov a,P2inc amov P2,a ;减速500rpm(参考电机驱动器说明中的多段速度选择部分)lcall XIANSHI ;显示设定的速度ljmp START ;执行完启动程序后,回到检测按键状态程序;********************停止程序***********************TINGZHI:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.5,TINGLJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序TING:setb p0.6 ;p0.6接R/S端,为1,则与COM端断开lcall PANTING ;调用判停程序,若能从中返回,说明电机已停LJMP START ;执行完启动程序后,回到检测按键状态程序;*****************延时10ms,这是一个子程序,功能是延时10毫秒************* YANSHI:mov a,#0 ;对累加器a置零,延时用y:mov r1,#00h ;对寄存器r1置零,延时用inc r1cjne r1,#0ffh,y ;延时1msinc acjne a,#10,y ;延时10×1=10msret;*******判停程序,这是一个子程序,若能从判停程序中返回,则说明电机已停******** PANTING:jnb p2.4,yanshi250ms ;若speed端为0,则进入延时程序ajmp PANTING ;若speed端为1,则返回PANTING,等待speed端出现0电平yanshi250ms:clr p2.6 ;允许对计数器置数mov p3,#08h ;对计数器置入数8setb p2.6 ;计数器开始计数mov a,#0 ;对累加器a置零,延时用y250:mov r1,#00h ;对寄存器r1置零,延时用inc r1jb p2.5,PANTING ;若期間Tc为1,则电机未停,返回PANTING,继续判断cjne r1,#0ffh,y250 ;延时1msinc acjne a,#250,y250 ;延时250ms,ret;若至延时结束Tc一直不改变状态,则说明speed端口无脉冲输出,认为电机停转,程序;返回。
基于51单片机的直流电机控制
基于51单片机的直流电机控制一、试验器件选择1、控制芯片的作用主要是与L289相连接驱动直流电机,以及与八位数码管相连显示。
(1)、AT89C51是一种带4K自己FLASH存储器的低压、高性能CMOS8为微处理器。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失真存储制造技术制造,与工业标准的MCS-51指令集和输出关键相兼容。
由于将多功能8位CPU和闪存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性奥高且廉价的方案。
(2)、AT89C51引脚图如下:2、电机驱动芯片(1)、电机驱动芯片选择L298。
其主要功能是作为单片机与直流电机中间的过度链接,单片机输出的信号通过L298加载到直流电机上驱动直流电机运行。
其引脚图如下:(2)、主要工作原理:1、15脚分别是两个H桥的电流反馈脚,不用时可以直接接地;2、3为一对输出端口,13、14为一对输出端口;4为驱动电压输入,最小值必须比输入的低电平高2;5、7一对输入端口,10、12一对输入端口,TTL电平兼容6、11使能端,低电平禁止输出;8、9分别为接地和逻辑电源3、直流电机。
在protues中选择motor-encoder直流电机,引脚图如下:上方左右的两个引脚在点击运转时输出频率相同的方波,但是在相位上相差90 ,而且在正转和反转是相反,因此可以根据这两个引脚的输出情况判断点击的转向。
上方中间的引脚每当电机转一圈就输出一个正脉冲,可以据此册数点击的转速。
左右两个引脚是电机的电压输入端。
4、74HC74。
当D触发器的D和CLK输入端分别接电机上方的左右两个输出端口时可以根据D触发器的输出情况判断点击的转速。
5、八位数码管。
用以显示。
二、系统硬件设计连接1、系统的器件连接图如下:2、单片机与数码管通过P0口和P2口相连,其中P2口选择点亮哪一个数码管,P0口则控制被点亮的数码管显示的数据。
基于MC51单片机的直流电机PWM调速系统
基于MC51单片机的直流电机PWM调速系统一、本文概述随着现代电子技术的快速发展,直流电机调速系统在各种工业控制、自动化设备及智能家居等领域中得到了广泛应用。
MC51单片机作为一种功能强大、性价比高的微控制器,具有集成度高、稳定性好、控制灵活等优点,在电机控制领域具有广泛的应用前景。
本文旨在探讨基于MC51单片机的直流电机PWM(脉冲宽度调制)调速系统的设计与实现。
本文将首先介绍直流电机PWM调速的基本原理,包括PWM技术的特点及其在电机调速中的应用。
随后,将详细阐述基于MC51单片机的PWM调速系统的硬件设计,包括单片机选型、功率驱动电路、电机接口电路等关键部分的设计与搭建。
在软件设计方面,本文将介绍如何利用MC51单片机的定时器、I/O端口等资源,实现PWM信号的生成与控制,以及如何通过编程实现电机的精确调速。
本文还将对系统的调试与优化进行阐述,包括电路调试、软件调试、性能优化等方面的内容,以确保系统的稳定性和可靠性。
本文将总结基于MC51单片机的直流电机PWM调速系统的优点与应用前景,为相关领域的研究和实践提供参考和借鉴。
通过本文的研究与探讨,读者可以深入了解基于MC51单片机的直流电机PWM调速系统的设计与实现过程,掌握相关硬件与软件设计技术,为实际应用中的电机调速控制提供有效的解决方案。
二、系统总体设计在本设计中,我们将基于MC51单片机构建一个直流电机PWM(脉冲宽度调制)调速系统。
该系统的设计目标是实现直流电机的精确速度控制,以满足不同应用场景的需求。
总体设计包括硬件设计和软件设计两个部分。
硬件设计主要包括MC51单片机、直流电机、电机驱动电路、PWM 信号生成电路、电源电路以及必要的接口电路。
MC51单片机作为系统的核心控制器,负责生成PWM信号、接收用户输入以及处理相关控制逻辑。
直流电机是执行机构,通过电机驱动电路与MC51单片机相连,接收PWM信号以驱动电机转动。
PWM信号生成电路用于将MC51单片机输出的数字信号转换为模拟的PWM信号,以控制电机的转速。
基于MC51单片机的直流电机PWM调速系统
基于MC51单片机的直流电机PWM调速系统一、概述随着现代工业技术的不断发展,直流电机因其良好的调速性能和控制精度,在工业自动化、机器人、航空航天等领域得到了广泛的应用。
PWM(脉宽调制)技术作为一种高效的电机调速方法,能够有效地控制直流电机的速度和方向。
本文旨在介绍一种基于MC51单片机的直流电机PWM调速系统,通过单片机实现对直流电机的精确控制。
该系统以MC51单片机为核心控制器,利用其强大的运算能力和丰富的外设接口,实现对直流电机的PWM调速控制。
系统通过采集电机的实时转速信息,结合用户设定的目标转速,利用PWM信号调整电机的输入电压,从而实现对电机转速的精确控制。
系统还具备过流、过压等保护功能,确保电机在安全可靠的环境下运行。
基于MC51单片机的直流电机PWM调速系统具有结构简单、控制精度高、响应速度快等优点,适用于各种需要精确控制直流电机转速的场合。
通过本系统的研究与应用,可以进一步提高工业自动化水平,推动相关产业的发展。
1. 直流电机PWM调速系统的研究背景与意义直流电动机作为最早出现的电动机类型,长期以来在调速控制领域占据着统治地位。
其良好的线性调速特性、简单的控制性能、高效的能量转换效率以及优异的动态特性,使得直流电动机在各种应用场景中得到了广泛的应用。
特别是在对调速性能要求较高的场合,如电力牵引、轧钢机、起重设备等,直流电动机更是发挥了不可替代的作用。
随着科学技术的不断进步和工业应用需求的日益复杂,传统的直流电机调速方式已经难以满足现代工业生产的需求。
传统的调速方法往往存在调速精度不高、调速范围有限、能耗较大等问题,严重制约了直流电动机在更多领域的应用。
为了解决这些问题,PWM(脉冲宽度调制)调速技术应运而生。
PWM技术利用微处理器的数字输出来对模拟电路进行控制,具有控制简单、灵活和动态响应好的优点。
通过将PWM技术应用于直流电机调速系统,可以实现对电机转速的精确控制,提高调速精度和调速范围,同时降低能耗,提高系统的稳定性和可靠性。
基于51单片机的直流无刷电机调速控制设计
基于51单片机的直流无刷电机调速控制设计下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一、引言随着科技的发展,直流无刷电机在工业控制领域有着广泛的应用。
基于51单片机无位置传感器无刷直流电动机的控制_图文.
电气传动产品与技术PRODUCT & TECHNOLOGY超精密加工是获得高形状精度、表面精度和完整性的必要手段。
其中,金刚石刀具超精密切削是超精密加工技术的一个重要组成部分。
为了高质高效地获得金刚石研磨质量,其必须要有稳定高速运行的主轴系统。
无位置传感器无刷直流电动机系统, 它采用了精密轴承和电动机相结合的办法,即把主轴、轴承、电动机等结构集成到一起,并去除位置传感器和传动机构,因此使得电动机结构紧凑,有利于实现小型化和精密化的要求。
使用这种主轴系统能获得较高的稳定性和最高的转速。
但无位置传感器的无刷直流电动机的控制方法复杂,TB6537和 TA84005的出现,简化了控制电路设计,对它们的组合使用可以实现反电势检测、过电流保护,以及电动机驱动。
51系列单片机是一款通用型的单片机,相对于专用的电动机芯片和电动机控制电路板而言,熟悉它的开发人员多,在此基础上进行二次开发的周期相对要短。
同时它对外设功能(A D C、D A C、可编程增益放大器、PCA 及内部振荡器等进行了高度集成。
为设计小体积,低功耗,高可靠,高性能的应用系统提供了极大的方便。
TB6537和 TA84005原理图1.TB6537内部框图TB6537是一种无位置传感器无刷直流电动机的专用控制芯片,有 DIP 和 SSOP 两种封装。
工作电压为 5V,PWM 的频率为 16kHz。
TB6537芯片易于与单片机接口。
可以实现 P W M 控制和正反转控制,可以选择 H _P W M -L _P W M 控制方式和 H _P W M -L _O N 控制方式,可选择超前脚设置和重叠通电功能,内部有过电流保护功能。
2.TA84005内部框图TA84005是一款小功率三相无刷直流电动机驱动芯片。
它内置电压检测电路,具有过流检测、过热检测功能。
TA84005推荐工作参数为:逻辑电源电压 V cc =5 V;电动机电源电压 VM=10~22V,峰值电压为 25V;输出电流为 Io=0.5A;斩波频率为 20kHz。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MCS-51单片机控制直流无刷电动机学号:3100501044班级:电气1002:王辉军摘要直流无刷电机是同步电机的一种,由电动机本体、位置传感器和电子开关线路三部分组成。
其定子绕组一般制成多相(三相、四相、五相不等),转子由永久磁钢按一定极对数(2p=2,4,…)组成。
电机转子的转速受电机定子旋转磁场的速度及转子极数(P)影响:N=120.f / P。
在转子极数固定情况下,改变定子旋转磁场的频率就可以改变转子的转速。
直流无刷电机即是将同步电机加上电子式控制(驱动器),控制定子旋转磁场的频率并将电机转子的转速回授至控制中心反复校正,以期达到接近直流电机特性的方式。
也就是说直流无刷电机能够在额定负载围当负载变化时仍可以控制电机转子维持一定的转速。
MCS-51单片机是美国英特尔公司生产的一系列单片机的总称,是一种集成电路芯片,采用超大规模技术把具有数据处理能力的微处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入输出接口电路、定时计算器、串行通信口、脉宽调制电路、A/D转换器等电路集成到一块半导体硅片上,这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
本论文将介绍基于MCS-51单片机控制直流无刷电动机的设计,它可以实现控制直流无刷电动机的启动、停止、急停、正反转、加减速等功能。
关键词:单片机,直流无刷电动机,控制系统直流无刷电动机是在直流电动机的基础之上发展而来的,它是步进电动机的一种,继承了直流电动机的启动转矩大、调速性能好等特点克服了需要换向器的缺点在交通工具、家用电器及中小功率工业市场占有重要的地位。
直流无刷电动机不仅在电动自行车、电动摩托车、电动汽车上有着广泛的应用,而且在新一代的空调机、洗衣机、电冰箱、吸尘器,空气净化器等家用电器中也有逐步采用的趋势,尤其是随着微电子技术的发展,直流无刷电动机逐渐占有原来异步电动机变频调速的领域,这就使得直流无刷电动机的应用围越来越广。
本设计就是基于MCS-51系列单片机控制直流无刷电动机,利用所学的知识实现单片机控制直流无刷电动机的启动、停止、急停、正反转,加减速等控制,并对直流无刷电动机运行状态进行监视和报警。
详细介绍单片机的种类、结构、功能、适用领域和发展历史、未来前景及其直流无刷电动机的工作原理、控制结构等容,既着重单片机的基本知识、功能原理的深入阐述,又理论联系实际详细剖析单片机控制直流无刷电动机的过程。
1.直流无刷电动机的基本组成直流无刷电动机是在直流电动机的基础上发展而来的,直流无刷电动机继承了直流电动机启动转矩大、调速性能好的优点,克服了直流电动机需要换向器的缺点,在交通工具、家用电器等生活的方方方面面占有重要的地位。
由于直流无刷电动机既具有交流电动机的结构简单、运行可靠、维护方便等一系列优点,又具备直流电动机的运行效率高、无励磁损耗以及调速性能好等诸多优点,故在当今国民经济各领域应用日益普及。
直流无刷电动机主要由电动机本体、位置传感器和电子开关线路三部分组成。
其定子绕组一般制成多相(三相、四相、五相不等),转子由永久磁钢按一定极对数(2p=2,4,…)组成。
图3-1所示为三相两极直流无刷电机结构。
三相定子绕组分别与电子开关线路中相应的功率开关器件联结,A、B、C相绕组分别与功率开关管V1、V2、V3相接。
位置传感器的跟踪转子与电动机转轴相联结。
当定子绕组的某一相通电时,该电流与转子永久磁钢的磁极所产生的磁场相互作用而产生转矩,驱动转子旋转,再由位置传感器将转子磁钢位置变换成电信号,去控制电子开关线路,从而使定子各项绕组按一定次序导通,定子相电流随转子位置的变化而按一定的次序换相。
由于电子开关线路的导通次序是与转子转角同步的,因而起到了机械换向器的换向作用。
2.直流无刷电动机的工作原理如图3-2示为三相直流无刷电动机半控桥电路原理图。
此处采用光电器件作为位置传感器,以三只功率晶体管V1、V2和V3构成功率逻辑单元。
图3-2 三相直流无刷电动机半控桥电路原理图三只光电器件VP1、VP2和VP3的安装位置各相差120度,均匀分布在电动机一端。
借助安装在电动机轴上的旋转遮光板的作用,使从光源射来的光线一次照射在各个光电器件上,并依照某一光电器件是否被照射到光线来判断转子磁极的位置。
图3-3所示为开关顺序及定子磁场旋转示意图。
图3-3 开关顺序及定子磁场旋转示意图随着位置传感器转子扇形片的转动,定子绕组在位置传感器VP1、VP2、VP3的控制下,便一相一相地依次馈电,实现了各相绕组电流的换相。
在换相过程中,定子各相绕组在工作气隙所形成的旋转磁场是跳跃式的。
这种旋转磁场在360度电角度围有三种磁状态,每种磁状态持续120度电角度。
位置传感器在直流无刷电动机中起着测定转子磁极位置的作用,为逻辑开关电路提供正确的换相信息,即将转子磁钢磁极的位置信号转换成电信号,然后去控制定子绕组换相。
位置传感器种类较多,且各具特点。
在直流无刷电动机中常见的位置传感器有以下几种:电磁式位置传感器、光电式位置传感器、磁敏式位置接近传感器。
3.设计要求(1)完成采用单片机控制直流无刷电动机的设计与应用,包括实现电动机的正转、反转控制,锁轴控制、速度控制,对直流无刷电动机的运行状态进行检测和报警。
(2)采用MCS-51单片机为控制核心,编写出控制程序软件,实现单片机与外界硬件的接口连接。
(3)研究直流无刷电动机的工作特性和工作原理,设计中采用的电动机是由和利时电机技术自行研发设计的永磁直流无刷电动机。
4.硬件设计4.1 电动机介绍本控制系统选择和利时公司生产的森创牌直流无刷电动机作为控制对象,具体型号为57BLT-1015H1-L-S-B100,该型号的电动机属于和利时公司生产的57系列电动机。
4.2 电动机驱动器介绍本毕业设计所选择的驱动器是与上面选择的直流无刷电动机配套的,具体型号为BL-2203C。
(1)驱动器的特点①交流220V电压;②输入、输出信号光隔离;③启停及其转向控制;④过电流、过电压、过载及堵转保护;⑤测速信号输出;⑥故障报警输出;⑦电动机转速显示;⑧外部模拟量调速;⑨制动停车功能;⑩多档速度选择。
(2)性能指标具体性能见表4-2所示。
(3)驱动器面板BL-2203C型号的驱动器面板上面有调速电位器、速度显示表、散热风扇风道、控制信号端子、霍尔信号输入端子等等。
(4)驱动器接线图该型号的电动机驱动器的典型接线图如图4-5所示,不过需要注意的是:①因本驱动器位220V高压输入,为了确保安全,在上电之前必须保证接地端子FG可靠地与大地连接,任何情况下请不要打开机壳,以免意外的损伤。
图4-5 典型接线图②驱动器安装时安装保证设备的通风良好,机柜有多个驱动器并列使用时应保证相互之间的距离不小于10cm。
③机箱应考虑通风散热,避免密闭式环境而影响散热,同时也要避免灰尘和杂质对驱动器的影响。
驱动器采用风道竖直的立式安装将有利于散热。
④图4-6所示为驱动器的外形尺寸。
图4-6 驱动器外形尺寸图3.3 控制电路设计(1)芯片说明:本电路中的芯片采用基于MCS-51单片机为核的芯片有AT89S52、74HC14/SN74LS160、和SN74LS164(2)整体电路设计的整体电路如图4-9所示。
图4-9 整体电路设计(3)电路模块说明①电路复位模块该电路模块可以实现电路的上电复位和手动复位(即按键按下,电路复位),其电路图如图4-10所示。
注意:复位信号由74HC14的输出端接AT89S52的引脚9,复位电路可以使单片机的CPU和系统的其他部件都处于一个确定的初始状态,并从这个状态开始工作。
图4-10 复位模块电路②按键控制模块单片机的P0.0~P0.5作为按键输入,以启动程序,并由LED灯显示按键状态图4-12 显示模块电路在该电路中,P0.0~P0.5分别为代表接到单片机的P0.0~P0.5引脚的标号。
③功能模块单片机的引脚P0.6、P0.7、P2.0~P2.3通过双排8针插槽与电动机驱动器的相应端子连接,用来控制电动机的状态并设定电动机的转速,实现预期的功能,LED灯显示驱动器的端子输入状态。
④电动机判停模块单片机引脚P2.4~P2.6、P0.0~P0.5、P3.0~P3.3与十进制计数器相连,电动机驱动器的SPEED端子作为计数器的CLK信号输入。
单片机通过对计数器置数并检测进位引脚TC是否输出进位信号来判断SPEED端子是否输出脉冲,即电动机是否停转。
若电动机停转,则SPEED端子不输出脉冲,计数器也无进位输出。
其电路图如图图4-15所示。
⑤ISP下载模块本电路可以实现实现使用ISP下载线来完成程序向单片机31引脚(EA/VPP)必须接高电平。
通过以下通道,单片机可以实现程序的写入:相应下载软件→计算机并口DB25→ISP下载线→双排八针插槽P1→单片机芯片(AT89S52)⑥速度显示模块此模块用来显示设定的速度。
本毕设设计选择方式0作为串口工作方式,串行数据从单片机RXD引脚输出,在SN74ALS164中转为并行,输出至八段数码管,同时并行数据由SN74ALS164的QA引脚转为串行输出,作为下一级SN74ALS164的输出,以此类推。
单片机的RXD引脚输出移位脉冲。
当单片机复位时,显示模块也同时复位。
4.软件设计4.1 程序流程图1. 主程序流程图如图4-18所示。
图4-18 主程序流程图2. 子程序流程图启动程序流程图如图4-19所示。
图4-19 启动程序流程图反转程序流程图如图4-20所示。
图4-20 停止程序流程图急停程序流程图如图4-21所示。
图4-21 急停程序流程图停止程序流程图如图4-22所示。
图4-22 停止程序流程图加速程序流程图如图4-23所示。
图4-23 加速程序流程图减速程序流程图如图4-24所示。
图4-24 减速程序流程图4.4.2 程序清单基于MCS51单片机控制直流无刷电动机程序:ORG 00H AJMP START ORG 30H 检测键盘状态的程序: START :MOV P0, #0FFH JNP P0.0, QIDONG JNP P0.1, FANZHUAN JNP P0.2, JITING JNP P0.3, JIASU JNP P0.4, JIANSU JNP P0.5, TINGZHI AJMPSTART启动程序,默认顺时针转动,转速为2000r/min:QIDONG:LCALL YANSHIJNB P0.0,Q1LJMP STARTQ1:ELR P0.6SETB P0.7MOV P2, #0BHLCALL XIANSHILJMP START反转程序:FANZHUAN:LCALL YANSHIJNB P0.1,FANLJMP STARTFAN:CLR P2.3LCALL PANTINGSETB P2.3CLR P0.7LCALL YANSHILJMP START急停程序:JITING:LCALL YANSHIJNB P0.2,JILJMP SYARTJI:CLR P2.3LCALL PANTINGLJMP START加速程序,每按一次键,加速500r/min:JIASU:LCALL YANSHIJNB P0.3,JIALJMP STARTJIA:MOV A,P2ANL A,#07HJZ STARTMOV R0,P2DEC R0MOV P2,R0LCALL XIANSHILJMP START减速程序,每按一次键,减速500r/min:JIANSU:LCALL YANSHIJNB P0.4,JIANLJMP STARTJIANSU:MOV A,P2ANL A,#07HCJNE A,#07H,JSLJMP STARTJS:MOV A,P2INC AMOV P2,ALCALL XIANSHILJMP START停止程序:TINGZHI:LCALL YANSHIJNB P0.5,TINGLJMP STARTTING:SETB P0.6LCALL PANTINGLJMP START延时程序,这是一个子程序,功能是延时10ms:YANSHI:MOV A,#0Y:MOV R1,#00HINC R1CJNE R1,#0FFH,YINC ACJNE A,#10,YRET判停程序,这是一个子程序,若能从判停程序中返回,则说明电动机已停:PANTING:JNB P2.4,YANSHI250msAJMP PANTINGYANSHI250ms:CLR P2.6MOV P3,#08HSETB P2.6MOV A,#0Y250:MOV R1,#00HINC R1JB P2.5,PANTINGCJNE R1,#0FFH,Y250INC ACJNE A,#250,Y250RET显示程序,这是一个子程序:XIANSHI:MOV A,P2ANL A,#07HMOV B,#4MUL ABADD A,R3MOV SCON,#00HMOV R2,#0MOV DPTR,#TABMOV R3,AX:ADD A,R2MOVC A,A+DPTRMOV SBUF,A1:JNB TI,1CLR TIINC R2MOV A,R3CJNE R3,#4,XRETTAB:DB 03H,03H,49H,0DHDB 03H,03H,03H,0DHDB 03H,03H,49H,27HDB 03H,03H,03H,27HDB 03H,03H,49H,9HDB 03H,03H,03H,9DHDB 03H,03H,49H,0FFHDB 03H,0FFH,0FFH,0FFHEND结论通过本设计可以看出用MCS-51单片机控制直流无刷电动机是十分可靠的,设计中应用到了较多的知识,采用了保护电路模块,复位电路模块等保护措施,应用了许多较新的元器件,电路图中有显示模块电路、复位模块电路、按键模块电路、驱动器端子输入模块电路、判停模块电路、下载模块电路等等电路设计,很好的实现了用单片机控制直流无刷电动机的正转、反转、加速、减速。