智能风扇论文_第1页
智能风扇论文_第2页
智能风扇论文_第3页
智能风扇论文_第4页
智能风扇论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

丽水学院毕业设计论文目录TOC\o"1-5"\h\z摘要11绪言31.1课题背景3\o"CurrentDocument"1.2课题研究的目的和意义42系统的控制特点与性能要求43本设计用到的元器件简介5STC公司STC89C52RC单片机简介53.2、STC89C52RC芯片简介错误!未定义书签。\o"CurrentDocument"3.3DS18B20温度传感器64硬件设计74.1总体硬件设计7\o"CurrentDocument"直流稳压电源的设计7\o"CurrentDocument"单相桥式整流电路8\o"CurrentDocument"滤波电路9稳压电路10电机调速模块104.3.1电机调速原理10\o"CurrentDocument"4.3.2电机控制模块硬件设计10\o"CurrentDocument"4.4温度显示与控制模块设计11\o"CurrentDocument"4.4.1温度检测硬件模块设计11\o"CurrentDocument"4.4.2温度显示硬件模块设计12\o"CurrentDocument"4.5红外收/发电路13\o"CurrentDocument"4.5.1红外线遥控器发射电路13\o"CurrentDocument"4.5.2红外接收电路16\o"CurrentDocument"5软件设计17\o"CurrentDocument"5.1数字温度传感器模块程序流程图19\o"CurrentDocument"5.2电机控制模块195.3人机接口错误!未定义书签。\o"CurrentDocument"5.4红外收/发模块21\o"CurrentDocument"6总结与展望23\o"CurrentDocument"7致谢23参考文献23附录124\o"CurrentDocument"附图136Abstract:Thisdesignisadesignmethodofanintelligentelectricfan.ThedesignsystembasedonSTC89C52RCchipmicrocomputerasthecore,thetemperaturesensorDS18B20torealizetheenvironmenttemperatureperception,changesystemfollowingtheenvironmentaltemperaturetochangespeedmotor,controlthespeedoffan.Thisdesignadoptsintelligenttemperaturecontrol,thefancanperceivetheenvironmenttemperature,toadjustthefanspeed,letusershaveabetteruseeffect.Controlincludestwoaspects:automaticcontrolandmanualcontrol.Theusercanselectthisintelligentcontrolmethod,operationstateandtheusercanusetheremotecontroltocontrolfan.LEDdisplaywithLCDscreendisplaysthecurrenttemperature,thespeedofthefan,fanoperatingmodeparameters,simpledecency,elegantappearance.Keywords:STC89C52RCtemperaturesensor,infraredremotecontrolintelligentelectricfan摘要:此设计是一种智能电风扇的设计方法。该设计系统以STC89C52RC芯片的单片机为核心,应用DS18B20的温度传感器来实现对环境温度的感知,同时系统跟随环境温度的变化来改变电机的运行速度,控制风扇的转速。此设计采用的智能温度控制,使风扇可以感知环境温度的高低,以调节风扇的转速大小,让用户拥有更好的使用效果。控制方面包括两个方面:自动控制和手动控制。用户可以选择这种智能调速的方式,同时用户也可以使用遥控器来控制风扇的运行状态。LED显示功能使用液晶屏显示当前室温度,风扇的转速,风扇的工作模式等参数,简洁得体,美观大方。关键词:STC89C52RC智能电风扇温度传感器红外遥控1绪言本章主要阐述了智能电风扇研究的背景,现状,发展方向,明确的指出了制作智能电风扇所用到的元器件,以及各个元器件的功能描述。1.1课题背景我们常见的电风扇一般只有四、五个风速档,用的是人工开关,不知道室内温度,只是人为的调节该用哪个档。而自动调温电风扇这个设计师一个新领域,它用的是在带你走中应用广泛的STC89C52RC单片机。通过单片机与温度探测器结合,将其应用于家用电风扇等转速精确控制,能够有良好的性能。自动调温电风扇简介它使用直流电动机的控制以模拟电路为基础,运算放大器、非线性集成电路以及数字电路组成,使得对电风扇各档风量大调节更加细化,使得电风扇等控制更加人性化,同时它也具有全自动、控制简单、智能化,制作容易,使用温度传感器、专用控制集成电路和单片机,实现当室温达到最佳所设定开启的温度是,电风扇自动开启,并且可以根据室温变化换风速;档室温低于这一设定温度时,电风扇自动关闭。同时显示当前室内温度,和自己所设定的温度,提醒人们合理使用电风扇。自动调温电风扇设计目的进入5月份,天气越来越热,尤其到了盛夏更是酷热难当。目前可供选择的纳凉工具主要有:空调、普通电风扇、冷风机以及蒲扇、纸扇等等。而电风扇以其低廉的价格是她的使用极为广泛。人们常常通宵达旦的使用,一旦气温稍有变化,感冒人数就会急剧增加;冷风机能增强空气的湿度但使用久了,家里电器会受潮,同时也会让使用者长期裸露在外的关节受到危害;蒲扇和纸扇价格低廉,但不自动,目前使用者微乎其微。在这种情况下,自动调温电风扇应运而生。我们的生活加快,人数需要处理的事情越来越多,在炎热的夏天,回到家更想好好休息,消除自己一天的工作疲劳,而自动调温电风扇等设计就解决了这些问题。自动调温电风扇是通过单片机控制来实现直流电动机运转频率的自动调节,从而达到改变风速的目的。此设计用到STC89C52RC单片机,它是把微处理器,存储器(RAM和ROM),输入/输出接口以及定时器/计数器集成在一起的集成电路芯片。他与集成电路相结合,组成一个设定温度,感温,控制和输出与一身的模块。利用单片机STC89C52RC和一些电路对室温进行探测,从而对电风扇进行开和关断一系列控制。1.2课题研究的目的和意义面临庞大的市场需要,需要提高电风扇的市场竞争力。使之在技术含量上有所提高,应使风扇不仅功能多样,操作简便,而且更加安全可靠。为此,在将要走出大学校门,撰写毕业论文之计,我选择了《基于单片机的遥控交流无级调速系统》作为我的毕业设计的研究课题,本课题以”智能电风扇作为载体来进行研究。大学学习期间,分别学习了《单片微机原理及其应用》,《传感器检测及应用技术》等课程,对单片机有一定的了解,特别是MCS-51系列的单片机的特点及其应也较常熟悉;而对于传感器的一些应用也略知一二。所以,在设计智能电风扇的时候,给电风扇赋予了更多人性化的设计,如,遥控控制、定时控制,无极调速等,使电风扇更加人性化,相信其丰富的功能,人性化的设计将大大提高电风扇的市场竞争力。而且最主要的是通过智能的控制使得科技的应用深入生活中,让广大的人民能享受到科技带来的方便.2系统的控制特点与性能要求

本设计主要目的是使普通的电风扇的功能更加强大,使操作简单化,智能化,主要实现以下几个部分的功能:1、温度控制功能:电风扇可以感知环境温度,以调节风扇的转速,达到更好的工作效果。2、遥控控制:该功能可以让用户远距离控制电风扇,并选择电风扇等运作状态。3、实时温度显示:该功能方便用户根据室温调节电机的启动温度点,达到节能目的。3本设计用到的元器件简介3.1宏晶科技公司STC89C52RC单片机简介STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。T2/P1.0.T2EX/P1.1iPl.2[Pl.3[Pl.4jPl.5[Pl.6[Pl.7[RST'RXD/P3.0:TXD/P3.1:INTO/P3.2'INT1/P3.3:TO/P3.4[T1/P3.5'WR/P3.6:RD/P3.7:XTAL2'XTAL1:vss:vccPO.O/ADOPO.1/AD1PO.2/AD2vccPO.O/ADOPO.1/AD1PO.2/AD2PO.3/AD3PO.4/AD4PO.5/AD5PO.6/AD6PO.7/AD7EAALE/PROGPSENP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/AUP2.2/A1OP2.1/A9P2.0/A8增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.工作电压:5.5V〜3.3V(5V单片机)/3.8V〜2.0V(3V单片机)工作频率范围:0〜40MHz,相当于普通8051的0〜80MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒通用异步串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40〜+85°C(工业级)/0〜75°C(商业级)PDIP封装3.2STC89C52RC的工作方式掉电模式:典型功耗<0.川A,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4Ma〜7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备3.3DS18B20温度传感器DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20主要特性独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。测温范围一55C〜+125C,固有测温误差(注意,不是分辨率,这里之前是错误的)1C。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。工作电源:3.0~5.5V/DC(可以数据线寄生电源)在使用中不需要任何外围元件测量结果以9~12位数字量方式串行传送不锈钢保护管直径06适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温标准安装螺纹M10X1,M12X1.5,G1/2任选

PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。4硬件设计4.1总体硬件设计系统总体设计框图如下4-1所示:遥控器红外线发射■红外线接收模块数字温度传感器STC89C52单片机系统温度显示模块电机控制

模块遥控器红外线发射■红外线接收模块数字温度传感器STC89C52单片机系统温度显示模块电机控制

模块转速显示模块对于单片机中央处理器的方案设计,根据要求,我们可以选用具有4KB片内EPPROM的STC89C52RC单片机作为中央处理器。作为整个控制系统的核心,STC89C52RC内部已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,竞价比高。是比较合适的方案。4.2直流稳压电源的设计直流稳压电源主要功能是为后两个部分提供电压的输出。在设计中分出了2个支路,分别输出5V电压。直流稳压电源主要由电源变压器、整流电路、滤波电路和稳压电路四部分组成。框图如图4-2所示。图4-2直流稳压电源方框图整流电路电源变压器稳压电路2二VO-A滤波电路整流电路电源变压器稳压电路2二VO-A滤波电路4.2.1单相桥式整流电路整流电路主要实现将交流电转换成直流电。实现这以目标主要是靠二极管的单向导电作用,因此二极管是构成整流电路的关键元件。我采用的是单相桥式整流电路。本设计整流电路如图4-2-1-1所示。图4-2-1-2单相桥式整流电路图在图中,输入电压V1通过电源变压器成V2。它的作用是将交流电电压V1变成整流电路要求的交流电压V2。其中的电阻式要求支流供电的负载电阻。四个整流二极管D1至0D4结成电桥的形式。通过负载R的电流I以及电压V3的波形如图4-2-1-2。它们都是单方向的全波脉动波形。

图4-2-1-2单相桥式整流电路波形图4.2.2滤波电路在整流电路输出波形中由于有较多的波纹成分,在所要求的波形不太符合。所以在整流电路以滤去整流输出电压的纹波。而滤波电路常有电容滤波,电感滤波和RC滤波等。本电路米用的是电容滤波电路。如图4-2-2所示。图4-2-2电容滤波电路4.2.3稳压电路典型应用电路如图4-2-3所示。图中C1、C2用于频率补偿,防止自激振荡和高频干扰;C3采用电解电容,以减少电源引入的低频干扰对输出电压的影响;D是保护二极管,当输入端短路时,给C3一个放电的通路,防止C3两端电压激穿调整的发结。图4-2-3稳压电路4.3电机调速模块4.3.1电机调速原理通过单片机控制可控硅的导通角,从而改变加在电机两端的有效电压来调节电动机的运转。可控硅导通条件如下:1)阳一阴极间加正向电压;・2)控制极一阴极间加正向触发电压;3)阳极电流IA大于可控硅的最小维持电流IS。4.3.2电机控制模块硬件设计电路中采用了过零双向可控硅型光耦MOC3041,集光电隔离、过零检测、过零触发等功能于一身,避免了输入输出通道同时控制双向可控硅触发的缺陷,简化了输出通道功离2驱动电路的结构。所设计的可控硅触发电路原理图见图2—3.其中RL即为电机负载,其工作原理是:单片机及响应用户参数设置,在I/O口输出一个高电平,经反向器反向后,送出一个低电平,使光电耦合导通,同时触发双向可控硅,使工作电路导通工作,给定时间内,负载得到的功率为:p=nuiN式中:P为负载得到的功率,kW;n为给定时间内可控硅导通的正弦波的总个数;U为可控硅在一个电源周期全导通时所对应的电压有效值:V;I为可控硅在一个电源周期全导通时所对应的电流有效值:A。由式(1)可知,当U,I,N为定植时,只要改变n的大小即可控制功率的输出,从而达到调节电机转速的目的。图4-3-2电机控制原理4.4温度显示与控制模块设计4.4.1温度检测硬件模块设计图4-4-1以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。图4-4-1(a)中DS18B20采用寄生电源方式,其VDD和GND端均接地,图4-4-1(b)中DS18B20采用外接电源方式,其VDD端用3V〜5.5V电源供电。假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。(a)寄生电源工作方式(b)外接电源工作方式

图4-4-1DS18B20与微处理器的连接图主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,再读出温度转换值。假设接一单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度探测电路。单线数字温度传感器DS18B20采用一线总线接口,大大节省了系统的I/O资源。如图4-4-2所示。VDDDQGND图4-4-2温度传感器DS18B20电路4.4.2温度显示硬件模块设计温度传感器可以选用LM324A的运算放大器,将其设计成比例控制调节器,输出电压与热敏电阻的阻值成正比,但这种方案需要多次检查后方可使采样精确,过于繁琐。所以我采用老性能更为优越的DS18B20数字温度传感器,它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。本模块以DS18B20作为温度传感器,STC89C52RC作为处理器,配以温度显示作为温度控制输出单元。整个系统力求结构简单,功能完善。系统工作原理如下:DS18B20进行现场温度测量,将测量数据送入STC89C52RC的P1.6口,经过单片机处理后显示温

度值,并与设定温度值的上下限值比较,若高于设定值或低于设定下限值则控制电机转速进行调整。图4-4-3DS18B20温度计工作图4.5红外收/发电路红外收/发工作原理图如下:键盘控制电路图4-5红外收/发工作原理图键盘控制电路4.5.1红外线遥控器发射电路远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um~1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um~0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um~0.38um的光波为紫外光(线),波长为0.76um~1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。其主要优点是:(1)传播中不会产生畸变噪音;(2)具有较高的传播速度,不会产生因干涉、空间反射以及双折射等作用而出现的干扰;(3)采用一定的调制方法可以有高的干扰性;(4)在高峰值功率情况下所需的功率较小;(5)在仅有一个载波频率的情况下可以有高的稳定性。正因为红外线传输有上述一系列优点,因此获得了很大的发展。借助于红外线具有直线传播的特性,利用红外传感器具有灵敏度高、响应速度快和光谱范围窄的性能,同时利用单片机具有结构紧凑、可靠性高、数据处理能力强、速度快、功耗小、成本低的特点,可以制作灵敏度高、抗干扰性能优良的红外遥控装置。由于红外线遥控器具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录音机、音响设备、空调机以及玩具等其他小型电器装置也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅安全可靠,而且能有效地隔离电气干扰。下面就红外遥控技术的特点做下简单的介绍。红外遥控技术是一种利用红外线进行点对点通信的技术,其相应的软件和硬件技术都已比较成熟。它在技术上的主要优点是:1、无需专门申请特定频率的使用执照;2、具有移动通信设备所必需的体积小、功率低的特点;3、传输速率适合于家庭和办公室使用的网络;4、信号无干扰,传输准确度高;方向性,两个设备之间如果传输数据,中间就不能有阻挡物;而且通讯距离较短,此外红外LED不是一种十分耐用的器件。红外发射程5、成本低廉。它的缺点是:由于它是一种视距传输技术,采用点到点的连接,具有方向性,两个设备之间如果传输数据,中间就不能有阻挡物;而且通讯距离较短,此外红外LED不是一种十分耐用的器件。红外线遥控器发射原理图如下:图4-5-1遥控器原理框图1遥控器(1)、系统功能该系统具有如下几个功能:

1)、通过遥控器控制电机的启动、停止;2)、通过遥控器控制电机的加速、减速运行;3)、通过遥控器控制电机的全自动与手动切换;4)、通过遥控器控制电机的正转与反转;(2)、按键功能2、红外发射的编码方式遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本的NEC的UPD121G组成发射电路为例说明编码原理。当发射前按下按键后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:(1)、采用脉宽调制的串行码,以脉宽为0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、周期为2.25ms的组合表示二进制的“1”。“0”、“1”组成的32位二进制码经过38KHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外线发射二极管发射。(2)、遥控编码是连续发32位二进制码组,其中前16为为用户识别码,能区别不同的电气设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制0FFH,后16位为8位操作码(功能码)及其反码。遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms,一组码本身的持续时间随它包含的二进制的“0”和“1”的个数不同而不同,大约在45〜63ms之间。(3)、其相关波形图如下:遥控信号编码波形图—9ms―遥控信号编码波形图—9ms―妒5叫p-560u叫―560u-引导码图4-5-1红外发射的编码方式3、遥控器红外发射电路遥控器红外发射电路如附图1所示。4.5.2红外接收电路1、接收解码方式解码的关键是如何识别“0”,和“1”,从位的定义我们可以发现“0”,“1”均以0.56的低电平开始,不同的是高电平的宽度不同区别“0”和“1”,如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位位“0”,反之则为“1”,未来可靠其间,压缩必须比0.56ms长些,但又不能超过0.12ms,否则如果该位位“0”,读到的意思下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84左右均可。根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。中断接收时子程序首先读取T0定时器的长度,如果是0.56ms就认为是“0”,将其存入缓冲区并且计数器加一,如果是1.68ms就认为是“1”,将其存入缓冲区并且计时器加一。如果计时器值为32时,就接收结束标志位并且计数器清0,如果计时器值不为32时,就认为接收误码,计时器也将清0,传输重新等待读取红外信号。2、红外接收电路接收电路可以使用一种集成红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,这里使用HS0038接收器,它对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便,接收电路图如图4-5-1所示。P3-5VCSNC〈<KEY2><KE¥3><KEY4>_任意淀开机侑号Header?图4-5-1红外接收电路图HS0038接收原理:红外线接收是把遥控器发送的数据(己调信号)转换成一定格式的控制指令脉冲(调制信号。基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常有一体化的接收头来完成,输出TTL兼容电平。最后通过解码脉冲信号转换成数据,从而实现数据的传输。如果相邻的两个中断间隔的数据长度0.56ms,说明接收到的是“0”;时间长度是1.12ms则为“1”。因此,脉冲电平的每一次挑拨都会形成一次中断,在中断服务子程序中即可实现一次性兑一连串连续波形的测量,在测量后对0和1的歌数据统计从而测出控制指令的功能。5软件设计软件总体流程描述在主程序初始化之后,开始反复检测各模块相关部分的缓冲区标志,如果缓冲区标志置位,说明有相应的数据需要处理,然后主程序调用响应的处理子模块,对于温度传感器,我们采用定时采集数据的方法,在定时中断子程序中,采集相应的数据,并进行判断,如果是异常数据,则将数据保存在系统缓冲区,同时置对应的缓冲区标志。然后主程序将会调用相应的子程序进行处理。软件主流程图见下页图5-2所示。当有按键按下的时候,采用键盘中断子程序扫描相应的键盘码,然后发给主程序,置对应的键盘按键标志位。在主程序中,当有键盘按下的时候,调用对应的键盘处理子程序。图5-2软件主流程

5.1数字温度传感器模块程序流程图图5-2-1数字温度传感器模块程序流程图5.2电机控制模块电机涉及到转速和摆头两个方面。风扇的转速由光耦合器触发导通角控制,摇头部分可以使用普通电风扇蜗杆部分摇头调速,只是把它用一个电磁阀来控制其导通与断开来实现摇头控制。在此基础上我们通过软件对风扇的转动进行精细的控制,以实现多种风类型。对于各种风类型我们依照如下定义:正常的芯片,使用默认的12位转换精度,外接供电

电源,子程序GETWD读取的温度值高位字节送WDMSB单元,低位字节送WDLSB风:风扇按设定之强,中,弱风互速运转。图5-2-2电机控制模块自然风:风扇马达按预编电脑程序作不规则运转,配合风速键之设定,可分强自然风,中自然风,弱自然风,模仿大自然之风吹效果,令风量更柔和更舒服。睡眠风:风扇马达进入自然风电脑程序控制,其原理是人体的体温会在睡眠后慢慢下降。风扇的风量亦会慢慢减弱,以免入睡后着凉,其减弱规律如下:当最初设定为强风时,风扇按强自然风运转半小时,后转为中自然风,半小时后再变为弱自然风,直至预置时间结束,或被关掉为止;当最初设定为中时,风扇按中自然风运转半小时,转为弱自然风,直至预置时间结束,或被关掉为止;当最初设定为弱自然风时,风扇按弱自然风运转,直至预置时间结束,或被关点为止。如图5-2-2所示。从软件层角度来说,就是根据前一刻的风扇状态以及用户的输入来确定当前时刻所要输出的风类型和风速。从软件驱动层角度来说,就是根据软件层确定的当前时刻风类型和风速量化所要输出的风速值。从硬件驱动层角度来说,对于风速转速的控制,最终是1根线的选通以线上可控硅导

通时间的控制,也就是说,将软件驱动层量化出的风速值。转换成1根线的选通以及选通的线上可控硅的导通时间。5.3红外收/发模块红外发射程序流程图如图5-2-4所示。图5-2-4红外发射程序流程图

红外接收软件使用输入捕捉中断处理红外遥控信号,根据不同的红外编码,可以完成调节风速,风型,时间,照明等功能。红外中断服务程序流程图如图5-2-5所示。图5-2-5红外中断服务程序流程图6总结与展望本文主要完成了如下工作:分析了电风扇在国内市场上所处的地位,以及我所设计研究的智能电风扇主要功能与作用。从解决智能电风扇温度控制入手,讨论了温度传感器在本设计中的作用与地位以及实现了遥控无级调速及各种不同类型风类在电风扇上的应用。从总体的设计布局入手,讨论了单片机在本设计中的作用与主导地位。在本课题的研究过程中,对单片机和传感器有了一定的了解,对设计智能电风扇有了一个总体的设计思路。其中有很多芯片是我们所没有学过的,但是通过设计中的学习,我查阅了大量的资料,尤其是到图书馆去询问老师,通过在校园网的CNKI网站查到了许多对我有很大帮助的资料,并且和同学们一起讨论,使我对这些芯片有了很深刻的了解,并学会将其运用在具体的实践当中。但是在很都方面还有待于进一步的改进和完善。在以后的工作与学习中,需要更加努力的学习理论知识,在本身掌握知识的基础上还要看大量的书籍,还有要提高实践能力,才能对这些专业的知识做进一步的学习和研究。7致谢在论文完成之际,我首先要向我教我《机电一体化设计与应用》及我的毕业论文指导老师雷伟鸣老师表示最真挚的谢意。是他将扎实的理论知识传授与我,如果没有他们的谆谆教诲就没有我这篇论文的设计思路。在论文写作期间,何忠胜老师给了我很多指导和帮助,给我提了很多中肯的意见,并在我多次的修改期给我很多激励,让我有勇气克服了心理的压力,很好的完成了论文的文稿,虽然的写作的过程中,我遇到了很多的麻烦,但是何老师都不厌其烦的帮我修改,提出了很多的建议,在这里我要忠诚的感谢他;我还要特别感谢的是黄立峰、李伟文、张志田、雷福祥等各位老师给予我的无私的帮助,正是有了他们的鼓励和帮助,我的毕业论文才得以顺利的完成。到现在为止,论文基本就已经完成了,但是由于本人学识有限,以及现有知识的有限加之时间仓促,文中不免有错误和待改进之处,真诚欢迎各位老师,同学提出宝贵意见参考文献;;INT0的中断入口;T0的中断入口;进入主程序;预使用单元清0;将P1置输入;设置电平触发;38K的中断初始值;T0的工作方式2;送初值;1/3高电平标志;2/3的循环次数;进入待机;中断程序,完成其按键按下的标志位附录1红外发射程序按键说明:A:正传反转与模式切换B:档位的升高C:档位的降低D:开关机:采用4X1.5V供电,用89C2051做CPU芯片,当没有按键按下时,进入待机状态;按键采用INT0进行中断“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““*************************************************************************;$include(205RAM.INC);$include(REG51.INC)“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小ORG0000HJMPMAINORG0003H;JMPKEY_INT0ORG000BH;JMPFM_T0ORG0100HMIAN:MOVR0,#07HCLRAMAIN0:MOVSP,#60HMOVP1,#0000111BCLRKEYONCLRIT0SETBPT0SETBEX0MOV40H,#0FFHMOV42H,#0FFHCLRDATAOUTCLRFMOUTMOVTNOD,#02HMOVTOMD,#0F7HSETBFMOUTCLRTR0MOVR2,#02HDJNZ40H,LOOP1DJNZ41H,LOOP1DJNZ42H,LOOP1MOVPCON,#01HLOOP1:JMPMAINKEY_INT0:PUSHACCPUSHPSWCLREX0MOVA,P1CLREX0MOVA,P1CPLAANLA,#0FHMOVR2,AMOVP1#0F0HMOVR1,#03HMOVR3,#03HLCRAANLA,#0F0HMOVR1,#03HMOVR3,#03HCLRCPINT01:RLCAJCPINT01DECR1DJNZR3,PINT01PINT02:MOVA,R2MOVR2,#00HMOVR3,#03HPINT03:RRCAJCPINT04INCR2DJNZR3,PINT03PINT04:MOVA,R2CLRCRLCARLCAADDA,R1MOVSENDBUF+2,ACPLAMOVSENDBUF+3,AMOVSENDBUF,#0FFHLCALLSENDSETBET0SETBTR0LCALLPPCLRTR0CLRET0SETBEX0MOV40H,#0FFHMOV41H,#0FFHMOV42H,#0FFHPOPPSWPSWACCRETI;将行号存入R2中;将列号存入A中;置列初号;置循环次数;取列号并存入A中;置列初号;置循环次数;取列号;取行号;置循环次数;键号存于32H单元中;存键号的反码;系统码在30单元中;发送引导码;起动T0;发送一帧数据,包括系统码和数据码;当发送完后关断定时器;关T0的中断;执行完后打开外INT0“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小;发送四个缓冲单元的内容程序:“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小PP:MOVR3,#4;发送到字节数MOVR1,SENDBUFPP0:MOVR2,#08H;将数据首址CLRC;清CYPP1:RRCA;若C等1ZER0:SETBDATAOUT;若C等0CALLDY562usCLRDATAOUTCALLDY562usONE:SETBDATAOUTCALLDY562usCLRDATAOUTCALLDY1687usDJNZR2,PP1INCR1'DJNZRETR3,PP0;等四个字节的发送完““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““**************************************************************************“““““““““““***********电风扇红外接收(控制板)程序““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““**************************************************************************“““““““““““***********;用89C51单片机来做主芯片控制,采用红外1838接收头,可控硅采用MC97A6;K1:增加,增加指示灯亮;K2:减小,减小指示灯亮;K3:风类型控制(自然风、睡眠风、连续风),相应的指示灯亮;K4:定时功能;K5:温度设定;K6:开关机功能;自然风的处理流程:停一一开低档一一>延时6秒一一>开中档一一>延时6秒——>开高档一一>循环;睡眠风的处理过程:停6S>开低档10S>延时10秒>停延时10S—一>开中档10S——>停延时10S——>开高档10S——循环“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““*************************************************************************$INCLUDE(REG51.INC)$INCLUDE(89C51RAM.INC)“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小TEMPER_LEQU29H用于保存读出温度的低8位TEMOER_HEQU28H用于保存读出温度的高8位FALG1EQU38HDS18B20标志位FLAG2EQU01H设定状态标志位ORG0000HJMPSTARTORG0003HJMPJISH_INT0;红外遥控中断设置ORG000BHJMPLP0;定时中断ORG0013HJMPKEY_INT1;按键中断ORG0100HSTAR:MOVR0,#7FH;预使用单元清0CLRAMOV2FH,#25;设定高于25度为温度过高DISP:JNBFLAG2,DQMOVA,2FH;显示设定温度值SJMPXSDQ:MOVA,29H;显示当前温度值XS:MOVB,#10;取出十位和各位DIVABMOVDPTR,#WORDTABMOVCA,@A+DPTR

MOVP0,ACLRP2.7;开启个位数码管显示SETBP2.6SETBP2.5LCALLDELAY100SETBP2.7MOVA,BMOVDPTR,#WORDTABMOVCA,@A+DPTRMOVP0,ACLRP2.6RETSETBP2.1CLRFLAG2MOVSP,#60HMAIN0:MOV@R0,ADJNZR0,MAIN0MOVSP,#60HMOVTMOD,#01HMOVTH0,#3CH;定时50msMOVTL0,#0B0HMOV2FH,#25;设定高于25度为温度过高SETBP2.1CLRFLAG2MOVSP,#60HUQU:LCALLGET_TEMPER;用读温度子程序并初始化DS18B20LCALLDISP;调用显示当前温度MOVA,29H;将现场实际温度传送给ACJNEA,2FH,LL1;比较当前的温度与设定的温度是否相等SETBLLOW;关低风SETBMD1;关中风SETBHIGHT;关高风MOVP0,#0FFH;关所有的指示灯SETBEX0SETBEX1SETBEA;CPU开中断MAIN:JBLKEYON,KEYHANDLE;检按键标志位JBREC,KEYHANDLE;检接收中断标志位GET_TEMPER:LCALLINT_1820;先复位DS18B20JBFLAG1,TSS2RET:DJNZR0,TSR1MOVR0,#6BHDJNZR1,TSR1SETBP3.2;然后拉高数据线NOP

NOPNOPMOVR0,#25HTSR2:JNBP3.2,TSR3;等待DS18B20回应DJNZR0,TSR2LJMPTSR4;延时TSR3:SETBFALG1;置标志位,表示DS18B20存在LJMPTSR5TSR4:CLRFLAG1;清标志位,表示DS18B20不存在LJMPTRS7TRS5:MOVR0,#06BHTRS6:DJNZR0,TSR6;时TSR7:SETBP3.2RETWRITE_1820:MOVR2,#8;一共8位数据CLRCWR1:CLRP3.2MOVR3,#5DJNZR3,$RRCAMOVP3.2CMOVP3.2,#21DJNZR2,WR1SETBP3.2RET;判断DS18B20是否存在?若DS18B20不存在则返回TSS2:MOVA,#0CCH;跳过ROM匹配LCALLWRITE._1820LCALLDELAY100;延时750微妙以上,等待18B20A/D转换结束LCALLINIT_1820;准备读温度前先复位MOVA,#0CCH;跳过ROM匹配LCALLWRITE_1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_1820;将温度高位和数据保存到28H/29HRETREAD_1820:MOVR4,#2;将温度高位和地位从DS18B20中读出MOVR1,#29H;低位存入29H(REMPER_L),高位存入28H(TEMPER_H)中RE00:MOVR2,#8RE01:CLRCSETBP3.2NOPCLRP3.2NOPNOPNOP

SETBP3.2MOVR3,#08RE10:DJNZR3,RE10MOVC,P3.2MOVR3,#21RE20:DJNZR3,RE20RRCADJNZQR2,RE01MOV@R1,ADECR1DJNZR4,RE00RETWORDTAB:DB3FH,06H,5BH,4FH;“0”,“1”,“2”,“3”DB66H,6DH,7DH,07H;“4”,“5”,“6”,“7”DB7FH,6FH,77H,7CH;“8”,“9”,“A”,“B”DB39H,5EH,79H,71H;“C”,“D”,“E”,“F”DB80H,00H,40H;“小数点”,“暗”,“负号”DELAY100:MOVR4,#100;100毫秒延时子程序,占用R4,R5D222:MOVR5,#248DJNZR4,D222RETDELAY7:SETBP1.7MOVR3#120FRT:ACALLDELAY100CPLP1.6RETDELAY500:MOVR4,DJNZR5,$DJNZR4#248DA222RETJMPMAIN;转主程序KEYHANDLE:CLRLKEYONLCRLRECMOVA,MRDCJNZA,#01H,KEY2;当键值=01H时“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小;风类处理过程“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小KEY1:CJNEKEY1:CJNEA,#01H,KEY4_AJBSMF,SKEEPJBZCF,SPRING_AJBZRF,WATERMJMPMAINKEY4_A:JMPKEY4;K3的处理程序处理风类SPRING_A:JMPSPRING;自然风控制WATERMJNBZRF,FAN1CLRZRFSETBP2.7;关风扇JBLREC,ZHUAN0;查询JBLLEYON,ZHUAN0;查询CALLDY06SCLRLLOWJBLREC,ZHUAN0;查询JBLKEYON,ZHUAN0;查询CALLDY6sSETBP2.7;关风扇JBLREC,ZHUAN0;查询JBLLEYON,ZHUAN0;查询CALLDY20MSCLRMD1JBLREC,ZHUAN0;查询JBLKEYON,ZHUAN0;查询SETBP2.7;关风扇JBLREC,ZHUAN0;查询JBLKEYON,ZHUAN0;查询CALLDY20MSCLRHIGHTCALLDY6SAJMPWATERMZHUAN0:SETBSMFFAN1:JMPMAIN“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““*************************************************************************;定时控制“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小KEY4:CJNEJBJBJBJNBCLRSETBJMPA,SJ01,SJ02,SJ03,SJ00,SJ00TR0MAIN#04H,DY1HDY2HDY4HFAN4KEY5;K4的定时处理程序;0.5H处理DY1H:JNBSJ01,FAN4CLRSH01SETBTR0JMPMAINDY2H:JNBSJ02,FAN4

CLRSJ02SETBTR0JMPMAINDY4H:JNBSJ03,FAN4CLRSJ02SETBTR0FAN4:JMPMAIN“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““*****************************************************************************;开/关机“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小KEY5:CJNEA,#05H,PITHER;开关机处理程序JBKAI,GUANCLRMDICLRLED_MSETBKAIJMPMAIN;返GUAN:SETBP2.7:关风扇JMPMAINPITHER:JMPMAIN;其他键的不处理直接返回“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““*************************************************************************;T0定时中断处理“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小PUSHPSWMOVTH0,#3CH;定时50MSMOVTL0,#0B0HDJZNCUZHI,GRET;1S到后向下执行MOVCUZHI,#20;给50MS的寄存器给初值INCSENMOVA,SENCJNEA,#60,GERT;1分钟到后向下执行INCMINMOVA,MINJBSJ01,LOOP_1H;定时1小时的处理JBSJ02,LOOP_2H;定时2小时的处理JBSJ03,LOOP_4H;定时4小时的处理CJNEA,#30,GRET;半小时到后向下执行MOVP1,#0FFH;关断所有档位MOVP0,#0FFHSETBSJ01;将1H的标志位进行置1JMPRETLOOP_1H:CJNEA,#60,GRET;1小时到后向下执行MOVP1,#0FFH

MOVP0,#0FFHCLRSJ01;将1H的标志位进行置0SETBSJ01;将2好的标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论