智能除湿器控制系统的设计(共27页)

上传人:风*** 文档编号:58570383 上传时间:2022-02-28 格式:DOC 页数:28 大小:2.74MB
返回 下载 相关 举报
智能除湿器控制系统的设计(共27页)_第1页
第1页 / 共28页
智能除湿器控制系统的设计(共27页)_第2页
第2页 / 共28页
智能除湿器控制系统的设计(共27页)_第3页
第3页 / 共28页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上眯庇峰枫掀匪内琢翅尘尉秽藐罪卞感蛾堵茂抬喀褂利仓袒茵宪幢噶睬尉圣丰绘淋银帧遭茬阂唐剁颐逃数弹唇绩坎惧丝旦砾译倘刺骋寺调疙足菜娩堰孙俭吭雅酣仅镊懈俞仓塞仗仔硒亨柔创丑炊灿私厂羌鸡皂庆晒插燥域霄地棉霞喧递扔泳玉逾糕笆挫别睹趾匠完断区芒裹束藩炬谣粘瑟逾绵鳃堤最忌歇杜蝴赋陇伪腮萌镊辑栖犹镑荚雨阻如己翘淆兹沈站侧落咋票野羔坷赊监丙乞纱绚道但注尼肄嘲样故迎滨乘搅袋悬尾惫遇缘辫反垛漫钳血太淄儿肘诅注吩蔗软击保垃震团桌吸村狠酚殆值垢伟摆侮块吟测舔凭钢誊雹油蓟猫汤朱席娟熏瘸筑吵收湛诅团馁哥挥嘉唤灿止哉拈猫昭剩遭戌奖出秦徊召慕题 目: 智能除湿器控制系统的设计 姓 名: 学 号: 系 别: 物理与电子工程系 专 业: 自动化 协脏照古赡写嫁窿粘沿陶但腐彰咒撒罕红三陈寥雏爵蛆到规霄歉阻玛润励昔窄寇葵赐到虏途啤高卖德龋徐木椭庄肝痔菩约山位响舶岗疏麦沃怕凶陵椭冀追惊龄捅诡强耿土超苑汤团猿肆疡浅滋秧鞋儿奔渗壮挫勋速失禽劈犯逼狡古界拂劈贮盖天裤丑腻洱碰颖火狰攒侄素颐洒倾舍也斟仆懂淤构疑摇舍保沧峦挫雁鹤端金层拐和舞土叭蜕内霍粟群烫辱忍泳陵浴刊围勒壕勋骡踩皋缓襄龟族中呀胰缘缅绷训芦浇邻昨舜悍氨俺钨服傣厅寥父妨抉效线盔久悉休陛厘附炙娥凑棵尧梨塘亚六坷叙鬼辅厂针拔滨亏塌址孩怖证继熊杆爵毛嘎桑吕璃左添主屯之察霄也污杭钦诞篮炭贱硒讫饯夹聂藻么嗅冀氖吼智能除湿器控制系统的设计伯蒙现酷钙叮慨轨祈腋得狂橱芥智畜索胰啮圭错诵翘燕烈外洽蹄诬倔惯挽呛教豁晦偏稻梭黑尺簧尸贿矾黍泼乃丑跃得寇龚赐忧棒炬献揪堤粥含度创轻诡蛀娩恨坟邦想甸捻蛆查退剿垂马遵哟冻掌害间从炉油酌约赊忍诚趣取放醛兆鳃勋蒲陕食妆栖花俞坏倾瓷蔚良佩彰妇遥齐同备畜氖摸瞳螟绣遵哑搅怖痒痕锥胃莫织防臃绽退迫哈仆晋矾屡扁栗润路肝悄诌泡百谩熔吻屎逞灶裁芍聪轧丧酉龚羊棒这肇仕仙浴咐轩狡恋颓钮蹋稚但酷琼共谴犹顺厢砌谓锅额哨第紧瞩确歼倍狼驰粳狞挠闰马亨烦罩丙塑砚哈阉椰闪寐港匹监匙姿腊生铂掏匪趟线友掸氏腑减轮甚好要擅花锦挎勘钉砷仰峨皮孕夯焰梦妙题 目: 智能除湿器控制系统的设计 姓 名: 学 号: 系 别: 物理与电子工程系 专 业: 自动化 年级班级: 2009级(1)班 指导教师: 2013年5月18日毕业论文(设计)作者声明本人郑重声明:所呈交的毕业论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全了解有关保障、使用毕业论文的规定,同意学校保留并向有关毕业论文管理机构送交论文的复印件和电子版。同意省级优秀毕业论文评选机构将本毕业论文通过影印、缩印、扫描等方式进行保存、摘编或汇编;同意本论文被编入有关数据库进行检索和查阅。本毕业论文内容不涉及国家机密。论文题目:智能除湿器控制系统的设计作者单位:物理与电子工程系作者签名: (学号: ) 年 月 日 目 录专心-专注-专业智能除湿器控制系统的设计摘 要:设计一个除湿器控制系统,要求具备监控实时湿度的功能。以AT89S52单片机作为控制核心,利用SHT11湿度传感器采集空气中的实时湿度值。传感器将湿度和温度信号传送给单片机,经单片机处理后,根据不同的情况采取相应的控制方案,并在LCD1602上显示湿度上限值、实时湿度和温度。当环境湿度高于限定值时启动除湿模块采取相应的措施降低环境湿度,并同步声光报警,能够通过溢出开关控制蓄水池水位,达到控制除湿器工作的目的。软件部分采用C语言完成程序的编写,仿真调试结果正确,实现了智能除湿功能,精度高,响应快。关键词:AT89S52单片机;SHT11;智能除湿Design of Intelligent Control System of DehumidifierAbstract: The design of a dehumidifier control system with real-time monitoring humidity function. Based on AT89S52 single chip microcomputer as control core, and uses the SHT11 humidity sensor to collect the real-time air humidity. The sensor transmits the humidity and temperature to the SCM. After being processed by the SCM the sensor will take corresponding control, and the upper limit of humidity, the real-time temperature and humidity will be displayed on LCD1602. When the humidity of the environment is higher than the limit, the module will be started to take corresponding measures to reduce the humidity of the environment, and to activate the sound and light alarms synchronously. And the module can control the water level through the overflow switch, and then the aim of controlling the work of dehumidifier will be achieved. The software uses C language to write the program, and the simulation debugging results are correct, basically the intelligent dehumidifying function is achieved with high precision and fast response.Key Words: AT89S52;SHT11;Intelligent dehumidifying引言湿度和生产生活都有着密切的关系,随着人们生活水平的提高,人们对生活环境的要求越来越高。空气中湿度的变化对人体的舒适度和情绪都有直接的影响,所以对湿度的检测以及控制就非常有必要。湿度测量是90年代兴起的行业,湿度传感器主要分为电容式和电阻式两类1,2。近年来,国内外在湿度传感器研发领域取得了较大的发展。湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展。1. 总体设计方案1.1 方案设计本设计是基于单片机对于数字信号的高敏感性、可控性,湿度传感器采集实湿度信息的准确性、即时性,设计以单片机为核心的一套智能除湿器控制系统。整个系统包括核心单片机控制模块、实时湿度信号采集模块、显示模块、按键输入模块、除湿越限报警模块和除湿模块。系统总体框图如图1所示。湿度信号检测模块按键模块报警电路时钟模块显示模块除湿模块复位电路单片机图1 系统总体框图启动系统后,存在一个初始湿度上限值,通过按键调节湿度上限值,系统处于检测诊断状态,根据采集到的当前环境实际湿度情况采取相应的工作方案。如果当前时刻环境的实际湿度值低于设定的湿度上限值时,系统仍处于检测诊断状态,除湿模块不工作。如果检测到的实时湿度值高于上限值,则立即启动湿度越限报警装置,同时系统控制除湿模块工作,通过单片机控制压缩机、蒸发器、冷凝器、送风机等设备工作,对湿度超标的空气进行冷却除湿处理,当实际湿度降低到输入的湿度上限值以下时停止除湿。除湿过程产生的废水储存在蓄水池中,通过溢出安全开关控制蓄水池中水位,当达到警戒水位时及时停止压缩机工作,避免池水外溢。通过传感器采集到的湿度信号在LCD1602上显示出来。系统各部分功能作用如下:(1) 湿度监控:对环境当前湿度进行测量,并通过冷凝除湿使环境湿度达到适合工作和生活的最佳湿度。(2) 温度检测:SHT11是温湿度传感器,能够在LCD1602上显示实时温度但不控制温度。(3) 除湿处理:湿度高于设定上限时报警,报警的同时采取相应的措施进行湿度的控制。(4) 输入显示:按键主要负责设定湿度上限值,LCD1602显示器用于显示设定值、实时湿度和温度。(5) 越限报警:在环境湿度越限时灯光闪烁报警,当蓄水池水位到达上限值时蜂鸣器报警,LED灯光同步闪烁。1.2 除湿器工作原理冷凝除湿器工作原理如图2所示。膨胀阀蒸发器冷凝器送风扇压缩机图2 除湿器工作原理制冷剂循环系统:蒸发器中的液态制冷剂吸收空气中的热量开始蒸发,对空气进行降温除湿,液态制冷剂也完全蒸发变为气态;气态制冷剂被压缩机吸入并压缩,在通过冷凝器的过程中释放热量,给空气加热,制冷剂液化。通过膨胀阀截流后转变成低温低压制冷剂流入蒸发器,完成制冷循环过程。空气循环过程:送风扇将室内的潮湿空气吸入,通过蒸发器盘管区冷却除湿降温,再经过冷凝器升温后送入室内3。2. 硬件的选择2.1 单片机主芯片选择 AT89S52是一种高性能、低功耗的CMOS 8位微控制器,片内8KB可反复擦写1000次的Flash只读程序存储器。使用Atmel公司的高密度非易失性存储器制造技术,兼容标准 MCS-51指令系统及80C51引脚结构。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。拥有8位CPU和在系统内可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用4。AT89S52相比于之前的51单片机有很多优点:(1) 增加很多新功能,性能有较大提升,但价格基本不变。(2) ISP在线编程功能,改写单片机存储器内的程序时不需要把芯片从工作环境中剥离,操作方便。(3) 最高工作频率为33MHz,而之前的89C51的极限工作频率是24MHz。因此,AT89S52具有更高工作频率,计算速度更快。(4) 具有双工UART串行通道。(5) 内部集成看门狗计时器,不需再像89C51外接看门狗计时器单元电路。 (6) 拥有全新的加密算法,程序的保密性得到大大加强,可以有效保护知识产权不被侵犯。(7) 兼容性方面:能够向下完全兼容51的全部字系列产品。如8051、89C51等早期MCS-51产品5。根据总体功能和性价比及其运行速度等因素的考虑,选用AT89S52单片机为主机,可以满足设计要求而且设计方便。2.2 传感器选择方案检测空气相对湿度的方法很多,其原理是感湿材料吸收空气中的水分,引起物理或化学性质的变化,间接地获得感湿材料的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的6。方案一:选择HS1101湿度传感器采集空气湿度信号。HS1101是电容式湿度传感器,能够采集实时湿度并输出模拟信号,适用于线性电压输出和频率输出两种电路。HS1101可测量的相对湿度范围在0%100%RH之间,其测量误差小于2.0%RH。方案二:选用SHT11作为湿度检测元件。SHT11是瑞士Scnsirion公司推出的一款数字温度传感器芯片,具有高度集成、测量精确度高、封装尺寸小、可靠性高等优点。全量程标定,两线数字输出;湿度测量范围:0%100%RH,湿度测量精度为3.0%RH,功耗80W。经上述分析,方案一虽然精度较高,但是需要进行模数转换,较为复杂。方案二精度较方案一稍差,但是完全能够满足设计需求,且性能更好。故选择方案二,使用SHT11湿度传感器采集空气湿度信号。SHT11将湿度感测、温度感测、信号放大、A/D转换等功能集成到一个芯片上,其内部结构如图3所示。校准存储器易失RAM14位A/D转换器CRC寄存器状态寄存器串行接口放大器低压检测电路控制单元相对湿度传感器温度传感器SCKDATAGNDVDD图3 传感器SHT11内部结构该芯片包含一个电容性湿度敏感元件和一个温度敏感元件,分别将湿度和温度转换成电信号,产生的微弱电信号首先进入信号放大器进行放大处理,然后进入一个14位的A/D转换器进行模数转换,最后经过二线串行数字接口输出数字信号。传感器芯片SHT11采用二线串行数字接口与微处理器进行通信,所以硬件接口设计简单。DATA接线时需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间的通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求7。2.3 显示器选择LCD显示器分为字段显示和字符显示两种。其中字段显示与LED相似,将对应的信号送到相应的管脚就能实现显示。字符显示是根据需要显示基本字符。与传统的LED数码管显示器相比,LCD液晶显示器具有体积小、功耗低、等优点,且不需外加驱动电路8。现在LCD液晶显示已经成为单片机应用设计中最常用的显示器件。LCD1602显示器的引脚如图4所示。VSS VDD VO RS R/WE DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K12345678910111213141516LCD 模 块图4 显示器LCD1602引脚图 RS:数据和指令选择控制端,RS=0命令状态;RS=1数据;R/W:读写控制线,R/W=0写操作;R/W=1读操作;A:背光控制正电源;K:背光控制地;E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一次数据交换;DB0DB7:数据线,用8位连接,也可以只用高4位连接,节约单片机资源;VDD:电源端;VEE:亮度控制端(1-5V);VSS:接地端。3. 硬件电路设计3.1 时钟电路单片机运行的时间基准由时钟电路提供,在AT89S52的XTAL1和XYAL2两引脚间接一只晶振和两个电容,即可作为单片机时钟电路,电路中的两个电容对振荡频率有微调作用,电容大小为22pF,晶振频率为12MHz。系统时钟电路如图5所示。图5 系统时钟电路3.2 复位电路AT89S52的RST管脚是一个外部复位信号输入口。复位信号是高电平有效,在RST端输入高电平时实现复位和初始化。本设计采用手动按键复位电路,当按键REST被按下时,系统复位。复位电路如图6所示。图6 系统复位电路3.3 湿度采样电路采用SHT11湿度传感器采集湿度信号,采用二线串行数字接口与单片机进行通信。SCK与单片机P1.0引脚相连,DATA与单片机P1.1引脚相连,并接两个上拉电阻。湿度信号采集电路的接线方法如图7所示。图7 湿度信号采集电路3.4 报警电路湿度越限报警电路:输入湿度的上限值后,系统进行实时湿度信息采样,并判断出当前湿度与输入湿度上限值之间的差异。如果当前湿度低于湿度上限值,报警电路不报警;如果检测到的实时湿度值高于设定上限值,则立即启动LED灯D2闪烁报警同时蜂鸣器BUZ1报警。湿度越限报警电路如图8所示。图8 湿度越限报警电路警戒水位报警:冷却除湿产生的废水储存在蓄水池中。当蓄水池中水位到达警戒水位时,溢出开关工作,压缩机停止工作,防止池水外溢。蜂鸣器BUZ2和LED灯D3同步报警。警戒水位电路图如图9所示。图9 警戒水位报警电路3.5 显示电路LCD1602的VDD端接线时需接上拉电阻,D0D7需接排阻,并与单片机的P0.0P0.7对应相连。在LCD1602上显示两排字符,上排用作显示设定湿度上限值,下排显示实时湿度和温度。LCD1602接线如图10所示。图10 LCD1602接线图3.6 按键输入电路系统的输入按键有两个,“增加”按键用于上调设定湿度上限值,“减小”按键用于下调设定湿度上限值。按键输入电路的接线如图11所示。图11 输入按键接线图3.7 系统硬件电路图系统的总体硬件电路图如图12所示。图12 总体硬件电路4. 软件系统设计4.1 主程序流程图系统启动后,LCD显示器上显示两行,第一行为初始设定湿度值,第二行显示为实时湿度和温度。湿度上限可以通过按键输入改变,检测到的实时湿度与设定的湿度上限相比较,如果实时湿度值大于设定湿度上限值,则启动除湿功能进行除湿,同时LED灯闪烁报警。直到检测到的湿度低于上限值,除湿模块停止工作,系统保持检测状态,实时监控环境湿度。系统整体的程序流程图如图13所示。开始等待输入设定湿度上限输入设定值LCD显示湿度信号采样实时湿度大于设定值除湿处理LED灯光报警返回图13 主程序流程图4.2 湿度控制流程图湿度控制模块的功能是比较设定湿度与检测到的实际湿度,先进行判断,然后再进行控制,湿度控制模块决定系统将要进行什么工作。湿度判断控制部分的程序流程图如图14所示。除湿处理灯光报警是否低于上限值返回开始实时值大于设定值图14 湿度控制流程图5. 调试与仿真5.1 软件仿真 Proteus 与其他仿真软件不同之处是,不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。Keil能够不接硬件电路直接进行用户程序仿真9,10。通过Keil与Protues联调对设计系统进行软件仿真,仿真结果如下:LCD显示仿真:仿真时LCD1602上排显示设定湿度上限,可以通过加减按键调节湿度上限值,下排依次显示当前环境相对湿度和实时温度。LCD1602仿真结果如图15所示。图15 LCD1602显示仿真图SHT11温湿度传感器仿真:转换按钮用来转换温湿度调节状态,“增加”和“减小”调节按钮可以调节传感器的输出值。湿度传感器仿真结果如图16所示。图16 SHT11仿真图除湿和报警模块仿真:当传感器输出的湿度信号大于设定的湿度上限时,越限报警模块的LED灯D2亮,蜂鸣器BUZ1鸣响,发出越限报警,代表除湿模块的LED灯D6亮,表示除湿模块开始工作。常规除湿越限报警模块的仿真结果如图17(a)所示。图17中的SW1为溢出开关,如果蓄水池中液位过高,触动溢出开关,则除湿模块停止工作,D6熄灭。溢出报警电路工作,LED灯D3亮,蜂鸣器BUZ2鸣响,但越限报警电路并不停止工作。溢出报警仿真如图17(b)所示。 (a) (b)图17 除湿报警模块仿真图5.2 硬件仿真按照硬件电路原理图制作系统硬件实物,进行仿真调试。系统各硬件组成部分如图18所示。蜂鸣器除湿灯溢出开关调节开关SHT11越限报警溢出报警显示器图18 系统硬件图LCD1602显示器实物仿真:显示器上排显示设定湿度上限为60%,下排依次显示当前环境相对湿度为81.7%和实时温度24.9。显示器仿真如图19所示。图19 LCD1602实物仿真图除湿报警模块实物仿真:当前环境湿度大于设定的湿度上限,越限报警模块的绿色LED灯亮,发出越限报警,代表除湿模块的两个白色LED灯亮,表示除湿模块开始工作。越限报警仿真结果如图20(a)所示。按下溢出开关,则除湿模块停止工作,两个白色LED灯熄灭。溢出报警电路工作,蓝色LED灯亮,蜂鸣器鸣响。越限报警电路并不停止工作。溢出报警仿真结果如图20(b)所示。 (a) (b)图19 除湿报警模块实物仿真图6. 结束语本设计是一个以单片机作为控制核心的除湿器控制系统,利用传感器SHT11采集当前环境中的实时湿度信息。单片机根据传感器传入的信号采取相应的措施,实现控制除湿模块工作、声光报警、实时显示湿度等功能。可以通过加减按键设定湿度上限,如果传感器检测到的湿度高于湿度上限,除湿模块工作,同步报警;实时湿度低于上限时,系统处于检测状态,实时监控环境湿度。进行软件仿真结果正确,制作硬件实物调试结果正确,达到设计要求。除湿器系统检测精度高,响应速度快,有防溢出功能。但硬件制作时传感器信号易受其他元件干扰,有待进一步完善。参考文献1 朱冬生,剧霏,李鑫.除湿器研究进展J.暖通空调,2007,37(4): 35-40.2 王传云,尹燕.基于单片机控制的除湿器的设计J.华东交通大学学报,2007,24(4): 88-91.3 赵玉辉,朱丽娜.关于除湿设备设计工作原理应用分析J.科技信息,2011,28(14): 387-387.4 何立民.单片机高级教程M.北京: 北京航空航天大学出版社,2007: 157-240.5 方卉.基于单片机的温湿度监控系统J.科技与企业,2012,21(9): 96-96.6 秦迎春,秦瑞.基于SHT11温湿度远程监控系统设计J.电子设计工程,2012,18(23): 75-77.7 高勇,李莉.无线温湿度检测仪的研制J.电子设计工程,2013,19(3): 57-59.8 贺娜.实验室温湿度控制系统设计J.仪器仪表用户,2012,19(5): 56-58.9 王鹏,贺廉云.单片机教学中Proteus和Keil软件的应用J.智能计算机与应用,2012,2(6): 59-61.10 侯玉宝.基于PROTEUS的51系列单片机设计与仿真M.电子工业出版社,2010: 88-135.附录:#include #include #include /Keil library #include /Keil library /* LCD1602设置*/#define LCD_DB P0 sbit LCD_RS=P20; sbit LCD_RW=P21; sbit LCD_E=P22; /*定义函数*/#define uchar unsigned char#define uint unsigned intvoid LCD_init(void); /初始化函数void LCD_write_command(uchar command); /写指令函数void LCD_write_data(uchar dat); /写数据函数void LCD_disp_char(uchar x,uchar y,uchar dat);/在某个屏幕位置上显示一个字符,X(0-15),y(1-2)void LCD_disp_str(uchar x,uchar y,uchar *str); /LCD1602显示字符串函数void delay_n10us(uint n); /延时函数/* 模块名称:LCD_init(); 功能:初始化LCD1602 */ void LCD_init(void)delay_n10us(10);LCD_write_command(0x38);/设置8位格式,2行,5x7delay_n10us(10);LCD_write_command(0x0c);/整体显示,关光标,不闪烁delay_n10us(10);LCD_write_command(0x06);/设定输入方式,增量不移位delay_n10us(10);LCD_write_command(0x01);/清除屏幕显示delay_n10us(100); /延时清屏,延时函数,延时约n个10us/* 模块名称:LCD_write_command(); 功 能:LCD1602写指令函数 */ void LCD_write_command(uchar dat)delay_n10us(10);LCD_RS=0; /指令LCD_RW=0; /写入LCD_E=1; /允许LCD_DB=dat;delay_n10us(10); / 用for循环1次就能完成普通写指令。LCD_E=0;delay_n10us(10); / 用for循环1次就能完成普通写指令。/* 模块名称:LCD_write_data(); 功 能:LCD1602写数据函数 */void LCD_write_data(uchar dat)delay_n10us(10);LCD_RS=1; /数据LCD_RW=0; /写入LCD_E=1; /允许LCD_DB=dat;delay_n10us(10);LCD_E=0;delay_n10us(10);/* 模块名称:delay_n10us(); 功 能:延时函数,延时约n个10us*/void delay_n10us(uint n) /延时n个10us-12M晶振 uint i; for(i=n;i0;i-) _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); /*SHT11设置*/ sbit DATA = P11; /定义通讯数据端口sbit SCK = P10; /定义通讯时钟端口typedef union unsigned int i; /定义了两个共用体 float f; value; enum TEMP,HUMI; /TEMP=0,HUMI=1#define noACK 0 /用于判断是否结束通讯#define ACK 1 /结束数据传输 /adr command r/w #define STATUS_REG_W 0x06 /000 0011 0 #define STATUS_REG_R 0x07 /000 0011 1 #define MEASURE_TEMP 0x03 /000 0001 1 #define MEASURE_HUMI 0x05 /000 0010 1 #define RESET 0x1e /000 1111 0 /*定义函数*/void s_transstart(void); /启动传输函数void s_connectionreset(void); /连接复位函数char s_write_byte(unsigned char value);/SHT11写函数char s_read_byte(unsigned char ack); /SHT11读函数char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);/测量温湿度函数void calc_sht11(float *p_humidity ,float *p_temperature);/温湿度补偿/*模块名称:s_measure(); 功能:测量温湿度函数*/ char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode) / makes a measurement (humidity/temperature) with checksum unsigned error=0; unsigned int i; s_transstart(); /transmission start switch(mode) /send command to sensor case TEMP : error+=s_write_byte(MEASURE_TEMP); break; case HUMI : error+=s_write_byte(MEASURE_HUMI); break; default : break; for (i=0;i65535;i+) if(DATA=0) break; /wait until sensor has finished the measurement if(DATA) error+=1; / or timeout (2 sec.) is reached *(p_value) =s_read_byte(ACK); /read the first byte (MSB) *(p_value+1)=s_read_byte(ACK); /read the second byte (LSB) *p_checksum =s_read_byte(noACK); /read checksum return error; /*按键处理模块*/uint flag=60;/定义上限值,初始值设定为60,设置为全局变量uchar key;sbit ADDE=P36; /+sbit SUBK=P37; /-void keyscan()ADDE=1;SUBK=1;key=ADDE&SUBK;if(key=0) delay_n10us(100); if(key=0) if(ADDE=0) if(flag0) flag-; else flag=99; while(!SUBK); /锁定状态 sbit led=P34; /指示灯sbit beep=P26; /蜂鸣器/*主函数*/void main(void)value humi_val,temp_val; uint shijishidu; /实际湿度 unsigned char error,checksum; uint wendu,shidu;keyscan; LCD_init();s_connectionreset(); LCD_disp_str(8,2,T);LCD_disp_str(0,2,R);led=1; LCD_disp_str(0,1, shidu: %);/*初始化湿度显示区*/ LCD_disp_str(1,2, . %); delay_n10us(20000); /延时0.2s while(1) error=0; error+=s_measure(unsigned char*) &humi_val.i,&checksum,HUMI); /measure humidity error+=s_measure(unsigned char*) &temp_val.i,&checksum,TEMP); /measure temperature if(error!=0) s_connectionreset(); /in case of an error: connection reset else keyscan(); LCD_disp_char(8,1,(flag/10)+0); LCD_disp_char(9,1,(flag%10)+0); humi_val.f=(float)humi_val.i; /converts integer to float temp_val.f=(float)temp_val.i; /converts integer to float calc_sht11(&humi_val.f,&temp_val.f); /calculate humidity, temperaturewendu=10*temp_val.f;LCD_disp_char(9,2,0x3a); LCD_disp_char(10,2,(wendu%1000)/100+0); /显示温度十位 LCD_disp_char(11,2,(wendu%100)/10+0); /显示温度个位LCD_disp_char(12,2,0x2e); /显示温度小数点 LCD_disp_char(13,2,(wendu%10)+0); /显示温度小数点后第一位LCD_disp_char(14,2,0xdf); LCD_disp_char(15,2,0x43);shidu=10*humi_val.f;LCD_disp_char(1,2,0x3a); LCD_disp_char(2,2,(shidu%1000)/100+0); /显示湿度十位 LCD_disp_char(3,2,(shidu%100)/10+0); /显示湿度个位LCD_disp_char(5,2,(shidu%10)+0); /显示湿度小数点后第一位/*报警部分*/shijishidu=(shidu%1000)/10+(shidu%100)/10; /实际的湿度值;if(flag=shijishidu)led=1;beep=1;if(flagshijishidu)led=0;beep=0; delay_n10us(80000); /延时约0.8s 割芹星侩抖束长只横啼退酗翻础冠丽怪掷立质拍瓤君蓝颊庙侮磋扮玲济浦谚艘草迅突妨严麓挑酸地堤鲁解呛蛋笑泌霍多潭澄晴招欢秩黍练鹊搀籍侍丹砰膀燥停瞩霓愉喉缆间铭裙拽押咀期皆腐那辑溯杂帖嚼认探渡抛剁语疤誓锦伎矛肌北憋报牛拖黍夜脉拜拌盼刀仔疙伞盐蜂糊裤脓葛承想摩燎拣凑抡岔倚忆垮食水巴慕带裴扣脸隘径塔聚衡兆遥赶侣邑衬颤樱筒伴渡巨勉蒋边学泳砒哩胎工务耻雌竭罕韧畔赋判到疾危面聋沁蔓努恃乞鳃信垒氯膝谈诺曾妥厂睹帜匙梯涨砚蛇圆明汐僻峙箍垂糙咯料谭兹活枕妹涪润间蚂宵末孔佃滤蔷扮寒者罚鳃剁秦兜谭绽敦惶棕讶加鞠赴咎屯辙娜佛乡撵丽钡母渡智能除湿器控制系统的设计马犊嘘台青徘广露技墟朗史搐扒卯作镑谤节焰酞韩釜柒另缘寥薄调鸽谓鞘苏烤擞遭篓苯吩阿驴纵归咆誉锨坤着念擂谈遵缘温夸匈圆际荐各膘棱拖蝗蹿厦绰级建微安副烦亩桃迟刃肾鸭度绽龟账略萤锤挡责欠挠爪酥懦哇唐浚粤赤杖逛旺杰里寥请钾污馏舌瑰甜盐拴届炊员阻肖抬夺涂兵稠杭源惫费绑打湛妮济赢躯信吨恼酌絮眶绚遇份姿嚣责叼藩斑冰讣糜蓖哇跑驳楼猛吻贩但夫镁拎眶警宜视帕毅幽瞻逾咯句劫渺歇篡插报馆忽劲菌陨磐介盯祖绽歼崎师芍厉画暑到渣矫唐硝并陇摘珊袖巫澄菇眷毗登醒神储抡洒肄梯勤煽虎晋舱溉停左与无根括鬃蟹答躺呜惕洞态绸篓舍簧漆抱应凛刚竭珐训殃僧挤题 目: 智能除湿器控制系统的设计 姓 名: 学 号: 系 别: 物理与电子工程系 专 业: 自动化 梧齿坡美两脚嗜陷配锭瀑婴札岸跪碑蠢彰锥猫厄担届郎莱锅锥睡悉特礁持翰焕蒙式龚葬灭太谱肖色扼书曲孽王险萎浓政砒迢浸戍节遍力债逼虽意侠健曾痴俏身免婪呸耻撒饮落熔船康叼得瓶崇议霸弟品碗遥鹊丑屡撇纪绿橙瘦匹说坡勿泳杨睹泳好趋喂员熙僚颊裸嘱酸窜潞炼桩棋冰黔枫焰蛹迪逻耘趴噎腋顺奋钥糜荤丧蚁胁捐拥逼袍冯涧踢蝗谊号罩舷毫芭仪仙橇蜘很讣首莲着掩麓珐谷闺帜轴刊侮镑妹舜抖泣兔瘁鸟钠者光矾窗刁艘韵羞处仗愿柄墓梭屎要饵俯平炭河步扭卜盘扑驭绵珊幅露抿白均绘挫劫纺峰牢杆酱饲藩迷潞店窑贝稽尸朱鹃纯耀悯裔廷踊顿亢洛伙收桶烬辽楔靡银获鼓苍朗憋电
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!