下载此文档

毕业设计:智能电风扇的设计.pdf


文档分类:论文 | 页数:约55页 举报非法文档有奖
1/55
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/55 下载此文档
文档列表 文档介绍
该【毕业设计:智能电风扇的设计 】是由【wawa】上传分享,文档一共【55】页,该文档可以免费在线阅读,需要了解更多关于【毕业设计:智能电风扇的设计 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..引言随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇作为家用电器的一种,同样存在类似的问题。现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。之所以会产生这些隐患的根本原因是:缺乏对环境的检测。如果能使电风扇具有对环境进行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的不足。本次设计就是围绕这两点对现有电风扇进行改进。:..II:..,主要通过提取热释电红外传感器感应到的人体红外线信息和温度传感器DS18B20得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。功能描述:电风扇工作在四种状态:手动调速状态、自动调速状态、定时状态、停止状态。手动状态时可以手动调节速度;自动状态时通过温度高低自动调节速度,如果出现手动现象则变为手动状态;定时状态时可以调节定时时间,并设定是否启动定时,之后可以手动退出,也可以在不操作6秒后自动退出进入手动状态;停止状态时可以被唤醒并进入自动状态。当没有检测到人体存在超过3分钟或定时完毕时进入停止状态。在数码管显示方面,当没有定时时,只显示气温,当定时启动时气温和定时剩余时间以3秒的速度交替显示。系统方框图如下图所示,主要包括:输入、控制、输出三大部分8个功能模块。键盘输入数码管发光二极管AT89C51热释电红外传感器:..图1-1系统方框图2:..,所以可以直接用AT89C51的通用IO端口且选用AT89C51的P1口(内部有上拉电阻)作为键盘接口。对于按键只需一端接地另一端接P1口即可。见下图(2-1):-~10um,~20um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7~10um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,3:..这样便形成了一种专门用作探测人体辐射的红外线传感器。实质上热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,如图2所示。在环境温度有ΔT的变化时,由于有热释电效应,在两个电极上会产生电荷ΔQ,即在两电极之间产生一微弱的电压ΔV。,如图2-2所示:一个接电源、一个接地、一个信号端口,当有人进入其检测区域时,信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在这个检测区域。VCC红外线传感器1Vcc2SIG3GND图2-24:..、精度更高、适用电压更宽、采用一线总线,在实际应用中取得了良好的测温效果。DS18B20的主要特性:(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)测温温范围-55℃~+125℃(3)℃。(1)、初始化;(2)、跳过ROM(H);(3)、温度变换(命令:44H);(4)、读暂存存储器(命令:BEH);注:每次读取温度都要经过上面四个过程。,最高位为符号位,下图为它的温度5:..存储方式:2^32^22^12^02^-12^-22^-32^-4LSBYTEBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SSSSS2^62^52^4MSBYTEBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8表2-1DS18B20温度存储地址分配这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,;如果温度小于0,这5位为1,。6:..,在时钟脉冲的作用下,低位寄存器的数码送给高位寄存器,作为高位寄存器的次态输出。在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出;移位寄存器:除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。74ls164是八位串入并出移位寄存器,~,大于2V的高电平输入、,clock最高响应频率为25MHZ,八位并行输出可以直接驱动八段数码管。74ls164的引脚图及功能图如下所示:OUTPUTSVccOHOGOFOECLEARCLOCKInputsOutputs141312111098ClearClockABQQ…QABHLXXLL…LHLXQA0QB0QH0…OHHHQQHAnGn…HLLQQ1234567AnGn…ABOAOBOOGNDHXLQQCDAnGn7SERIALINPUTSOUTPUTS:..图2-,原理图如下图所示,公共端接低电平,其它八个端口高电平点亮相应的二极管,低电平相反。ABCDEFGROP8:..图2-,用八位串入并出移位寄存器74LS164作为驱动电路,采用共阴极八段数码管原理图示意图如下:数码管数码管data74LS16474LS164clock图2-5从图中可以看出控制线只有两条:1、数据线;2、移位脉冲线。9:..它只占用很少的IO口。,它是半导体二极管的一种。发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算:R=(E-U)/Iff式中E为电源电压,U为LED的正向压降,I为LED的一般工作电ff流。发光二极管的两根引线中较长的一根为正极,应按电源正极。与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。由于AT89C51的P0口是开漏输出,所以此电路可以设计位如下简单形式:1DEL06C5CV10:..图2-:当控制端口通以不同频率及不同占空比的信号时蜂鸣器将发出不同强度及不同频率的声音。由于其具有比传统的喇叭体积小,价格低等优点,所以此次提示音电路选用蜂鸣器。具体电路见下图:VCC1K9012蜂鸣器11:..图2-,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。它有几个重要指标:1、额定工作电压:正常工作时线圈所需要的电压。2、直流电阻:继电器中线圈的直流电阻。3、吸合电流:继电器能够产生吸合动作的最小电流。4、释放电流:继电器产生释放动作的最大电流。5、触点切换电压和电流:继电器允许加载的电压和电流。12:..,但是其控制电路比较复杂,而采用继电器其控制电路就比较简单,且具有电气隔离作用。虽然其响应速度没有晶闸管快但在低频情况下采用继电器控制电路较为方便。其电路图如下所示:9012400716162512512234CON334继电器313:..图2-8电路工作原理简介:当控制端口为低电平时,三极管导通继电器吸合,常闭触电断开,常开触点闭合。当控制端口为高电平时三极管关断,继电器线圈通过二极管放电并断开,常闭、常开触电复位。14:..:主程序部分进行一些初始化以及温度的读取;外部中断0进行红外线感应延时时间的重新加载;定时器0进行键盘的扫描及相关操作;定时器1进行显示、温控速度、以及相关需要延时(如倒计时等等)的操作。在显示方面,进行了一些改善----要显示的值有变化才进行重新刷新,否则不刷新。这样就大大提高了效率及最终的显示效果(不会出现不该亮的部分还有亮的现象)。::..图3-116:..-:..图3-318:..,计时间和温度交时间和温度交时结束关闭电显示时间显示时间替显示,没有则替显示,没有则风扇只显示温度只显示温度进入定时状态不动超过一定时间自动退回手动状态退出定时器键盘消抖19:..图3-420:..结束语早在《单片机原理及接口技术》这门课还未结束的时候,陆仲达老师就给我们布置了基于51单片机的课程设计。我从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。关于51的应用设计,从上课开始我就不满足于那些诸如电子钟、交通灯控制等司空见惯的设计,我希望能把主题定位得更新颖、更具挑战性,正好夏天也到了,于是把题目定为:智能电风扇的设计。题目确定下来,我便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。在导老师的指导及同学的帮助下,我终于对自己的工作方向和方法有了初步掌握。资料已经查找完毕,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,困难一个一个解决掉,论文也慢慢成型。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的课程设计稿件我的心里是甜的,我觉得这一切都值了。这次课程设计论文的制作过程是我的一次再学习,21:..再提高的过程。在论文中我充分地运用了大学期间所学到的知识。本设计最终实现了电风扇的手动调速、温控自动调速、定时、温度显示、人体检测等预期功能,其中定时在1到99分钟连续可调,人体检测范围角度120度、距离6米,人体检测延时时间3分钟,定时器自动退出时间6秒。存在不足之处就是人体检测抗干扰方面不够好,需要提高。我不会忘记这难忘的半个月的时间。课程设计论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用protel99se设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成课程设计。22:..附录:程序清单/**********************************************************************************************************************************************/typedefunsignedcharbyte;typedefunsignedintword;//以下管脚配置//ds18b20部分sbitDQ=P3^4;//显示部分sbitDB=P2^0;sbitCP=P2^1;23:..//发光显示部分sbitLED_dingshi=P0^0;sbitLED_shoudong=P0^1;sbitLED_zidong=P0^2;sbitLED_kuai=P0^3;sbitLED_zhong=P0^4;sbitLED_man=P0^5;//键盘定义部分#definewujian0x3fsbitKEY1=P1^0;//状态转换/启动sbitKEY2=P1^1;//+10/1sbitKEY3=P1^2;//-10/2sbitKEY4=P1^3;//3sbitKEY5=P1^4;//0确定//继电器控制部分sbitJDQ1=P2^4;//0表示开通,1表示关断sbitJDQ2=P2^5;sbitJDQ3=P2^6;//蜂鸣器部分24:..sbitcall=P2^7;//低电平鸣叫/**********************************************************************************************************************************************/#include<>#include""/*****************************************************延时子程序*****************************************************/externvoiddelay(worduseconds){for(;useconds>0;useconds--);}/*****************************************************复位子程序******************************************************/25:..staticbyteow_reset(void){bytepresence;EA=0;DQ=0;//pullDQlinelowdelay(45);//leaveitlowfor480us//551usDQ=1;//oreturnhighdelay(4);//waitforpresence//61uspresence=DQ;//getpresencesignaldelay(40);//waitforendoftimeslot//491usEA=1;return(presence);//presencesignalreturned}//0=presence,1=nopart/*******************************************************从1-wire总线上读取一个字节子程序********************************************************/staticbyteread_byte(void)26:..{bytei;bytevalue=0;EA=0;for(i=8;i>0;i--){value>>=1;DQ=0;//pullDQlowtostarttimeslotDQ=1;//thenreturnhigh{unsignedchari;for(i=0;i<2;i++);}//11usif(DQ)value|=0x80;delay(6);//waitforrestoftimeslot}EA=1;return(value);}/********************************************************27:..向1-WIRE总线上写一个字节*********************************************************/staticvoidwrite_byte(charval){bytei;EA=0;for(i=8;i>0;i--)//writesbyte,onebitatatime{DQ=0;//pullDQlowtostarttimeslotDQ=0;DQ=val&0x01;//6USdelay(5);//holdvalueforremainderoftimeslot//74usDQ=1;val=val>>1;}EA=1;delay(5);}28:../*******************************************************读取温度*******************************************************/wordRead_Temperature(void){union{bytec[2];wordx;}temp;ow_reset();write_byte();//SkipROMwrite_byte(0xBE);//[1]=read_byte();[0]=read_byte();ow_reset();write_byte();//SkipROMwrite_byte(0x44);//;29:..}/***************************************************************求解温度***************************************************************/externbyteReal_Tem(void){wordwen;wen=Read_Temperature();return((wen>>4)&0x00ff);}/**********************************************************************************************************************************************/#include<>30:..#include""//数据区#ime_default41bytedingshi_time=time_default;//存放定时时间''''''bitflag_dingshi=0;//0表示没有定时worddingshi_jishu3=1000;//1000*60=1分钟//bitflag_dingshi_delay=0;//1表示有bytedingshi_delay=100;//#definehwx_delay_const3//人体感应延时时间bytehwx_delay=hwx_delay_const;//用于保存红外线触发延长时间wordhwx_jishu1=0;//bytewendu=0;//用于存放温度值''''''//#definelow_wen18#definemid_wen2031:..#definehig_wen24#definevhi_wen28//bytetime_stor=100;//存储主观时间//触发显示bytewendu_stor=low_wen;//存储主观温度//触发显示//enumstation0{zidong,dingshi,shoudong,weak}state;//函数说明区externbyteReal_Tem(void);externvoiddelay(worduseconds);voidmingjiao(void);voiddisplay(byteinput,bitkkl);voidauto_speed(void);voidweak_default(void);/*******************************************************************主程序*******************************************************************/32:..voidmain(){//定时器0用于键盘扫描TMOD=0x01|TMOD;//定时器0的1方式TH0=0xd8;TL0=0xf0;//定时器0初始化10ms扫描一次//定时器1用于显示TMOD=0x10|TMOD;//定时器1的1方式TH1=0x15;TL1=0xA0;//定时器1初始化60ms中断一次//外部中断TCON=TCON|0x01;//外部中断0都下降沿触发//以下为开启部分IP=0X01;//两个定时器同等优先级IE=0x8b;//开启定时器0,1,外部中断0中断//while(Real_Tem()==85);auto_speed();LED_zidong=0;//刚开始为自动方式P1=P1|0X7C;//拉高五个键盘33:..wendu_stor=100;//两个不可能值//用于启动显示time_stor=100;//两个不可能值//用于启动显示//TR0=1;//开启定时器0TR1=1;while(1){wendu=Real_Tem();}}/***********************************************************************************定时器0中断服务子程序功能:进行键盘处理说明:***********************************************************************************/voidtime0(void)interrupt134:..{bytejianpan;TH0=0xd8;TL0=0xf0;jianpan=P1&wujian;if(jianpan!=wujian)//如果还有键盘值提取键盘值{delay(500);//延时消抖jianpan=P1&wujian;if(jianpan==wujian)gototime_out;switch(state){casedingshi:if(KEY1==0)//状态转换时做些相应的处理{state=shoudong;LED_shoudong=0;flag_dingshi_delay=0;dingshi_delay=100;time_stor=100;wendu_stor=100;//触发mingjiao();35:..while(KEY1==0);}elseif(KEY2==0)//加分{if(dingshi_time<90){dingshi_time+=10;}dingshi_delay=100;//mingjiao();while(KEY2==0);}elseif(KEY3==0)//减分{if(dingshi_time>10){dingshi_time-=10;}dingshi_delay=100;//mingjiao();while(KEY3==0);}elseif(KEY4==0)//定时与否36:..{flag_dingshi=~flag_dingshi;if(flag_dingshi==1){LED_dingshi=0;}else{LED_dingshi=1;dingshi_jishu3=1000;}dingshi_delay=100;////mingjiao();while(KEY4==0);}elseif(KEY5==0){weak_default();mingjiao();while(KEY5==0);}break;caseshoudong:if(KEY1==0)//状态转换时做些相应的处理37:..{state=zidong;auto_speed();LED_shoudong=1;LED_zidong=0;mingjiao();while(KEY1==0);}elseif(KEY2==0)//快1{JDQ2=1;JDQ3=1;JDQ1=0;//关断其它LED_zhong=LED_man=1;LED_kuai=0;mingjiao();while(KEY2==0);}elseif(KEY3==0)//中2{JDQ1=1;JDQ3=1;JDQ2=0;//关断其它LED_kuai=LED_man=1;LED_zhong=0;mingjiao();38:..while(KEY3==0);}elseif(KEY4==0)//慢3{JDQ1=1;JDQ2=

毕业设计:智能电风扇的设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数55
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wawa
  • 文件大小1.40 MB
  • 时间2024-07-22