福建江夏学院基于单片机智能温控风扇_第1页
福建江夏学院基于单片机智能温控风扇_第2页
福建江夏学院基于单片机智能温控风扇_第3页
福建江夏学院基于单片机智能温控风扇_第4页
福建江夏学院基于单片机智能温控风扇_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

Thisworkisanintelligenttemperature-controlledfandeviceThisworkisanintelligenttemperature-controlledfandevicethatcanachievetemperaturedetectionandLCDdisplay,thisdeviceconsistsofSTC89C52microcontrollerthecontrolcenterofthefanspeedcontrol.Theusercansetthetemperaturelowerlimitthetemperaturemeasuredbythesensorwhenstartingalowwindshieldbetweentheupperlowervalues,ifraisingthetemperaturereachestheupperlimitofthesettemperatureautomaticallyconvertedtoahighwindspeed,whenthetemperatureislowerthantemperaturelimitsetautomaticstoprotationofthefan,fanstatusisdeterminedbythereisalowerlimitonthevalueofthestoragecapacityafterpowerdownbeforecansavesettings,andtheabilitytohaveastablejob,doingagoodjob.Duetoitsintelligentmode,itdeterminestheworkhasenergy-savingfeatures,tosolvethetraditionalfanZerooperationtobringexcessKeywords:STC89C52;DS18B20;intelligentcontrol;energy目11.11.22.12.2111222目11.11.22.12.21112224457789992345611.1研究11.1研究这个问题完美解决了。DS18B20传感器集温度检测与输出为一体的设计,使作品的设计难度大1.2设计2统设计方2.12统设计方2.1统内本设计以52系列单片机作为主体核心,利用DS18B20器件对周围进行TEMP数据勘察采集,以(2)当TEMP小于设置的下限值时,电机不再运行工作。(3)当TEMP在上下限值之间时,电机平缓工作。(4)当TEMP212.2系统方案能。在温度勘测、调速方式、LED显示电路、驱动执行部分中,需要精心选择。ADAD转换片从而得到数字信号,输入单片机进行处理。也可以选STC89C52PWM波通过三极管驱动直接控制风扇电机的显示电路主要有两种较成熟的方案可以选择。LCD显示出来的画面优美,可以显示字符还有图3统硬件设3统硬件设单片机选用52系列单片机,由ATMEL生产,有着良好的能效和极佳的稳定性,应用于各种不同STC89C52可以通过定时器模PWM波,通过定时T0T1分别控制周期和占空比实SCT89C52单片机为核心进行,要懂得如何合理分配单片机资源。首先将单片机CLKRST电路位置合理安排。CLK/RST电路相对比较简单,CLK12M的晶振现RST。时钟电路图如下所示32333.2温度333.2温度传感器DS18B20是DALLAS推出的改进型智能温度传感器。该产品可以直接读出被测的温度稳定的测温分辨率0.5℃,在应对特定范围的测温需求有着天然的优势。DS18B20出厂都有单独的编号,单片机可以分开读取。所以可以3.3温度3.3温度显示模LED9012放大电路驱动显示。本作品主要目3.4电机转速控制模373.5373.5键盘4统软件设4.1软件4统软件设4.1软件本作品的是以52系列单片机为核心TEMP检测、调速执行、数码管驱动显示各个主要模块达成我们想要的功硬件通过STC98C52单片机和DS18B20完成信号处理来实现预期功能。软件4.2仿真P34P37R5Q3数码管驱动1KP101K21KP12 1K41KP1461KP161K8921风扇电 P37 C2 C3单 118b20温度传电源输入电源按键电软件,KeilC51软件方便又全能,它包含编辑、编译、仿真于一体,使用多种语言来编写程序。我选择使用Cfunction数据库,而且它海量的调试功能为程序编辑测试带来更高的纠错率[5-6]。在使用时要先建VCCP34P37R5Q3数码管驱动1KP101K21KP12 1K41KP1461KP161K8921风扇电 P37 C2 C3单 118b20温度传电源输入电源按键电软件,KeilC51软件方便又全能,它包含编辑、编译、仿真于一体,使用多种语言来编写程序。我选择使用Cfunction数据库,而且它海量的调试功能为程序编辑测试带来更高的纠错率[5-6]。在使用时要先建VCCDSB786GCDPD9FAE1332P2.122P2.04.4中。DS18B20将勘测到的TEMP数据输入到单片I/O口之中,单片机处理数据之后将数据发送到驱动LED数码管显示。4.5LED液晶数4.5LED液晶数码管显示电路由单片机和9012三级管驱动完成工作。主要元器件采纳使44.6风扇调速模块STC89C52PWM波T0来设置高电平的时间,通过操作TR0(T0开始计数的控制位得到不同占空比的输出,从而PWMPWM波的数据,以此来达到我4.7键盘输入程序3个按键。分别为功能键一个和加减按钮各一个。按下功能键,进入开始限值设定模式,通过同样操作即可完成设定。按键输入程序流程图5统调5.1硬件5统调5.1硬件检52系列单片机、DS18B20温度传感器、9012LED共阳数码管、12M晶Protel上仿真出最小系统5.2硬件515.3软件652652STC89C52单片机、DS18B20温度传感器、LED数参考文参考文致致附主程#include#defineucharunsigned #defineuint unsignedint//附主程#include#defineucharunsigned #defineuint unsignedint//0~65535#include"eeprom52.h"0123456 9ucharcode0x60,0x25,0x39,0x26,0x31,0x71,0xff};//ucharcodeucharsmg_i=3; sbit P2^4;//18b20IObitflag_lj_en;//bitflag_lj_3_en;//3ucharbitkey_500ms sbitpwm=ucharf_pwm_l uinttemperature ucharuintt_high300,t_low voiddelay_1ms(uintq){uinti,j;}voiddelay_uint(uintq){}voiddisplay(){}voiddisplay(){i=0;P10xff;//P3= P1=dis_smg[i];//}voidwrite_eeprom(){byte_write(0x2001,t_high/256);byte_write(0x2002,t_low%256);byte_write(0x2003,t_low/256);byte_write(0x2055,a_a);}voidread_eeprom(){ t_high<<=8; |==t_low<<=}|==voidinit_eeprom(){{t_high={t_high= =a_a= }}voidinit_18b20(){bitdq1;//dq=0;//给复位脉冲dq1;//dq1;//}voidwrite_18b20(uchardat){uchari;{//dq0;//dqdat&0x01;18b20delay_uint(560usdq=1;//释放总线dat>>=1;}}ucharread_18b20(){uchari,value;{dq0;//把总线拿低读时间隙开始value>>=1;//读数据是低位开始dq=1;//释放总线if(dq1)//开始读写数据value|=0x80;{dq0;//把总线拿低读时间隙开始value>>=1;//读数据是低位开始dq=1;//释放总线if(dq1)//开始读写数据value|=0x80;);//}returnvalue;//}uintread_temp(){uintuchar //初始化18b20 //跳过64位ROM //64 low=read_18b20();//读温度低字节value=read_18b20();//读温度高字节value8;//8位value|=low;//value//value*=return }voidtime_init(){= TMOD = = }ucharkey_can;//voidkey()//{key_can=20;P2|=if((P2&0x07)0x07)//{=={key_500ms=key_new=}if(((P2&0x07)!=0x07)&&(key_new==key_new=0;switch(P2&0x07){case0x06:key_can3;break;//得到k2键值case0x05:key_can2;break;//得到k3键值case0x02:key_can1;break;//k4键值}flag_lj_en1;//}}{{key_new=1;key_time=0;key_500ms=}}}voidkey_with(){}voidkey_with(){ {f_pwm_l=30;menu_1++;{menu_1=smg_i }}{smg_i {if(flag_lj_3_en==if(t_high>990)t_high=}{if(flag_lj_3_en==if(t_high<=t_low)t_high=t_low+}dis_smg[0]=smg_du[t_high%dis_smg[1]=smg_du[t_high/10%10]&0xdf; dis_smg[2]=smg_du[t_high/100%10]; dis_smg[3]=0x64;//H}{smg_i {if(flag_lj_3_en=={if(flag_lj_3_en==if(t_low>=t_high)t_low=t_high-}{if(flag_lj_3_en==if(t_low<=10)t_low=}dis_smg[0]=smg_du[t_low%dis_smg[1smg_du[t_low1010]& dis_smg[2]=smg_du[t_low/100%10]dis_smg[3]= }}voidfengshan_kz(){ {TR1=pwm=}elseif((temperaturet_high)&&temperature {f_pwm_l=TR1=}elseif(temperaturet_low)//{TR1=pwm=}}voidmain(){voidmain(){ temperature=dis_smg[0]=smg_du[temperature%10];//取温度的小数显示dis_smg[1]=smg_du[temperature/10%10]&0xdf;//取温度的个位显示dis_smg[2]=smg_du[temperature/100%10]; f_pwm_l=50;{if(key_can<10){}//300msif(flag_300ms=={flag_300ms=if(menu_1==0){smg_i=dis_smg[0]=smg_du[temperature%10];//取温度的小数显示dis_smg[1]=smg_du[temperature/10%10]&0xdf;//取温度的个位显示dis_smg[2]=smg_du[temperature/100%10]; }}}}voidt

温馨提示

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

评论

0/150

提交评论