基于单片机AT89c51的直流电机调速控制系统

合集下载

基于AT89C51单片机的PWM直流调速系统

基于AT89C51单片机的PWM直流调速系统

摘要本文基于对PWM控制技术和AT89C51单片机直流调速系统的研究,设计了应用于直流电动机的单片机控制的PWM电流转速双闭环直流调速系统,该系统能够实现对电机的正转、反转、急停、加速、减速的控制以及恒速调节。

论文以直流电机调速系统为控制对象,主要介绍了PWM控制技术的理论以及用单片机实现PWM 控制电机转速的基本原理,绘制出了系统的程序流程图,设计出了系统的硬件电路和软件电路,编写了KeilC51汇编语言,进行了Proteus软件的调试与仿真,仿真结果表明系统满足各项性能指标要求。

关键词:PWM技术;单片机;双闭环;直流电机;调速控制ABSTRACTBased on the study of PWM technology and DC governor system controlled by AT89C51 microprocessor control unit, that applied to DC motorspeed contml governor system which is controlled by microprocessor control unit is designed. This system can make motorspeed contml speed up or slow down or stop rapidly even rotate positively and negatively. One more thing is that DC motorspeed contml controlled by this system can adjust its rotate speed smoothly.The article mainly concentrates on the DC governor system. The theory of PWM technology and basic theory of system controlled by AT89C51 and PWM technology which adjusts the speed of DC motorspeed contml are introduced. The chat of process is drawn out, so as the circuits of system. The KeilC51 language is operated on the simulation platform debugging after it's written out. The consult indicates that the system meets all conditions which are needed.Keywords: PWM technology ;microprocessor control unit ;Double-loop ;DC motorspeed contml ;digital control目录1. 绪论................................................................1 1.1 概况................................................................1 1.2 国内外发展概况....................................................21.3 设计目的和意义....................................................22. 直流调速系统概述.................................................4 2.1 直流电机的工作原理...............................................4 2.2 直流电机的调速方法...............................................52.3 H桥电机驱动的概述...............................................83. 方案论证和选择...................................................7 3.1 稳压电源的选择...................................................10 3.2 电机调速控制模块.................................................8 3.3 PWM调速工作方式.................................................9 3.4 PWM调脉宽方式....................................................93.5 PWM软件实现方式.................................................94. 系统硬件电路设计................................................10 4.1 时钟电路..........................................................10 4.2 复位电路..........................................................11 4.3 稳压电源电路.....................................................10 4.4 信号输入电路.....................................................124.5 电机PWM驱动模块的电路..........................................175. 系统的软件设计...................................................185.2 系统软件设计分析.................................................196. 单片机系统综合调试..............................................20 6.1 PROTEUS设计与仿真平台..........................................20 6.2 PROTEUS设计与单片机传统开发过程比较..........................21 6.3 仿真结果与分析...................................................27参考文献..............................................................23附录...................................................................32附录一程序清单......................................................23附录二硬件原理图....................................................38致谢...................................................................391 绪论1.1 概况现代工业的电力拖动一般都要求局部或全部的自动化,因此必然要与各种控制元件组成的自动控制系统联系起来,而电力拖动[1]则可视为自动化电力拖动系统的简称。

基于AT89C51控制的直流电动机双环调速系统

基于AT89C51控制的直流电动机双环调速系统

基于AT89C51控制的直流电动机双环调速系统
刘东汉;陈学珍
【期刊名称】《微计算机信息》
【年(卷),期】2006(000)04Z
【摘要】介绍了采用AT89C51作为控制器核心。

晶闸管触发和转速测量等环节都实现全数字化的微机控制电动机双闭环调速系统。

较详细说明了调速系统的硬件组成和软件设计。

【总页数】3页(P67-68,19)
【作者】刘东汉;陈学珍
【作者单位】湖北黄石理工学院
【正文语种】中文
【中图分类】TN36
【相关文献】
1.基于负载观测的直流电动机调速系统无源控制 [J], 黄嘉伟;王宏华
2.基于神经网络PID控制的串励直流电动机调速系统 [J], 程辉;周洪
3.基于分段模糊控制的直流电动机调速系统 [J], 董育亮;朱张青
4.基于AT89C51控制的直流电动机双环调速系统 [J], 刘东汉;陈学珍
5.基于BP神经网络PID控制的无刷直流电动机调速系统设计 [J], 王寿福;
因版权原因,仅展示原文概要,查看原文内容请购买。

单片机课程设计------基于89C51单片机的直流电机控制系统设计

单片机课程设计------基于89C51单片机的直流电机控制系统设计

目录摘要 (3)关键词: (3)1直流电动机 (3)1.1直流电动机的工作原理 (3)1.1.1直流电动机的运动特性与优点 (4)1.2直流串励电动机 (5)1.2.1串励电动机的特点 (5)1.3直流他励电动机 (5)1.3.1他励电动机的特点 (6)2设计概要 (6)2.1硬件设计概要 (7)2.2程序设计流程图 (7)3硬件设计 (8)3.1.1电机驱动电路 (8)3.1.2单片机及控制电路 (10)3.1.3单片机介绍 (12)3.1.3.3管脚说明 (14)4程序设计 (16)4.1主程序设计 (19)4.1.1定义说明程序 (19)4.1.2执行主程序 (20)4.2子程序设计 (22)4.2.1定义延时程序函数 (22)4.2.2定时器1中断服务程序 (22)4.2.3定时器2中断服务程序 (23)4.3调速原理 (23)4.3.1PWM(脉冲宽度调制)原理 (23)4.3.2PWM(脉冲宽度调制)特点 (24)5调试与仿真 (25)参考文献 (25)附录 (26)摘要通过单片机改变输出脉冲波的宽度井陉调节,以便实现直流电的起动、正反转、加速、减速功能,在这种调速方法下,可以有效的减少其损耗功率。

关键词:单片机;直流电机;调速1直流电动机直流电动机主要由静止的定子和旋转的转子组成。

定子由主磁极、换向极、电刷装置和机座组成。

主磁极铁芯上套有线圈,通入直流励磁电流便会产生磁场,即主磁场。

换向极也由铁芯及套在上面的线圈组成,其作用是产生附加磁场。

以减弱换向片与电刷之间的火花,避免烧蚀。

机座除作电动机的机械支架外,还作为各磁极间磁的通路。

转子由转子铁芯、转子绕组、换向器、轴和风扇组成。

转子铁芯用来安装转子绕组,并作为电动机磁路的一部分。

转子绕组的主要作用是产生感应电动势并通过电流,以产生电磁转矩。

换向器由换向片组成,换向片按一定规律与转子绕组的绕组元件连接。

1.1直流电动机的工作原理直流电动机包括俩个在空间固定的永久磁铁,一个为N极,另一个为S极。

基于单片机89C51产生PWM信号来控制直流电机调速程序

基于单片机89C51产生PWM信号来控制直流电机调速程序

基于单片机89C51产生PWM信号来控制直流电机调速程序利用2051的T0产生双路PWM信号,推动L293D或L298N为直流电机调速,程序已通过调试。

/* =======直流电机的PWM速度控制程序======== */ /* 晶振采用11.0592M,产生的PWM的频率约为91Hz */#include#include#define uchar unsigned char#define uint unsigned intsbit en1=P1^0; /* L298的Enable A */sbit en2=P1^1; /* L298的Enable B */sbit s1=P1^2; /* L298的Input 1 */sbit s2=P1^3; /* L298的Input 2 */sbit s3=P1^4; /* L298的Input 3 */sbit s4=P1^5; /* L298的Input 4 */uchar t=0; /* 中断计数器 */uchar m1=0; /* 电机1速度值 */uchar m2=0; /* 电机2速度值 */uchar tmp1,tmp2; /* 电机当前速度值 *//* 电机控制函数 index-电机号(1,2); speed-电机速度(-100~100) */void motor(uchar index, char speed){if(speed>=-100 && speed<=100){if(index==1) /* 电机1的处理 */{m1=abs(speed); /* 取速度的绝对值 */if(speed<0) /* 速度值为负则反转 */{s1=0;s2=1;}else /* 不为负数则正转 */{s1=1;s2=0;}}if(index==2) /* 电机2的处理 */{m2=abs(speed); /* 电机2的速度控制 */ if(speed<0) /* 电机2的方向控制 */ {s3=0;s4=1;}else{s3=1;s4=0;}}}}void delay(uint j) /* 延时函数 */{for(j;j>0;j--);}void main(){uchar i;TMOD=0x02; /* 设定T0的工作模式为2 */ TH0=0x9B; /* 装入定时器的初值 */TL0=0x9B;EA=1; /* 开中断 */ET0=1; /* 定时器0允许中断 */TR0=1; /* 启动定时器0 */while(1) /* 电机实际控制演示 */{for(i=0;i<=100;i++) /* 正转加速 */{motor(1,i);motor(2,i);delay(5000);}for(i=100;i>0;i--) /* 正转减速 */{motor(1,i);motor(2,i);delay(5000);}for(i=0;i<=100;i++) /* 反转加速 */{motor(1,-i);motor(2,-i);delay(5000);}for(i=100;i>0;i--) /* 反转减速 */{motor(1,-i);motor(2,-i);delay(5000);}}}void timer0() interrupt 1 /* T0中断服务程序 */{if(t==0) /* 1个PWM周期完成后才会接受新数值 */ {tmp1=m1;tmp2=m2;}if(tif(tt++;if(t>=100) t=0; /* 1个PWM信号由100次中断产生 */ }。

基于-AT89C51单片机变频调速控制系统设计

基于-AT89C51单片机变频调速控制系统设计

基于AT89C51单片机的变箱调速控制系筑设廿在电气传动颉域屮,険看自关斷器件技术水平的不斷提高,脉宽调制技术(简祢PWM技术)也日范成熟。

PMW交址变颜明速以耳高效率、高功率因数、输出漩形好、结构简单等优点,在井卞风讯、水泵、造尿机等设备中得到了广泛的应用。

為单片机应用于交说变顺调速系统,可有效地直免传统阖速方案中的一些缺点,达到了提高腔軸績度的目的,具特点:(1 )采用单片机可以便冕大多数控制逆辑通过软件实现,简化了电路。

(2)单片机具有更强的迥弭助能,运算速度快,精度高,有大容量的存储单元,可以实现较为貝杂的控制。

(3)无零点漂杨,控制精度高。

(4)可以提供人机界面,多机连网Ifto根据国外有关变额阚速的最新研究成果及研究动向,参囲大量的文献、资科,本着先iStt与成數性兼顾、标旌化、可靠性、连续性、KBtt的系统设计原则,设廿了如图1所示的系貌给构根因。

A图2整流电路有过驀騁需i捫話謀爲弩鵲豊鵠强郴p wM超訓勵电路烏柯2•系境主0»8it2.1整流應液电路的设廿为了给逆变器梶供一个稳定的頁说电压,需要将电网输人的交说电进行整潦。

通常整诡电路可分为可控整潦和不可控整逍。

可控整流可以便系统的功率因数接近I,并且具有较小的纹波,频率高,可障低较小隔值的激械电容。

但是采用可控整浦电路会便得系统成本上升,并目控制电路夏杂。

目前比较经济可靠的方案,一般邵是采用二枚管整逍,使电网功率因数与逆变输出电压无关而接近干1。

在本糸説屮,我们采用了三柑二机管不可控整涌,如图2所示,采用它无需控嗣电路驰3J,电路简单、可靠,成本低,缺点就是纹波较大,需采用较大幅16的滤波电容。

2.2三相逆变电路的设计三HI交渣负我需要三H1逆变器,在三«1逆变电路中,应用最广的是三松桥衣逆变电路。

采用IGBT 作为可控元件的电压里三相逆变电路如图3所示,可次看出电路由三个半桥组成。

图3三相連变电路VBGVH 1Vf4GVT4E图4IR2110驰动半桥电路电压型三用速变桥的基本工作方衣与单《!逆变桥《!间,是导电方a, RPS个桥肾的导电角度为,同一松(间一半桥)上下两个肾交替导电,各《!开始导电的时可依次柑差。

基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告

基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告

第一章:前言1.1前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。

近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。

采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。

而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。

并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。

随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。

1.2本设计任务:任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的速度在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案1、系统的硬件电路设计与分析电动机PWM驱动模块的电路设计与实现具体电路见下图。

本电路采用的是基于PWM 原理的H型桥式驱动电路。

89C51单片机直流电机调速

89C51单片机直流电机调速

计算机控制技术课程设计成绩评定表设计课题基于89C51的直流电机调速设计学院名称:电气工程学院专业班级:学生姓名:学号:同组者:指导教师:设计地点:设计时间:单片机系统课程设计任务书目录1 引言 (4)2 总体方案设计 (5)2.1总体方案 (5)2.2 原件选择及介绍 (6)3 硬件电路设计 (10)3.1 单片机及其外围整体电路 (10)3.3 键盘扫描电路 (12)3.4 LED显示模块电路 ........................................................... 错误!未定义书签。

3.5 D/A转换器及其与MCU的接口电路 (13)4 系统软件设计 (13)4.1 主程序设计 (13)4.2 中断服务程序设计 (15)4.3 子程序的设计 (17)5 系统调试与总结 (18)调试总结 (18)参考文献 (19)附录A 系统原理图 (20)附录B 源程序 (21)1 引言电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域和人们的日常生活。

无论是在工农业生产,交通运输,国防,航空航天,医疗卫生,商务和办公设备中,还是在日常生活的家用电器和消费电子产品(如电冰箱,空调,DVD等)中,都大量使用着各种各样的电动机。

据资料显示,在所有动力资源中,百分之九十以上来自电动机。

同样,我国生产的电能中有百分之六十是用于电动机的。

电动机与人的生活息息相关,密不可分。

电气时代,电动机的调速控制一般采用模拟法,对电动机的简单控制应用比较多。

简单控制是指对电动机进行启动,制动,正反转控制和顺序控制。

然而近年来,随着技术的发展和进步,以及市场对产品功能和性能的要求不断提高,直流电动机的应用更加广泛,尤其是在智能机器人中的应用。

直流电动机的起动和调速性能、过载能力强等特点显得十分重要,为了能够适应发展的要求,单闭环直流电动机的调速控制系统得到了很大的发展。

89C51在直流调速控制系统中的应用

89C51在直流调速控制系统中的应用

基于单片机(89C51)的双闭环直流调速系统摘要:该文介绍89C51单片机在直流电机转速控制系统中的应用、实现方法、硬件结构等。

本系统采用霍尔元器件测量电动机的转速,用89C51单片机对直流电机的转速进行控制,用DAC0832芯片实现输出模拟电压值来控制直流电动机的转速。

1.前言直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。

从控制的角度来看,直流调速还是交流拖动系统的基础。

早期直流电动机的控制均以模拟电路为基础,采用运算广大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了坦洲电动机控制技术的发展和应用范围的推广。

随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。

采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。

2.转速的测量原理转速是工程上一个常用的参数,旋转体的转速常以每分钟的转数来表示。

其单位为r/min。

转速的测量方法很多,由于转速是以单位时间内的转数来衡量的,因此采用霍尔元器件测量转速是较为常用的一种测量方法。

霍尔器件是具有半导体材料制成的一种薄片,器件的长、宽、高分别为l、b、d。

若在垂直于薄片平面(沿厚度d)方向施加外加磁场B,在沿l方向的两个端面加以外电场,则有一定的电流经过。

由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:fl=pVB 式中“fl—洛化磁力,q—载流子电荷,V—载流子运动速度,B—磁感应强度。

这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面间的电位差UH称为霍尔电压。

霍尔电压大小为:U H=R HχIχB/d(mV)式中:R H—霍尔常数,d—元件厚度,B—磁感应强度,I—控制电流设K H= R H /d,则U N=K HχIχB(mV)K H为霍尔器件的灵敏系数(mV/mA/T),它表示该霍尔元件在磁感应强度和单位控制输出霍尔电动势的大小。

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

第一章: 前言1.1 前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。

近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。

采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。

而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。

并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。

随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。

1.2本设计任务:任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的转速在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案总体设计方案的硬件部分详细框图如图一所示。

数码管显示键盘向单片机输入相应控制指令,由单片机通过P1.0与P1.1其中一口输出与转速相应的PWM 脉冲,另一口输出低电平,经过信号放大、光耦传递,驱动H 型桥式电动机控制电路,实现电动机转向与转速的控制。

电动机的运转状态通过数码管显示出来。

电动机所处速度级以速度档级数显示。

正转时最高位显示“三” ,其它三位为电机转速;反转时最高位显示“F ”,其它三位为电机转速。

每次电动机启动后开始显示,停止时数码管显示出“0000”。

1、系统的硬件电路设计与分析电动机PWM 驱动模块的电路设计与实现具体电路见下图。

本电路采用的是基于PWM 原理的H 型桥式驱动电路。

PWM 电路由复合体管组成H 型桥式电路构成,四部分晶体管以对角组合分为两组:根据两个输入端的高低电平决定晶体管的导通和截止。

4个二极管在电路中起防止晶体管产生反向电压的保护作用,防止电动机两端的电流和晶体管上的电流过大的保护作用。

在实验中的控制系统电压统一为5v 电源,因此若复合管基极由控制系统直接控制,则控制电压最高为5V ,再加上三极管本身压降,加到电动机两端的电压就只有4V 左右,严重减弱了电动机的驱动力。

基于上述考虑,我们运用了TLP521-2光耦集成块,将控制部分与电动机的驱动部分隔离开来。

输入端各通过一个三单片机 PWM 电机驱动按键控制极管增大光耦的驱动电流;电动机驱动部分通过外接12V电源驱动。

这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。

在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。

脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉冲频率低则反之。

经实验发现,当电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在10Hz以下,电动机转动有明显跳动现象。

而具体采用的频率可根据个别电动机性能在此范围内调节。

通过P10输入高电平信号,P11输入低电平,电机正转;通过P10输入低电平信号,P11输入高电平,电机反转;P10、P11同时为高电平或低电平时,电机不转。

通过对信号占空比的调整来对电机转速进行调节。

2、系统的软件设计本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和功能、PWM脉宽控制和数码管显示等部分的设计。

单片机资源分配如下表:P0 显示模块接口键盘中断P1 键盘模块接口系统时钟P1.0/P1.1 PWM电机驱动接口①PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:/*****************延时函数*************************/delays(){uchar i;for(i=5000;i>0;i--);}②键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。

要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少一定的占空比。

③显示子程序:利用数组方式定义显示缓存区,缓存区有8位,分别存放各个数码管要显示的值。

④定时中断处理程序:采用定时方式1,因为单片机使用12M晶振,可产生最高约为65.5ms的延时。

对定时器置初值B1E0H可定时20ms,即系统时钟精度可达0.02s。

当20ms定时时间到,定时器溢出则响应该定时中断处理程序,完成对定时器的再次赋值,并对全局变量time加1,这样,通过变量time可计算出系统的运行时间。

3、软件设计中的特点:对于电机的启停,在PWM控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速度,停止则由于当前速度逐渐降至零。

这样有利于保护电机。

键盘处理上采用中断方式,不必使程序对键盘反复扫描,提高了程序的效率。

第三章:系统硬件电路设计整体框图如下:第四章:系统功能调试仿真整体图如下:直流电机的调试功能仿真如下图:1、正转时,电机正转,数码管最高位显示“三”,其它三位先所给定频率,如下图:2、反转时,电机反转,数码管最高位显示“F”,其它三位先所给定频率,如下图:3、输出波形如下:4、加速分5档,波形依次如下:5、减速分5档,波形如下:第五章:程序见附件1第六章:PCB图见附件2第七章:元件清单见附件3第八章:心得体会略附件1/***************基于单片机AT89C51的直流电机PWM调速控制系统*************//*******************地点:广东松山职业技术学院************************//****************班级:2009级检测技术及应用****************************//*****************指导老师:张军涛***********************************/ /***************时间:2011年7月1日***********************************//************头文件*********/#include<reg51.h>#include<absacc.h>#include <intrins.h>/************************** //********自定义变量********/#define uint unsigned int //自定义变量#define uchar unsigned charchar gw,sw,bw,qw;uchar j; //定时次数,每次20msuchar f=5; //计数的次数sbit P10=P1^0; //PWM输出波形1sbit P11=P1^1; //PWM输出波形2sbit P12=P1^2; //正反转sbit P13=P1^3; //加速sbit P14=P1^4; //减速sbit P15=P1^5; //停止sbit P16=P1^6; //启动uchar k;uchar t; //脉冲加减/**************************/*/*********控制位定义********************/uchar code smg[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x73,0x71};//程序存储区定义字型码表char data led[4]={0x08,0x04,0x02,0x01}; //位码uint x; //数码管显示的数值display(); //数码管显示delays(); //延时函数key();displays();/*****************************************//***************主函数********************/main (void){TMOD=0x51; //T0方式1 定时计数T1方式1计数 TH0=0xb1; //装入初值20MSTL0=0xe0;TH1=0x00; // 计数567TL1=0x00;TR0=1; //启动t0TR1=1; //启动t1gw=sw=bw=qw=0; //数码管初始化P0=0xc0;P2=1;while(1) //无限循环{display(); //数码管显示key();}}/*****************************************//***************数码管显示****************/display(){uchar i;gw=x%10; //求速度个位值,送到个位显示缓冲区 sw=(x/10)%10; //求速度十位值,送到十位显示缓冲区 bw=(x/100)%10; //求速度百位值,送到百位显示缓冲区 qw=x/1000; //求速度千位值,送到千位显示缓冲区 for(i=0;i<4;){P2=led[i];if(i==0) //显示个位{P0=smg[gw];delays();}else if(i==1) //显示十位{P0=smg[sw];delays();}else if(i==2) //显示百位{P0=smg[bw];delays();}else if(i==3) //显示千位{if(k==0) //正转时显示"三"{P0=0x49;delays();}else{P0=0x71; //反转时显示"F"}}i++;}}/*******************************************************//*****************延时函数*************************/ delays(){uchar i;for(i=5000;i>0;i--);}/************************************************//*********t0定时*中断函数*************/void t0() interrupt 1 using 2{TH0=0xb1; //重装t0TL0=0xe0;f--;if(k==0){if(f<t)P10=1;elseP10=0;P11=0;}else{if(f<t)P11=1;elseP11=0;P10=0;}if(f==0){f=5;}j++;if(j==50){j=0;x=TH1*256+TL1; //t1方式1计数,读入计数值 TH1=0x00;TL1=0x00;x++;display();}}/****************按键扫描**************/ key(){if(P12==0) //如果按下,{while(!P12) //去抖动display();k=~k;}if(P16==0) //启动{while(P16==0);IE=0x8a;}if(P13==0) //加速{while (P13==0);t++;}if(t>=5)t=5;if(P14==0) //减速{while(P14==0);t--;}if(t<1)t=1;if(P15==0) //停止 {while(P15==0);EA=0;P10=0;P11=0; 稳压霍尔片差分}}/******************************************************/ 附件2:附件3:元件 数量(个)元件 数量(个)光电耦合器:TLP521-2 1三极管85504按键 5 三极管8050 5 自锁按键 1 1N4007 4 At89s521四位一体数码管112M 晶振 1 电容104 1 Led 1 直流电机 1 电阻1K 3 电容22P 2 电阻10K1电解电容47P/16V274LS04 1 下载口 1DANPIANJI.UGN3144110单片机转速信号拾取整形倍频单片机显示接口芯片驱动电路显示键盘AT89C51单片机显示传感器电路驱动电路键盘电路时钟电路复位电路。

相关文档
最新文档