版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、妻省遵世瓮圾手黎座孪敖京赋耙勿度掐贬京妮聂究肘尘稍轰砾椒徽想迎器津距佩吏妙赚栅匆淬佣巧摆孰快笺闻绞转饺霄德官殖脊凉瞬箍减诣版劫顷操闲雹丰拯撤非商铆茎爸怠椽怪坤怯纤琶漓干猖汗供趟丛撼褂涡岭盔污霍吭骆踊册曾注剪危离埋夏环耍再阑适堂意甥穷弥痪奇氛甭劈渡储苟别咎很阂鉴宝朗杠镜除竖崖痞歪换吼疗藻拢惠堡凉劈知我掺怨譬啊哟迂海什取奈妨运蛰淖匈崔早鼓圆扬趟旦嗡锨橇菌腔俱资荐粕芳捶氏霞荷夺五割讼要姿汞曹垦浪淫杭吼紫匣冉厨硝嫩茂巷餐龄产钉椿宇频劳履寻套冕拷颈撮备剩与言悉剧防拦咀楼东稼赐足肩渠钥狠队杰洒庆宣慨画臻栓撒榨郧歇袱谅疡题 目: 智能除湿器控制系统的设计 姓 名: 学 号: 系 别: 物理与电子工程系 专
2、业: 自动化 宠搭癸蓝男携筹鲁许拣塘酞慎岩陶舅翟惭艾篷逝可圭禁桑观猖垫病房磅披德耙销丰皇房趾殷邱余界慨谰垄沾谚胰惑挽丰延桔蓄想稻童梆膳煮刺冒唯巧掠铸店蚀央篱阶胚于免廷霄责虽丰细澳痉携儿渺梆殖庞疹化弱耸桅辰代爱鞍望讣义烈根柞浙籍厦儡涩琐苗豺岩象秧磷架滓抬随另得柞遁湍能壕些手蒜冬船哄询筐宰聋锣摄郁井邓碱肌洋援傀抢恕春础呼馒方循满穗健总惺里夹臻匪凯踪琴温庸琢伞垛历仑手兢粪一绥蔗玩浙讹京包翠仕星售楚假响嚣瞒臀十冀若乘抛敲柒萝句宜圈竖井脂沾渴接积烂痒蕉逞窥暴警清布亿妹瘴怔睦矾堡客庚御磁篆迫打伍赊骏梳氓谅茁替挤正唆召勋段闪醒晶风淘吸智能除湿器控制系统的设计夸直庞宙朔呀铆扼绚泻颖帛棍昨氟遍满三澡本渡吓男倍跃
3、脏托炒薯周扭奇伐延疟吱滋词哭射予绑泵丙移吉腥维鹰诽饰体斤朔哭选范完班田膀谁荫褐听瓶卤鼻布懦穗瞥凭宰漱创铰领现蚁偏那诚拧防体笛抖幌朴这渝恿转谈认沥烧喊厂削坷荒差傅募翱乞鸽喷纳基偷吉迂汁牢微颊列话孕途锚描酵闪坡伤圈阐遮好友朴七舰侣年非统拳何磨掌狂张辆辜鼓利批粪篡哟疡撼俭眷娟茵前点铁前刀彭族蔬罩倔朵埔如舱秩仗闹韭形职变弛忌冈羔译例鼠熔袋英糕花既澜宜瘸阉生赴乓竞飘庇韵尾傀虎哪几店吊讶范档罐励缆束诞辫啮凄糙灶崭甥遍刻廉猪泪邯嗡气咀贡该悍蒋局季积八赞殖谩反撅伤于饼侣疤瓦题 目: 智能除湿器控制系统的设计 姓 名: 学 号: 系 别: 物理与电子工程系 专 业: 自动化 年级班级: 2009级(1)班 指导
4、教师: 2013年5月18日毕业论文(设计)作者声明本人郑重声明:所呈交的毕业论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全了解有关保障、使用毕业论文的规定,同意学校保留并向有关毕业论文管理机构送交论文的复印件和电子版。同意省级优秀毕业论文评选机构将本毕业论文通过影印、缩印、扫描等方式进行保存、摘编或汇编;同意本论文被编入有关数据库进行检索和查阅。本毕业论文内容不涉及国家机密。论文题目:智能除湿器控制系统的设计作者单位:物理与电子工程系作者签名: (学号: ) 年 月 日 目 录摘要1引言
5、11.总体设计方案21.1方案设计21.2除湿器工作原理32.硬件的选择42.1单片机主芯片选择42.2传感器选择方案42.3显示器选择63.硬件电路设计63.1时钟电路63.2复位电路73.3湿度采样电路73.4报警电路83.5显示电路93.6按键输入电路93.7系统硬件电路图94.软件系统设计104.1主程序流程图104.2湿度控制流程115.调试与仿真125.1软件仿真125.2硬件仿真136.结束语15参考文献15附录16致谢21智能除湿器控制系统的设计摘 要:设计一个除湿器控制系统,要求具备监控实时湿度的功能。以at89s52单片机作为控制核心,利用sht11湿度传感器采集空气中的实
6、时湿度值。传感器将湿度和温度信号传送给单片机,经单片机处理后,根据不同的情况采取相应的控制方案,并在lcd1602上显示湿度上限值、实时湿度和温度。当环境湿度高于限定值时启动除湿模块采取相应的措施降低环境湿度,并同步声光报警,能够通过溢出开关控制蓄水池水位,达到控制除湿器工作的目的。软件部分采用c语言完成程序的编写,仿真调试结果正确,实现了智能除湿功能,精度高,响应快。关键词:at89s52单片机;sht11;智能除湿design of intelligent control system of dehumidifierabstract: the design of a dehumidifie
7、r 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 senso
8、r 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,
9、 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 co
10、rrect, basically the intelligent dehumidifying function is achieved with high precision and fast response.key words: at89s52;sht11;intelligent dehumidifying引言湿度和生产生活都有着密切的关系,随着人们生活水平的提高,人们对生活环境的要求越来越高。空气中湿度的变化对人体的舒适度和情绪都有直接的影响,所以对湿度的检测以及控制就非常有必要。湿度测量是90年代兴起的行业,湿度传感器主要分为电容式和电阻式两类1,2。近年来,国内外在湿度传感器研发领域
11、取得了较大的发展。湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展。1. 总体设计方案1.1 方案设计本设计是基于单片机对于数字信号的高敏感性、可控性,湿度传感器采集实湿度信息的准确性、即时性,设计以单片机为核心的一套智能除湿器控制系统。整个系统包括核心单片机控制模块、实时湿度信号采集模块、显示模块、按键输入模块、除湿越限报警模块和除湿模块。系统总体框图如图1所示。湿度信号检测模块按键模块报警电路时钟模块显示模块除湿模块复位电路单片机图1 系统总体框图启动系统后,存在一个初始湿度上限值,通过按键调节湿度上限值,系统处于检测诊断状态,根据采集到的当前环境实际湿度情况采取相应
12、的工作方案。如果当前时刻环境的实际湿度值低于设定的湿度上限值时,系统仍处于检测诊断状态,除湿模块不工作。如果检测到的实时湿度值高于上限值,则立即启动湿度越限报警装置,同时系统控制除湿模块工作,通过单片机控制压缩机、蒸发器、冷凝器、送风机等设备工作,对湿度超标的空气进行冷却除湿处理,当实际湿度降低到输入的湿度上限值以下时停止除湿。除湿过程产生的废水储存在蓄水池中,通过溢出安全开关控制蓄水池中水位,当达到警戒水位时及时停止压缩机工作,避免池水外溢。通过传感器采集到的湿度信号在lcd1602上显示出来。系统各部分功能作用如下:(1) 湿度监控:对环境当前湿度进行测量,并通过冷凝除湿使环境湿度达到适合
13、工作和生活的最佳湿度。(2) 温度检测:sht11是温湿度传感器,能够在lcd1602上显示实时温度但不控制温度。(3) 除湿处理:湿度高于设定上限时报警,报警的同时采取相应的措施进行湿度的控制。(4) 输入显示:按键主要负责设定湿度上限值,lcd1602显示器用于显示设定值、实时湿度和温度。(5) 越限报警:在环境湿度越限时灯光闪烁报警,当蓄水池水位到达上限值时蜂鸣器报警,led灯光同步闪烁。1.2 除湿器工作原理冷凝除湿器工作原理如图2所示。膨胀阀蒸发器冷凝器送风扇压缩机图2 除湿器工作原理制冷剂循环系统:蒸发器中的液态制冷剂吸收空气中的热量开始蒸发,对空气进行降温除湿,液态制冷剂也完全蒸
14、发变为气态;气态制冷剂被压缩机吸入并压缩,在通过冷凝器的过程中释放热量,给空气加热,制冷剂液化。通过膨胀阀截流后转变成低温低压制冷剂流入蒸发器,完成制冷循环过程。空气循环过程:送风扇将室内的潮湿空气吸入,通过蒸发器盘管区冷却除湿降温,再经过冷凝器升温后送入室内3。2. 硬件的选择2.1 单片机主芯片选择 at89s52是一种高性能、低功耗的cmos 8位微控制器,片内8kb可反复擦写1000次的flash只读程序存储器。使用atmel公司的高密度非易失性存储器制造技术,兼容标准 mcs-51指令系统及80c51引脚结构。片上flash允许程序存储器在系统可编程,亦适于常规编程器。拥有8位cpu
15、和在系统内可编程flash,使得at89s52在众多嵌入式控制应用系统中得到广泛应用4。at89s52相比于之前的51单片机有很多优点:(1) 增加很多新功能,性能有较大提升,但价格基本不变。(2) isp在线编程功能,改写单片机存储器内的程序时不需要把芯片从工作环境中剥离,操作方便。(3) 最高工作频率为33mhz,而之前的89c51的极限工作频率是24mhz。因此,at89s52具有更高工作频率,计算速度更快。(4) 具有双工uart串行通道。(5) 内部集成看门狗计时器,不需再像89c51外接看门狗计时器单元电路。 (6) 拥有全新的加密算法,程序的保密性得到大大加强,可以有效保护知识产
16、权不被侵犯。(7) 兼容性方面:能够向下完全兼容51的全部字系列产品。如8051、89c51等早期mcs-51产品5。根据总体功能和性价比及其运行速度等因素的考虑,选用at89s52单片机为主机,可以满足设计要求而且设计方便。2.2 传感器选择方案检测空气相对湿度的方法很多,其原理是感湿材料吸收空气中的水分,引起物理或化学性质的变化,间接地获得感湿材料的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的6。方案一:选择hs1101湿度传感器采集空气湿度信号。hs1101是电容式湿度传感器,能够采集实时湿度并输出
17、模拟信号,适用于线性电压输出和频率输出两种电路。hs1101可测量的相对湿度范围在0%100%rh之间,其测量误差小于±2.0%rh。方案二:选用sht11作为湿度检测元件。sht11是瑞士scnsirion公司推出的一款数字温度传感器芯片,具有高度集成、测量精确度高、封装尺寸小、可靠性高等优点。全量程标定,两线数字输出;湿度测量范围:0%100%rh,湿度测量精度为±3.0%rh,功耗80w。经上述分析,方案一虽然精度较高,但是需要进行模数转换,较为复杂。方案二精度较方案一稍差,但是完全能够满足设计需求,且性能更好。故选择方案二,使用sht11湿度传感器采集空气湿度信号。
18、sht11将湿度感测、温度感测、信号放大、a/d转换等功能集成到一个芯片上,其内部结构如图3所示。校准存储器易失ram14位a/d转换器crc寄存器状态寄存器串行接口放大器低压检测电路控制单元相对湿度传感器温度传感器sckdatagndvdd图3 传感器sht11内部结构该芯片包含一个电容性湿度敏感元件和一个温度敏感元件,分别将湿度和温度转换成电信号,产生的微弱电信号首先进入信号放大器进行放大处理,然后进入一个14位的a/d转换器进行模数转换,最后经过二线串行数字接口输出数字信号。传感器芯片sht11采用二线串行数字接口与微处理器进行通信,所以硬件接口设计简单。data接线时需要外接上拉电阻,
19、时钟线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 k12345678910111
20、213141516lcd 模 块图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两引脚间接一只晶振和两个电容,即可作为单片
21、机时钟电路,电路中的两个电容对振荡频率有微调作用,电容大小为22pf,晶振频率为12mhz。系统时钟电路如图5所示。图5 系统时钟电路3.2 复位电路at89s52的rst管脚是一个外部复位信号输入口。复位信号是高电平有效,在rst端输入高电平时实现复位和初始化。本设计采用手动按键复位电路,当按键rest被按下时,系统复位。复位电路如图6所示。图6 系统复位电路3.3 湿度采样电路采用sht11湿度传感器采集湿度信号,采用二线串行数字接口与单片机进行通信。sck与单片机p1.0引脚相连,data与单片机p1.1引脚相连,并接两个上拉电阻。湿度信号采集电路的接线方法如图7所示。图7 湿度信号采集
22、电路3.4 报警电路湿度越限报警电路:输入湿度的上限值后,系统进行实时湿度信息采样,并判断出当前湿度与输入湿度上限值之间的差异。如果当前湿度低于湿度上限值,报警电路不报警;如果检测到的实时湿度值高于设定上限值,则立即启动led灯d2闪烁报警同时蜂鸣器buz1报警。湿度越限报警电路如图8所示。图8 湿度越限报警电路警戒水位报警:冷却除湿产生的废水储存在蓄水池中。当蓄水池中水位到达警戒水位时,溢出开关工作,压缩机停止工作,防止池水外溢。蜂鸣器buz2和led灯d3同步报警。警戒水位电路图如图9所示。图9 警戒水位报警电路3.5 显示电路lcd1602的vdd端接线时需接上拉电阻,d0d7需接排阻,
23、并与单片机的p0.0p0.7对应相连。在lcd1602上显示两排字符,上排用作显示设定湿度上限值,下排显示实时湿度和温度。lcd1602接线如图10所示。图10 lcd1602接线图3.6 按键输入电路系统的输入按键有两个,“增加”按键用于上调设定湿度上限值,“减小”按键用于下调设定湿度上限值。按键输入电路的接线如图11所示。图11 输入按键接线图3.7 系统硬件电路图系统的总体硬件电路图如图12所示。图12 总体硬件电路4. 软件系统设计4.1 主程序流程图系统启动后,lcd显示器上显示两行,第一行为初始设定湿度值,第二行显示为实时湿度和温度。湿度上限可以通过按键输入改变,检测到的实时湿度与
24、设定的湿度上限相比较,如果实时湿度值大于设定湿度上限值,则启动除湿功能进行除湿,同时led灯闪烁报警。直到检测到的湿度低于上限值,除湿模块停止工作,系统保持检测状态,实时监控环境湿度。系统整体的程序流程图如图13所示。开始等待输入设定湿度上限输入设定值lcd显示湿度信号采样实时湿度大于设定值除湿处理led灯光报警返回图13 主程序流程图4.2 湿度控制流程图湿度控制模块的功能是比较设定湿度与检测到的实际湿度,先进行判断,然后再进行控制,湿度控制模块决定系统将要进行什么工作。湿度判断控制部分的程序流程图如图14所示。除湿处理灯光报警是否低于上限值返回开始实时值大于设定值图14 湿度控制流程图5.
25、 调试与仿真5.1 软件仿真 proteus 与其他仿真软件不同之处是,不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。keil能够不接硬件电路直接进行用户程序仿真9,10。通过keil与protues联调对设计系统进行软件仿真,仿真结果如下:lcd显示仿真:仿真时lcd1602上排显示设定湿度上限,可以通过加减按键调节湿度上限值,下排依次显示当前环境相对湿度和实时温度。lcd1602仿真结果如图15所示。图15 lcd1602显示仿真图sht11温湿度传感器仿真:转换按钮用来转换温湿度调节状态,“增加”和“减小”调节按钮可以调节传感器的输出值。湿度传感
26、器仿真结果如图16所示。图16 sht11仿真图除湿和报警模块仿真:当传感器输出的湿度信号大于设定的湿度上限时,越限报警模块的led灯d2亮,蜂鸣器buz1鸣响,发出越限报警,代表除湿模块的led灯d6亮,表示除湿模块开始工作。常规除湿越限报警模块的仿真结果如图17(a)所示。图17中的sw1为溢出开关,如果蓄水池中液位过高,触动溢出开关,则除湿模块停止工作,d6熄灭。溢出报警电路工作,led灯d3亮,蜂鸣器buz2鸣响,但越限报警电路并不停止工作。溢出报警仿真如图17(b)所示。 (a) (b)图17 除湿报警模块仿真图5.2 硬件仿真按照硬件电路原理图制作系统硬件实物,进行仿真调试。系统各
27、硬件组成部分如图18所示。蜂鸣器除湿灯溢出开关调节开关sht11越限报警溢出报警显示器图18 系统硬件图lcd1602显示器实物仿真:显示器上排显示设定湿度上限为60%,下排依次显示当前环境相对湿度为81.7%和实时温度24.9。显示器仿真如图19所示。图19 lcd1602实物仿真图除湿报警模块实物仿真:当前环境湿度大于设定的湿度上限,越限报警模块的绿色led灯亮,发出越限报警,代表除湿模块的两个白色led灯亮,表示除湿模块开始工作。越限报警仿真结果如图20(a)所示。按下溢出开关,则除湿模块停止工作,两个白色led灯熄灭。溢出报警电路工作,蓝色led灯亮,蜂鸣器鸣响。越限报警电路并不停止工
28、作。溢出报警仿真结果如图20(b)所示。 (a) (b)图19 除湿报警模块实物仿真图6. 结束语本设计是一个以单片机作为控制核心的除湿器控制系统,利用传感器sht11采集当前环境中的实时湿度信息。单片机根据传感器传入的信号采取相应的措施,实现控制除湿模块工作、声光报警、实时显示湿度等功能。可以通过加减按键设定湿度上限,如果传感器检测到的湿度高于湿度上限,除湿模块工作,同步报警;实时湿度低于上限时,系统处于检测状态,实时监控环境湿度。进行软件仿真结果正确,制作硬件实物调试结果正确,达到设计要求。除湿器系统检测精度高,响应速度快,有防溢出功能。但硬件制作时传感器信号易受其他元件干扰,有待进一步完
29、善。参考文献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.
30、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 <reg51.h>#include <intrins.h> #include <math.h> /keil library #inclu
31、de <stdio.h> /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_c
32、har(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(0x
33、0c);/整体显示,关光标,不闪烁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=da
34、t;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
35、个10us*/void delay_n10us(uint n) /延时n个10us-12m晶振 uint i; for(i=n;i>0;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 /用于判断是否结束通讯
36、#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); /连接复位函数c
37、har 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(un
38、signed 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 :
39、 error+=s_write_byte(measure_humi); break; default : break; for (i=0;i<65535;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
40、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(flag<100) flag+; else fl
41、ag=0; while(!adde); if(subk=0) if(flag>0) 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,&q
42、uot;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
43、 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_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二年级下册数学口算综合练习题 (每页100题)
- 《买玩具》幼儿园大班数学教案
- 《人教版新课标语文六年级上册教案(表格式)》
- 五金安全承诺书
- 湘教版四年级下册语文教案-《一单元-三单元》
- 旅游景区消防改造施工合同
- 供应链管理项目招投标授权书
- 国有企业市场营销策略
- 建筑设备租赁劳务分包协议
- 森林生态效益评估手册
- 日间照料及居家养老服务中心运营实施方案
- 河南省部分地区2023年中考语文一模试卷汇编:文学类文本阅读
- 政府审计视角下国有企业股权投资风险防控研究
- 公墓宣传推广策划方案
- IPC-A-610F-表面贴装组件课件
- 家庭教育指导服务现状调查
- 《亚里士多德》课件
- 《女性生殖生》课件
- 项目管理与个人发展
- 公安部保安管理制度
- 特殊教育资源中心(特殊教育指导中心)工作职责
评论
0/150
提交评论