付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能电风扇的设计学院专业班级学生姓名指导教师年月日引言随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇作为家用电器的一种,同样存在类似的问题。现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。之所以会产生这些隐患的根本原因是:缺乏对环境的检测。如果能使电风扇具有对环境进
2、行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的不足。本次设计就是围绕这两点对现有电风扇进行改进1 .总体方案设计及功能描述本设计是以AT89C51单片机控制中心,主要通过提取热释电红外传感器感应到的人体红外线信息和温度传感器DS18B20得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。功能描述:电风扇工作在四种状态:手动调速状态、自动调速状态、定时状态、停止状态。手动状态时可以手动调节速度;自动状态时通过温度高低自动调节速度,如果出现手动现象则变为手动状态。定时状态时可以调节定时时间,并设定是否启动定时,
3、之后可以手动退出,也可以在不操作6秒后自动退出进入手动状态;停止状态时可以被唤醒并进入自动状态。当没有检测到人体存在超过3分钟或定时完毕时进入停止状态。在数码管显示方面,当没有定时时,只显示气温,当定时启动时气温和定时剩余时间以3秒的速度交替显示。系统方框图如下图所示,主要包括:输入、控制、输出三大部分8个功能模块。人体辐射的红外线中心波长为910um,而探测元件的波长灵敏度在0.220um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为710um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐
4、射的红外线传感器。实质上热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,如图2所示。在环境温度有AT的变化时,因为有热释电效应,在两个电极上会产生电荷AQ,即在两电极之间产生一微弱的电压AVo2.2.2热释电红外线传感器应用热释电红外线传感器有三个端口,如图2-2所示:一个接电源、一个接地、一个信号端口,当有人进入其检测区域时,信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在这个检测区域。2.3温度传感器2.3.1温度传感器DS18B20纺线传感器团sVccSIG简生nd2-2VCC123高、适用电压更宽、米用一新型数字
5、温度传感器DS18B20具在体积更小、精线总线,在实际应用中取得了良好的测温效果。DS18B20的主要特性:<1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。<2)测温温范围55c+125C<3)最高分辨率为0.0625C。2.3.2 DS18B20的一般操作过程< 1)、初始化;< 2)、跳过ROM<命令:CCH);< 3)、温度变换<命令:44H);< 4>、读暂存存储器<命令:BEH);注:每次读取温度都要经过上面四个过程2.3.3 DS18B20的温度存储
6、方式即温度计算DS18B20是用12位存储温度,最高位为符号位,下图为它的温度存储方式:2A32A22A12人02人-12A-22A-32A-4LSBYTEBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SSSSS2A62A52A4MSBYTEBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8表2-1DS18B20温度存储地址分配这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数
7、值需要取反加1再乘于0.0625即可得到实际温度。2.4数码管显示电路2.41741s164简介移位寄存器是一类应用很广的时序逻辑电路,在时钟脉冲的作用下,低位寄存器的数码送给高位寄存器,作为高位寄存器的次态输出。在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出;移位寄存器:除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。741s164是八位串入并出移位寄存器,其工作电压范围4.755.25V,大于2V的高电平输入、小于0.8V的低电平输入,clock最高响应频率为25MHZ,八位并行输出可以直接驱动八段数码管。741s164的引脚图及功能图如下所示:
8、OUTPUTS图2-3741S164的弓I脚图及功能图2.413共陕1012gPjLEARCLOCK各八段发光理图如下图所示,公共端报低邮;反。OhInputs极管封装很eaMNoc%忤宿俄其它八个端耳高电Outputs口阳京电3各设欧此Y示电小采皿杀凄HX图2-4HHAH于存石早八GXq起,原.Qh,L彳氐电平-LQboQhoQAnQGnQAnQGn74LS)1641为QAnQGnQaoHAROP3式中E为电源电压,Uf为LED的正向压降,If为LED的一般工作电流。发光二极管的两根引线中较长的一根为正极,应按电源正极。与小白炽灯泡和式灯相比,发光二极管的特点是:工作电压很低有的仅一点几伏)
9、;工作电流很小有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。因为有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示因为AT89C51的P0口是开漏输出,CCV1,所以此电路可以设/位如下简单形式:2.6 蜂鸣器电路蜂鸣器工作原理简介:当控制端口通以不同频率及不同占空比的信号时蜂鸣器将发出不同强度及不同频率的声音。因为其具有比传统的喇叭体积小,价格低等优点,所以此次提示音电路选用蜂鸣器。具体电路见下图:2.7 继电器控制电路2.7.1 继电器简介1K继电器是一种电子控制器件,它具有控制VCC图2-7
10、T9012又称输入回路)和被控制系统又称输出回路),通常应用于自动控制电路中,它实即上是用较小的电流去控制较大电流的一种自动开关”。故在电路中起着自动调节、它有几个重要指标:1、额定工作电压:正常工作时线圈所需要2、直流电阻:继电器中线圈的直流电阻。|安全保护、转换电路等作用。唧鸟器03、吸合电流:继电器能够产生吸合动作的最小电流4、释放电流:继电器产生释放动作的最大电流。5、触点切换电压和电流:继电器允许加载的电压和电流。2.7.2 继电器驱动电路设计及工作原理简介采用品闸管也可以用于小电流控制大电流电路,但是其控制电路比较复杂,而采用继电器具控制电路就比较简单,且具有电气隔离作用。虽然其响
11、应速度没有品闸管快但在低频情况下采用继电器控制电路较为方便。其电路图如下所示:9012电路工作原理简介:G图2-8端口可低电平的07.极管导通继电器吸合,常闭触电断开,常开触点闭合。当怖胃口为高电平日K或断,z昧电器线圈通过二极管放电并断开,常闭、常开触电复位3.软件设计与实现CON33.1 整体设计思路介绍软件设计整体思路:主程序部分进行一些初始化以及温、的读取;外部中断行红外线感应延时时间的重新加载;定时器0进行键盘的扫描及相关操作;定时器1进行显示、温控速度、以及相关需要延时如倒计时等等)的操作。在显示方面,进行了一些改善-要显示的值有变化才进行重新刷新,否则不刷新。这样就大大提高了效率
12、及最终的显示效果不会出现不该亮的部分还有亮的现象)。3.2主要部分流程图如下:3.2.1 主程序流程图3.2.2 外部中断流程图初始化内部资源图3-23.2.3定时器0中断流程作定时器0比I312.4在时眼开始午也如果有定时则一一H晶M印,坟计,自动状停止状3-4YN7K峥,Y中计。我从最初日“医到慢慢的产入)犬诉语言来或旭定时揩才机的课程作击难邢娜器外部中断开始I读取一个平确温度并选才*速度湿再到对思路逐时撇始化3-3红夕淡感应延YY,罡时状态我们J课开始我就处于那些诸如电交通灯控制等司我希望能把上题定位得更溜跚题捕:冠妁:智(昌电风删懒叶懒泮挑战性,电风扇顺日确字卜耒,我便立刻着手资料白替
13、显示,没有编.出,当卫好度硬机到始时间和温度交替显示,没有显示时间提。资料已经查找完毕,我开始着手论文的写作。在写作过程中遇到茫然J不知如何一手。在导老师的指导及同学的帮助下,我终于对自己的工作方向和1111mt时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,我腔个一个解决掉,论文乜慢慢成型。斗我终于完成工所有刖仁绘图、排版、校对的任务后整个人都很累,但同时看着噩脑歌屏上的t啾设削精悔的/曲是甜的,玄;觉得这一切都值了T这次课程设计论文叫制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。本设计最终实现了电风扇的手动调速、温控自动调速、定时、温度
14、显示、人体检测等预期功能,其中定时在1到99分钟连续可调,人体检测范围角度120度、距离6M,人体检测延时时间3分钟,定时器自动退出时间6秒。存在不足之处就是人体检测抗干扰方面不够好,需要提高。我不会忘记这难忘的半个月的时间。课程设计论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用protel99se设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。在今后的日子里,我仍然要不断地充实自
15、己,争取在所学领域有所作为。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成课程设计。附录:程序清单/*touwenjian.htypedefunsignedcharbytetypedefunsignedintword。/以下管脚配置/ds18b20部分sbitDQ=P3A4。/显示部分sbitDB=P2A0。sbitCP=P2A10/发光显示部分sbitLED_dingshi=P0A0。sbitLED_s
16、houdong=P0A1sbitLED_zidong=P0A2。sbitLED_kuai=P0A3。sbitLED_zhong=P0A4。sbitLED_man=P0A5。/键盘定义部分#definewujian0x3fsbitKEY1=P1A0。sbitKEY2=P1A10sbitKEY3=P1A2。sbitKEY4=P1A3。sbitKEY5=P1A4。/继电器控制部分/状态转换/启动/+10/1/-10/2/3/0确定sbitJDQ1=P2A4。/0表小开通,1表小关断sbitJDQ2=P2A5。sbitJDQ3=P2A6。/蜂鸣器部分sbitcall=P2A7。低电平鸣叫/*ds18b
17、20.c#include<REGX51.H>#include"touwenjian.h"/*延时子程序*/externvoiddelay(worduseconds>(for(。useconds>0useconds->)/*复位子程序staticbyteow_reset(void>(bytepresenceEA=0oDQ=0o/pullDQlinelowdelay(45>/leaveitlowfor480us/551usDQ=1o/allowlinetoreturnhighdelay(4>/waitforpresence/61u
18、spresence=DQ/getpresencesignaldelay(40>。/waitforendoftimeslot/491usEA=1oreturn(presence>/presencesignalreturned/0=presence,1=nopart/*从1-wire总线上读取一个字节子程序*/staticbyteread_byte(void>(byteibytevalue=0EA=0。for(i=8oi>0oi->(value>>=1oDQ=0o/pullDQlowtostarttimeslotDQ=1o/thenreturnhighun
19、signedchariofor(i=0oi<2oi+>。/11usif(DQ>value|=0x80。delay(6>。/waitforrestoftimeslotEA=1。return(value>/*向1-WIRE总线上写一个字节*/staticvoidwrite_byte(charval>(byteiEA=0for(i=8oi>0oi->/writesbyte,onebitatatimeDQ=0o/pullDQlowtostarttimeslotDQ=0oDQ=val&0x01。/6USdelay(5>。/holdvaluef
20、orremainderoftimeslot/74usDQ=1。val=val>>1oEA=1。delay(5>/*读取温度*/wordRead_Temperature(void>unionbytec2。wordxtempow_reset(>write_byte(0xCC>/SkipROMwrite_byte(0xBE>/ReadScratchPadtemp.c1=read_byte(>。temp.c0=read_byte(>。ow_reset(>write_byte(0xCC>/SkipROMwrite_byte(0x44>
21、;/StartConversionreturntemp.x/*求解温度*/externbyteReal_Tem(void>wordwenwen=Read_Temperature(>return(wen>>4>&0x00ff>/*Main.c#include<REGX51.H>#include"touwenjian.h"/数据区#definetime_default41bytedingshi_time=time_default。存放定时时间bitflag_dingshi=0。/0表示没有定时worddingshi_jis
22、hu3=1000o/1000*60=1分钟/bitflag_dingshi_delay=0。/1表示有bytedingshi_delay=100o/#definehwx_delay_const3/次体感应延时时间bytehwx_delay=hwx_delay_const/用于保存红外线触发延长时间wordhwx_jishu1=0o/bytewendu=0/用于存放温度值/#definelow_wen18#definemid_wen20#definehig_wen24#definevhi_wen28/bytetime_stor=100/存储主观时间/触发显示bytewendu_stor=low_
23、weno/存储主观温度/触发显示/enumstation0zidong,dingshi,shoudong,weakstate函数说明区externbyteReal_Tem(void>externvoiddelay(worduseconds>voidmingjiao(void>。voiddisplay(byteinput,bitkkl>。voidauto_speed(void>voidweak_default(void>。/*主程序*/voidmain(>(/定时器0用于键盘扫描TMOD=0x01|TMOD。/定时器0的1方式TH0=0xd8oTL0=0
24、xf0。/定时器0初始化10ms扫描一次/定时器1用于显示TMOD=0x10|TMOD。/定时器1的1方式TH1=0x15。TL1=0xA0。定时器1初始化60ms中断一次/外部中断TCON=TCON|0x01。外部中断0者B下降沿触发/以下为开启部分IP=0X01。/两个定时器同等优先级IE=0x8b。/开启定时器0,1,外部中断0中断/while(Real_Tem(>=85>。auto_speed(>LED_zidong=0。/刚开始为自动方式P1=P1|0X7C拉高五个键盘wendu_stor=100/两个不可能值/用于启动显示time_stor=100。/两个不可能值
25、/用于启动显示/TR0=10开启定时器0TR1=10while(1>(wendu=Real_Tem(>。/*定时器0中断服务子程序功能:进行键盘处理说明:键盘输入为P1.0到P1.4*/voidtime0(void>interrupt1(bytejianpan。TH0=0xd8oTL0=0xf0。jianpan=P1&wujian。if(jianpan!=wujian>/如果还有键盘值提取键盘值(delay(500>。/延时消抖jianpan=P1&wujian。if(jianpan=wujian>gototime_out。switch(st
26、ate>(casedingshi:if(KEY1=0>状态转换时做些相应的处理(state=shoudongLED_shoudong=0。flag_dingshi_delay=0。dingshi_delay=100。time_stor=100。wendu_stor=100。/触发mingjiao(>while(KEY1=0>。elseif(KEY2=0>/力口分(if(dingshi_time<90>dingshi_time+=10。dingshi_delay=100。/mingjiao(>while(KEY2=0>。elseif(KEY3
27、=0>/减分if(dingshi_time>10>dingshi_time-=10。dingshi_delay=100o/mingjiao(>。while(KEY3=0>。elseif(KEY4=0>/定时与否flag_dingshi=flag_dingshi。if(flag_dingshi=1>LED_dingshi=0。elseLED_dingshi=1。dingshi_jishu3=1000odingshi_delay=100o/mingjiao(>while(KEY4=0>。elseif(KEY5=0>weak_default
28、(>mingjiao(>while(KEY5=0>。break。caseshoudong:if(KEY1=0>/状态转换时做些相应的处理state=zidongauto_speed(>LED_shoudong=1。LED_zidong=0。mingjiao(>while(KEY1=0>。elseif(KEY2=0>快1JDQ2=1oJDQ3=1oJDQ1=0。关断其它LED_zhong=LED_man=1LED_kuai=0。mingjiao(。while(KEY2=0。)elseif(KEY3=0中2JDQ1=1oJDQ3=1oJDQ2=0。关
29、断其它LED_kuai=LED_man=1LED_zhong=0。mingjiao(。while(KEY3=0。)elseif(KEY4=0慢3JDQ1=1oJDQ2=1oJDQ3=0O关断其它LED_zhong=LED_kuai=1LED_man=0omingjiao(。while(KEY4=0。)elseif(KEY5=0停4weak_default(mingjiao(。while(KEY5=0。)break。casezidong:if(KEY1=0/状态转换时做些相应的处理state=dingshLLED_zidong=1。flag_dingshi_delay=1dingshi_dela
30、y=100o开始延时time_stor=100o/mingjiao(。while(KEY1=0。)elseif(KEY2=0快1JDQ2=1oJDQ3=1oJDQ1=0。关断其它LED_zhong=LED_man=1。LED_kuai=0。state=shoudongLED_zidong=1。LED_shoudong=0。mingjiao(。while(KEY2=0。)elseif(KEY3=0/中2JDQ1=1oJDQ3=1oJDQ2=0O关断其它LED_kuai=LED_man=1。LED_zhong=0。state=shoudongLED_zidong=1。LED_shoudong=0。
31、mingjiao(。while(KEY3=0。)elseif(KEY4=0慢3JDQ1=1oJDQ2=1oJDQ3=0O关断其它LED_zhong=LED_kuai=1。LED_man=0ostate=shoudongLED_zidong=1。LED_shoudong=0。mingjiao(。while(KEY4=0。)elseif(KEY5=0/停4(weak_default(。mingjiao(。while(KEY5=0。)break。caseweak:if(KEY1=0(state=zidongLED_zidong=0。wendu_stor=100/两个不可能值time_stor=100
32、。/两个不可能值auto_speed(mingjiao(。while(KEY1=0。)break)time_out:)/*定时器1中断服务子程序功能:用于定时0.060s*/voidtimer1(voidinterrupt3(TH1=0x15。TL1=0xa0。/红外线到记时EX0=0oif(hwx_jishu1<999>hwx_jishu1+elsehwx_jishu1=0ohwx_delay-0if(hwx_delay=0>weak_default(>。)EX0=1。/1分钟定时if(flag_dingshi=1>if(dingshi_jishu3>0&
33、gt;dingshi_jishu3-。elsedingshi_jishu3=1000oif(dingshi_time>1>dingshi_time-elseweak_default(>/5秒延时if(flag_dingshi_delay=1>if(dingshi_delay>1>dingshi_delay-elsestate=shoudongflag_dingshi_delay=0。dingshi_delay=100。LED_shoudong=0。time_stor=100。wendu_stor=100/mingjiao(>/显小和温控switch(s
34、tate>casedingshi:/在定时的时候只显示时间if(time_stor!=dingshi_time>display(dingshi_time,1>。time_stor=dingshi_time。/break。caseshoudong:casezidong:虑否有定时,有则交替显示温度和时间,没有则只显示温度if(flag_dingshi!=0>/(staticbytejiaoti_jishu2=0。staticbitflag_jiaoti=0。if(jiaoti_jishu2<49>jiaoti_jishu2+。elseflag_jiaoti=f
35、lag_jiaoti。jiaoti_jishu2=0。if(flag_jiaoti!=0>if(time_stor!=dingshi_time>display(dingshi_time,1>。time_stor=dingshi_time。wendu_stor=100显示时间elseif(wendu_stor!=wendu>display(wendu,0>。wendu_stor=wendu。time_stor=100。/显示温度elseif(wendu_stor!=wendu>display(wendu,0>。wendu_stor=wendu/显示温度/
36、温度控制速度if(state=zidong>switch(wendu>caselow_wen:JDQ1=1。JDQ2=1。JDQ3=1。LED_zhong=LED_man=LED_kuai=1。/tingzhibreakcasemidwen:JDQ1=10JDQ2=10JDQ3=0OLED_zhong=LED_kuai=1。LED_man=0。/manbreakocasehig_wen:JDQ1=10JDQ3=1oJDQ2=0OLED_kuai=LED_man=1。LED_zhong=0。/zhongbreakcasevhi_wen:JDQ2=10JDQ3=1oJDQ1=0OLED_zhong=LED_man=1。LED_kuai=0。/kuaibreakcaseweak:/关闭状态只显示温度if(wendu_stor!=wendu>display(wendu,0>。wendu_stor=wen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年县乡教师选调考试《教育学》题库必背100题含答案详解(考试直接用)
- 2025年上海市《保密知识竞赛必刷100题》考试题库及参考答案详解1套
- 2026年县乡教师选调考试《教育学》模拟考试题库B卷带答案详解(夺分金卷)
- 2026年锅炉考证考试题库含答案详解(轻巧夺冠)
- 2025年县乡教师选调考试《教育学》通关练习题和答案附答案详解(综合题)
- 铁合金特种冶炼工安全宣贯评优考核试卷含答案
- 矿车修理工复试评优考核试卷含答案
- 食糖制造工安全生产知识强化考核试卷含答案
- 2026年县乡教师选调考试《教育学》题库高频难、易错点100题模拟试题附参考答案详解(a卷)
- 2025年县乡教师选调考试《教育学》模考模拟试题及答案详解【考点梳理】
- 危险化学品领域安全生产风险隐患大排查大整治工作总结
- DB34∕T 3769.1-2020 磁约束核聚变装置极向场超导磁体绝缘测试技术要求 第1部分:总体要求
- 2021安装工程消耗量第六册自动化控制仪表安装工程
- 2025云南烟草产业市场发展趋势分析投资现状调研规划分析研究报告
- 《建设强大国内市场 加快构建新发展格局》课件
- 车间使用空调管理制度
- 橡胶研发技术面试技巧集
- 酒店防偷拍培训
- 2025年水利工程质量检测员考试题库及答案(云南省)
- 办公室照明灯具安装施工方案
- 钻探施工合同模板及注意事项
评论
0/150
提交评论