电子信息工程专业论文02494

上传人:无*** 文档编号:146552711 上传时间:2022-08-31 格式:DOC 页数:39 大小:8.12MB
收藏 版权申诉 举报 下载
电子信息工程专业论文02494_第1页
第1页 / 共39页
电子信息工程专业论文02494_第2页
第2页 / 共39页
电子信息工程专业论文02494_第3页
第3页 / 共39页
资源描述:

《电子信息工程专业论文02494》由会员分享,可在线阅读,更多相关《电子信息工程专业论文02494(39页珍藏版)》请在装配图网上搜索。

1、学位论文基于LM75A和HS1101的智能温度湿度检测系统设计与实现基于LM75A和HS1101的智能温度湿度检测系统设计与实现摘 要随着计算机技术的发展,智能温度和湿度的检测系统在农业、工业、国防、仓储等领域有着极为广泛的应用。本文设计了一种基于51单片机的智能温度和湿度检测系统,通过STC89C52RC单片机的控制与处理,采用测量范围在0%99%之间的湿度传感器元件HS1101和测量范围在-55+125之间的温度检测器元件LM75A,从而测量出当前空气相对湿度和温度,显示在4位数码管。并且设置了湿度和温度的上限制,一旦检测的湿度或温度超过了设定值,就会启动报警装置。该产品具有体积小巧、成本

2、低、可靠性高,测量精度高等优点。 关键词: 单片机;湿度;温度;检测Design and Implementation of an Intelligent Temperature and Humidity Detection System Based on LM75A and HS1101 AbstractWith computer technology development, automatic measurement and control of temperature and humidity are widely applied to agriculture, industry, n

3、ational defense, storage and other fields. A temperature and humidity measurement system based on 51 MCU is designed in this paper, by control and treatment of STC89C52RC,use the humidity sensor element HS1101 that the range between 1%99% and temperature sensor element LM75A that the range between -

4、55+125.Accordingly measures the current relative humidity and temperature, and reveals on the LED. And set the humidity and temperature, when the detection of the humidity or temperature exceeding the set value, will start the alarm. This product has a compact size, low cost, high reliability and me

5、asurement precision.keywords: MCU; Humidity; Temperature; Detection目 录1引言11.1课题背景11.2本课题研究的意义11.3本课题的研究方法12湿度和温度测量22.1空气湿度的表示方法22.2湿度传感器的发展史22.3空气温度的表示方法32.4温度传感器的发展史53硬件电路设计53.1电源电路和单片机电路模块63.2湿度检测模块73.3温度检测模块93.4数码管显示和键盘控制模块123.5报警电路模块124软件设计124.1主程序的设计134.2中断函数设计155调试与测试165.1软件调试165.2电源及硬件电路调试175

6、.3湿度电路调试185.4温度电路调试185.5报警电路调试195.6按键测试196结论与展望196.1全文总结196.2前景展望20参考文献21致 谢22附 录231 引言1.1 课题背景在日常生活中,空气湿度和温度直接影响人们的生活与生产。如在电子设备机房,为了保持设备运行良好,延长设备使用寿命。对湿度及温度都有较高要求。在生活中,当环境湿度过低时,人体会感觉皮肤干燥不舒服。而湿度过大时,体表汗液不能及时排除蒸发,人体不舒适度会增大。此外如仓库、博物馆、资料室、实验室等对湿度和温度要求较高的场合,湿度和温度检测的应用前景也很广泛。所以,温湿度检测系统的广泛应用是必然的,且随着人们生活水平的

7、提高,多功能、自动化产品越来越受欢迎。智能温湿度检测系统采用数码管显示,可得到直观且准确的数据,让用户对室内湿度的把握更准确。1.2 本课题研究的意义基于该产品的需求,研究并提供一个小巧、高性价比、多功能的智能温度和湿度检测系统很有必要的,物廉价美是每个产品能受到用户欢迎的主要原因。因此,配置简单、功能完善、体积适宜是本次研究主要的着重点。本文选用LM75A数字温度检测芯片和HS1101电容式湿度传感器分别作为温度和湿度的感应器件。应用最简单的设计达到最实用的功能。1.3 本课题的研究方法本论文所完成的任务是通过产品对环境大气相对湿度和空气温度进行检测,并通过数码管立即显示,同时当温度超过设定

8、温度时及时报警。设计中采用Keil与Proteus连调仿真,再结合硬件调试的办法。第一章引言,主要介绍智能温湿度检测系统的背景及以后的发展,并且简单描述该课题的意义。第二章温度和湿度的测量,分别描述温度和湿度的表示方法和温度传感器及湿度传感器的发展史。第三章硬件电路设计,主要介绍智能温度和湿度检测系统的硬件设计。详细的从功能的模块上阐述工作原理。第四章软件设计,主要通过流程图简单介绍编写程序的思维和程序的各个功能。第五章调试与测试。描述本课题的调试过程和相关的数据,分析调试过程中遇到的问题和解决方案。在设计完成时的测试方式。第六章结论和展望,对本课题进行总结和对该设计的发展进行展望。2 湿度和

9、温度测量2.1 空气湿度的表示方法人们通常采用绝对湿度、相对湿度和饱和差三种不同量度方式来表示空气湿度。1、绝对湿度。指每立方米空气中含有的水汽的克数。通常用水汽压的大小来表示,其单位为百帕或毫米。绝对湿度大,空气比较潮湿;绝对湿度小,空气比较干燥。而在一定温度下,空气中的水汽含量有一个最大的限度,达到这个限度时的水汽压,叫饱和水汽压。饱和水汽压随着空气温度的增高而迅速变大。2、相对湿度。指空气中的实际的水汽压(即绝对湿度)与当时温度下饱和水汽压的百分比。相对湿度是一个百分数,没有单位。相对湿度小,说明当时的空气远没有达到饱和状态,空气干燥;相对湿度大,表明接近水汽压饱和,空气潮湿。这种表示方

10、法,方便于对不同温度下的湿度进行比较,其用途最为广泛,3、饱和差。指测量时的温度下的饱和水汽压和空气中实际的水汽压之间的差值。饱和差越小,说明空气越潮湿,饱和差越大,说明空气越干燥。人们经常采用相对湿度来表示空气的湿度,本文设计的产品也采用相对湿度的表示方式1。2.2 湿度传感器的发展史最早的湿度检测法是达芬奇用羊毛或人头发制成的毛发湿度计。这种机械式湿度检测仪曾在测湿历史上发挥重大作用。但是随着电子技术的发展, 人们开始对电子湿度传感器进行研究。1939年, 顿蒙利用材料的电气特性研制出世界上第一个湿度传感器。顿蒙湿度传感器是利用电解质制成的。根据电阻值的变化可以检测相对湿度。但是, 这种传

11、感器的检测范围太小, 要想测量较宽的湿度变化必须使用多个特性不同的传感器。同时进入测湿市场的还有利用聚合物薄膜或碳膜吸湿膨胀原理制作的湿度传感器。然而, 这些传感器都不能批量生产, 因为它们的制作过程需要大量的人工技巧,因此需要庞大的生产资金。后来, 人们又开始研究如何用半导体制造湿度传感器, 于是研制出若干种以陶瓷金属氧化物为主要材料的湿度传感器。测试了用含金属氧化物的厚膜硅或胶体涂印的传感器。此外, 还通过减小胶体电阻的办法提高响应速度。陶瓷湿度传感器会由于吸水、界面捕获现象和环境中, 分子等因素而使性能变坏。为防止这种情况, 又研制出能耐受定时加热清洗的传感器元件。本文设计所采用的湿度传

12、感器为湿敏电容式传感器。湿敏电容一般是用高分子薄膜电容制成的,常用的高分子材料有聚苯乙烯、聚酰亚胺、酷酸醋酸纤维等。当环境湿度发生改变时,湿敏电容的介电常数发生变化,使其电容量也发生变化,其电容变化量与相对湿度成正比。湿敏电容的主要优点是灵敏度高、产品互换性好、响应速度快、湿度的滞后量小、便于制造、容易实现小型化和集成化,但其精度一般比湿敏电阻要低一些。国外生产湿敏电容的主要厂家有Humirel公司、Philips公司、Siemens公司等。除电阻式、电容式湿敏元件之外,还有电解质离子型湿敏元件、重量型湿敏元件(利用感湿膜重量的变化来改变振荡频率)、光强型湿敏元件、声表面波湿敏元件等。2.3

13、空气温度的表示方法温度的表示方式有几种,我们常用的是摄氏度的表示方式,但不同的国家和不同的环境为了方便人们会用不同的表示方式,1、摄氏温度。目前被通常使用的一种温度表示方式,是设定在一个标准大气压下水的冰点为零度,沸点为100度,其中间分成100等分,每个等分被定为1摄氏度。2、绝对温度。是从物理学考虑到的最低温度(-273.15)作为0度;1度的刻度和摄氏相同,单位用K表示,0 K 被假定为分子的热运动处于静止状态时的温度;称之为“绝对温度”。绝对温度T(K)=摄氏温度t()+273.15 (1-1)3、华氏温度。早前规定冰和食盐的混合物温度为0度,冰点为32度,人们的体温为96度的表示方法

14、,单位为:;后来更改为水的温度为32度,沸点为212度中间分为180等分。摄氏温度t()=5/9 华氏温度()-32 (1-2)华氏温度()=9/5摄氏温度t()+32 (1-3)国际实用温标是一个国际协议性温标,它与热力学温标相接近,而且复现精度高,使用方便。目前国际通用的温标是1975年第15届国际权度大会通过的1968年国际实用温标-1975年修订版,记为:IPTS-68(Rev-75)。但由于IPTS-68温示存在一定的不足,国际计量委员会在18届国际计量大会第七号决议授权予1989年会议通过了1990年国际温标ITS-90,ITS-90温标替代IPTS-68。我国自1994年1月1日

15、起全面实施ITS-90国际温标。1990年国际温标(ITS-90)简介如下。 1温度单位 热力学温度(符号为T)是基本功手物理量,它的单位为开尔文(符号为K),定义为水三相点的热力学温度的1/273.16。由于以前的温标定义中,使用了与273.15K(冰点)的差值来表示温度,因此现在仍保留这各方法。 根据定义,摄氏度的大小等于开尔文,温差亦可以用摄氏度或开尔文来表示。 国际温标ITS-90同时定义国际开尔文温度(符号为T90)和国际摄氏温度(符号为t90) 2国际温标ITS-90的通则, ITS-90由0.65K向上到普朗克辐射定律使用单色辐射实际可测量的最高温度。ITS-90是这样制订的,即

16、在全量程中,任何温度的T90值非常接近于温标采纳时T的最佳估计值,与直接测量热力学温度相比,T90的测量要方便得多,而且更为精密,并具有很高的复现性。 3ITS-90的定义 第一温区为0.65K到5.00K之间, T90由3He和4He的蒸气压与温度的关系式来定义。 第二温区为3.0K到氖三相点(24.5661K)之间T90是用氦气体温度计来定义. 第二温区为平衡氢三相点(13.8033K)到银的凝固点(961.78)之间,T90是由铂电阻温度计来定义.它使用一组规定的定义固定点及利用规定的内插法来分度. 银凝固点(961.78)以上的温区,T90是按普朗克辐射定律来定义的,复现仪器为光学高温

17、计2。2.4 温度传感器的发展史温度传感器的发展大致经历了以下3个阶段:1、传统的分立式温度传感器(含敏感元件),主要是能够进行非电量和电量之间的转换。2、模拟集成温度传感器/控制器。3、智能温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、集成化向智能化及网络化的方向发展。温度传感器按传感器与被测介质的接触方式可分为两大类:一类是接触式温度传感器,一类是非接触式温度传感器。接触式温度传感器的测温元件与被测对象要有良好的热接触,通过热传导及对流原理达到热平衡,这时的示值即为被测对象的温度。这种测温方法精度比较高,并可测量物体内部的温度分布。但对于运动的,热容量比较小的及对感温元件有腐蚀

18、作用的对象,这种方法将会产生很大的误差。非接触测温的测温元件与被测对象互不接触。常用的是辐射热交换原理。此种测温方法的主要特点是可测量运动状态的小目标及热容量小或变化迅速的对象,也可以测量温度场的温度分布,但受环境的影响比较大。3 硬件电路设计图3-1 硬件原理框图本系统电源电路采用稳定的5V电压,使电路进行工作正常。单片机的定时/计数器来测量由湿度传感器电路所产生的频率值,并经过单片机的程序处理后,转换为相应的空气相对湿度,显示在数码管上。另一方面,单片机直接读取温度传感器中检测的温度值,再由单片机处理后传给数码管显示。如果测量温度超过设定的温度值,温度传感器立即向单片机发出信号,启动报警系

19、统。显示方式是通过按键控制的,由按键来控制湿度显示和温度显示的切换,在显示中,分别用“C”和“H”来表示温度和湿度的单位符号。根据以上分析,可将本电路划分为:电源电路和单片机电路模块、数码管显示和键盘控制模块、湿度检测模块、温度检测模块和报警电路模块。硬件结构框图如图3-1所示。3.1 电源电路和单片机电路模块图3-2 电源电路模块电源电路模块中,电源两端并联一个10uF的电解电容与105电容作为电源去耦电容。而电源和地的接线也是独立的,是为了在实际操作中避免电源与地的短路,而且也让产品的操作更加方便。EA/VP31X119X218RESET9RD17WR16INT012INT113T014T

20、115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1STC89C52Y112MHzC322pFC422pFX1X2VCCR34.7KVCCC510uFT0P16P17TXDP23图3-3 单片机电路模块本电路使用的STC89C52RC单片机是一种低功耗、高性能、高抗干扰的CMOS 8位微控制器,它的结构与MCS-51单片机产品完全兼容,8K字节在系统可编程Flash存储

21、器,三个16位定时器/计数器,六个中断源,32个可编程I/O口, 1000次擦写周期,全双工UART串行通道,低功耗空闲和掉电模式,掉电后中断可唤醒,看门狗定时器等3。单片机电路部分包括复位电路与晶振电路。复位电路部分采用上电复位方式。方便在使用过程中产品的复位。复位后单片机所有引脚高电平有效。单片机电路图如图3-2所示。晶振电路采用的是11.0592M的晶振和两个22pF电容组成使单片机正常工作。3.2 湿度检测模块本设计湿度检测模块使用的湿度传感器HS1101是法国Humirel生产的电容式湿度传感器。它具有以下特点:1. 全互换性,在标准环境下不需校正。2. 长时间饱和下快速脱湿。3.

22、可以自动化焊接,包括波峰焊或水没4. 高可靠性与长时间稳定性。5. 专利的固态聚合物结构。6. 可用于线性电压或频率输出回路。7. 快速反应时间。可见HS1101是不仅具有较高精度,还具有高可靠性的湿度传感器。它的湿度响应曲线接近线性,能够使设计更加的方便可靠。图3-4 HS1101的湿度电容响应曲线HS1101是基于独特工艺设计的固态聚合物结构,在电路中等效于一个电容器,其电容值随所测空气的相对湿度的增大而增大。具有极好的线性输出,在相对湿度为0%RH100%RH的范围内,电容的容量由163 pF变化到202 pF,其误差不超过2%RH;湿度量程为1%RH99%RH,工作的温度范围为-40+

23、100;湿度输出受温度影响极小(温度系数仅为0.04 pF/);常温下使用不需要温度补偿,也不用进行校准4。HS1101是一种在高分子薄膜上形成的电容。高分子薄膜上的电极是一种很薄的金属微孔蒸发膜,水分子被两端的电极被高分子薄膜吸附或释放,随着其水分子的吸附或释放,高分子的介电系数将发生相应的变化。由于介电系数随空气的相对湿度变化而变化,所以只要测定HS1101的电容值就可得到相对湿度。其湿度电容响应曲线如图3-4所示。为了能让单片机方便的读取HS1101电容值的变化,将HS1101接入555非稳态电路,把电容值的变化转换为频率值的变化,这样可以直接由单片机测出,不需要再经过A/D器件,简化了

24、电路的设计。图3-5所示5,HS1101作为电容变量接在555芯片的TRIG与THR两引脚上,引脚DIS用作电阻R4的短路,在R4上串联一个可变电阻,用作实际操作中调节R4的的阻值,使频率的计算更加方便。等量电容HS1101通过R1与R4充电到门限电压,通过R4放电到触发电平,然后R1通过引脚7短路到地,555振荡器输出口脚3与单片机14脚T0连接,达到输出频率到单片机的目的。R149.9KR4576KR51KR2909KC8HS1101TRIG2Q3R4CVolt5THR6DIS7VCC8GND1U2NE555VCCC7CAPT0R11图3-5湿度传感器电路模块555电路的非平衡电阻R2用作

25、内部温度补偿,目的是为了引入温度效应,使他与HS1101的温度效应相匹配,由于不同型号的555内部温度不常有所不同,R2的值必须与特定的芯片相匹配,为了保证在55%RH的典型湿度值时频率为6271HZ,R4也要做稍许修正。表3-16给出了本次设计中采用的频率输出参数(参考点:28,相对湿度:50%,输出频率:6271Hz)7。表3-1频率输出典型参数RH/%0102030405060708090100频率/HZ685267346618650363886271615260295901576656233.3 温度检测模块本次设计温度检测模块选用的是LM75A温度检测芯片。它的特性如下:1、提供环境

26、温度对应的数 字信息,直接表示温度。 2、对某一特定温度做出反应,可以配置成中断或者比较器模式。 3、小型8脚封装。 4、具有IC总线接口。 5、宽电源电压范围:2.8V5.5V。 6、温度范围:-55+125。7、提供0.125精度的11位ADC。 8、温度精度:-25+100时为2,-55+125时为3.9、可编程温度阀值和之后设定点。 10、低功耗设计,工作电流为250uA,掉电模式为3.5uA。 LM75A是一个使用了内置带隙温度传感器和-模数转换技术的温度-数字转换器,它也是一个温度检测器,可提供一个过热检测输出。LM75A 包含许多数据寄存器:配置寄存器(Conf),用来存储器件的

27、某些配置,如器件的工作模式、OS工作模式、OS极性和 OS故障队列等(在功能描述一节中有详细描述);温度寄存器(Temp),用来存储读取的数字温度;设定点寄存器(Tos & Thyst),用来存储可编程的过热关断和滞后限制,器件通过 2 线的串行 IC 总线接口与控制器通信。LM75A 还包含一个开漏输出(OS),当温度超过编程限制的值时该输出有效。LM75A有 3个可选的逻辑地址管脚,使得同一总线上可同时连接8个器件而不发生地址冲突。LM75A可以在-55+125的温度范围内将温度直接转换为数字信号存储在内部寄存器中,并可实现0.125的精度。MCU可以通过IC总线直接读取其内部寄存器中的数

28、据,并可通过IC对4个数据寄存器进行操作,设置成不同的工作模式 8。R610kR810kR710kC60.1uFVCCVCCSDA1SCL2OS3GND4VCC8A07A16A25U3LM75ATXDP16P17 图3-6温度传感器模块如图3-6所示,LM75A的时钟和数据串口及OS过热关断输出与单片机相接,并且分别接10K的上拉电阻,而A0,A1,A2数字输出的地址线全部接地,表示只有一个地址。温度的报警是由LM75A设置的,由于该芯片中设定点寄存器(Tos & Thyst),特定用来存储可编程的过热关断和滞后限制,器件通过 2 线的串行 IC 总线接口与控制器通信。LM75A 还包含一个开

29、漏输出(OS),当温度超过编程限制的值时该输出有效。所以当设置了过热关断点和滞后点以后,检测温度达到设置温度值,OS输出有效,单片机收到OS是信号后,启动报警装置,当检测温度下降到滞后点后,OS输出无效,报警接触。图3-79所示的就是OS的响应温度时序图。 图3-7 OS响应温度*OS 可通过读寄存器或使器件进入关断状态来复位。假设故障队列在每个Tos 和Thyst 交叉点处都被满足。3.4 数码管显示和键盘控制模块本设计由于STC89C52RC单片机P0口没有内部上拉电阻,所以在接数码管时需要外接上拉电阻。本设计采用一个4位8段共阴数码管作为显示,由P0口提供段选,P2.4-P2.7提供位选

30、码,上拉电阻选用2.2K的排阻。本设计提供一个按键作为温度和湿度显示的切换功能。连接的是P2.2口。3.5 报警电路模块当前温度和湿度值分别超过LM75A内设定的温度和单片机设定的湿度值时,单片机将置低P2.3,三极管Q1导通,蜂鸣器将发出报警声。报警电路模块如图3-8所示。图3-8 报警电路原理4 软件设计软件设计是本次设计的另一个重点,在此次设计中,采用C语言进行程序的编写,程序可读性较高,易理解和修改。对频率的计数采用中断方式,节省CPU资源,读出的频率转换为湿度值输出时采用查表方式,提高运算速度,降低运算难度。4.1 主程序的设计主程序流程图如图4-1所示。在主程序中,首先对中断及各类

31、寄存器状态进行初始化,将T0作为计数器,对测湿度的振荡电路进行计数,T1作为定时器每隔1/20秒产生一次中断,在中断程序中读取计数器的值并对其进行处理,计算出湿度。初始化完成后主程序将依次运行温度采集、数码管显示、报警控制、按键判断等子例程并不断循环。温度采集时通过IC总线与LM75A通信,采集到LM75A的寄存器中存储的相关数据并对其进行处理,转换为温度值。报警控制则是判断湿度值是否超出或低于正常值以及LM75A的OS端是否发出报警。如果超出范围或者OS端发出报警的话,就把控制蜂鸣器的端口置1,使得蜂鸣器工作。开始初始化寄存器、IO口状态初始化LM75A的报警温度和报警延滞温度从LM75A读

32、出温度数据并转换为相应温度控制蜂鸣器工作显示温度显示湿度转换模式检查LM75A是否报警检查按键是否按下显示模式是否为温度是是是图4-1 主流程图显示子程序对显示模式标志进行判断,根据显示模式的不同则显示不同的单位以及数值(温度值或者湿度值)。进行按键判断时如果发现按键被按下则首先进行软件延时去抖。如果判断是按键按下的话,若显示模式是显示温度则换为显示湿度;若显示模式是显示湿度的话则换为显示温度。4.2 中断函数设计开始结束关中断,定时器1复位,赋定时1/20秒初值计数器0是否溢出清除溢出标志采集计数值计算湿度计数器0复位重新开中断是图4-2 中断流程图中断流程图4-2所示。当定时器1中断到来时

33、,将调用中断服务程序。中断服务程序执行后,先关闭中断,防止因为别的事情产生的中断影响此服务程序。然后判断计数器0是否溢出。若果计数器0溢出的话则是不正常,因为根据设计振荡器频率不过超过8000Hz。所以如果溢出的话就放弃本次的数据。如果正常的话就对其进行相应的运算,计算出相应的湿度。为了方便并且简化运算,本程序使用分段的一次函数来逼近实际的湿度-频率曲线。5 调试与测试测试过程分为硬件调试和软件测试。硬件部分采用万用表对硬件进行静态分析,检查各电路是否能够正常工作。之后使用示波器,观察晶振与频率产生是否正常。软件部分使用Keil软件进行程序的编写和调试,并通过Proteus与Keil软件进行湿

34、度模块的仿真连调(由于在Proteue软件里没有LM75A芯片,所以无法进行温度模块的仿真),修改程序中的错误。最后进行软件与硬件的连调工作,检查能否达到技术要求,并实现预定功能,5.1 软件调试将程序调入Proteus原理图,运行仿真。由于Proteus中无HS1101和LM75A,所以只能用以电容代替HS1101做湿度功能的仿真,通过对照电容值-湿度值表格,改变替代HS1101的电容值,观察输出频率变化是否正常,数码管湿度数值是否正常。经过测试,程序各功能正常,显示数值达到预定目标,程序运行中无不正常现象,说明程序基本完成,达到预期要求。仿真图如图5-1所示。图5-1仿真原理图5.2 电源

35、及硬件电路调试测试仪器包括数字万用表、示波器、+5V USB电源,温湿度表等。在通电前,先用数字万用表的蜂鸣器测试电路板是否有虚焊,漏焊,短路和断路现象,避免在通电调试时,由于电路焊接问题影响电路的正常工作。通电后,用数字万用表对每个芯片管脚进行测试,检查各芯片供电是否正常。检查单片机为空的时,各管脚高低电平是否正常。用示波器测量晶振是否起振,单片机频率是否正常。用示波器观察555振荡器输出引脚输出的频率是否正常。烧制程序,观察数码管显示是否正常,按键控制是否正常。测试结果每个芯片的供电达到5V要求,晶振与555振荡器频率符合要求,数码管显示正常,各按键功能符合要求,基本完成硬件预期功能。5.

36、3 湿度电路调试将程序烧入单片机之后,接通电源,数码管显示出当前环境相对湿度值,人为减湿(使用吹风机吹风),湿度值降低。停止吹风后,看见数码管显示中,湿度值明显回升,说明本机湿度传感器焊接到位,设计合理,达到功能要求。在实际的调试中,由于刚开始电路的错误而无法起振,所以对NE555的各引脚进行了电压的测试,便于查找错误。表5-1是NE555正常工作后,各引脚的电压值。表5-1 芯片NE555正常工作的引脚电压表引脚1-GND2-TRIG3-OUT4-RET5-CV6-THR7-DISC8-VCC电压值(V)00.013.45/1.510.593.310.014.48/0.014.99在实际测试

37、中,通过吹风机能降低到最低相对湿度36h,通过对着湿度传感器呼气能升高到相对湿度的最高值82h,如表5-2,是HS1101湿度和555振荡电路所对应的频率值。表5-2 HS1101湿度和频率值对应表相对湿度(h)827060504036对应频率(Hz)6007620162866425654565725.4 温度电路调试在电路接通之后,数码管显示出当前环境中空气温度,人为的升高温度(用吹风机的热风档吹风),温度升高。停止吹风后,看见数码管显示的温度值明显降低。当温度升至芯片内部设定温度值时,使用万用表查看芯片的OS引脚有电平的改变,证明芯片本身的报警装置已经启动,说明本机温度传感器焊接到位,设计

38、合理,达到功能要求。5.5 报警电路调试在程序中将上限报警值设定存入LM75A,加温后,让当前湿度值不小于报警上限,蜂鸣器鸣叫,上限报警功能正常。在程序中设置湿度的上限报警值,当湿度超过上限值时,报警系统启动,说明报警电路设计合理,完全符合程序控制,功能实现。5.6 按键测试电路连接电源之后,将相关程序烧入单片机,要求预设的按键控制温度和湿度显示模式。经过测试,按下按键,数码管显示符合按键预设功能。通过多次测试,与理论预设的完全一样。这样就说明了本机按键电路设计合理,电路焊接到位。6 结论与展望6.1 全文总结本文所介绍的是基于LM75A和HS1101的智能温度湿度检测系统的设计与实现,主要阐

39、述了硬件设计中的各模块设计和软件的设计。在设计中将温度和湿度的检测分别用了两个传感器来分别检测,是为了使每一方面的检测在独立的状态下更加的简单和精确,也方便了之后调试的方便。另外温度检测芯片是直接将内部传感器测量的温度转换为数字信号直接传给单片机,而湿度传感器是用555振荡电路来实现湿度-频率的转换,所以一个是数字信号,一个是模拟信号,在电路设计时,需要将两部分分开布置,避免不同信号的干扰。在报警电路方面,温度采用的是温度检测芯片设定的报警值,有上限设定点和滞后点,当温度达到上限设定值后报警,当温度下降到滞后值时取消报警。湿度报警是由单片机设置,当超过了设定的报警值后,启动蜂鸣器。各项功能基本

40、实现,达到设计目标。在毕业设计中,通过自己的学习与研究,特别是将书本和自己搜索的资料结合一起时在实际中运用,让我更加的掌握了理论知识,加深了理论和原理的了解,让我更深刻的理解到处理实际问题时所面临的困难以及全面考虑问题的重要性。在这个设计过程中,提升了查阅文献资料的水平,增加了独立思考解决问题的能力,提高了了单片机硬件设计和软件编写的水平。不过由于对51单片机程序编写的不完善性以及传感器本身的误差,还有由于不熟悉液晶显示软件运用,在显示这方面也没有做的更好,无法设计更高精度的温湿度检测系统。下一步研究可以在显示上使用液晶显示,完善产品的可操作性,更要着重于配合更好精度的传感器,如何在单片机中处

41、理更高位数的数据,以增强测量精度,再配合其他器件,达到控制环境湿度和温度的目标。6.2 前景展望随着科技的发展以及人们生活需求的不断增加和提升,对各种环境中空气的湿度和温度的要求也越来也大。特别是民用的,体积小巧,价格低廉智能温度和湿度检测系统将有很大的市场前景。本文研究的是基于LM75A和HS1101的智能温度和湿度检测系统,有了初步的进展,不过可以通过对电路的改进和程序的加深使两者的功能得到更加高效的发挥。未来的智能温湿度检测系统仪器外观更加好看,形状更加小巧,操作更加简便,数据更加全面,精度更加准确。另外,将延伸更多的附加功能,例如在电力的维持方面将更加的长久,在不同的领域根据不同的需求

42、设计相应的功能产品,根据消费者的需要,添加灯光,语音控制,电子音乐报警,在智能方面,可以通过设定使用者的爱好,在不同的季节和不同的天气自动控制温湿度的变化等。总而言之,温度和湿度的检测将有更科学,更高性能,更长久的发展10。参考文献1 中华人民共和国卫生部. GBT 18204.14-2000. 中华人民共和国国家标准公共场所空气湿度测定方法.北京:中国标准出版社,20002 温度及其表示方法.老茶的BLOG,文化教育类,20093张俊谟,单片机中级教程M.北京:北京航空航天大学出版社,1996,75-854 HUMIREL.HPC001.Relative Humiditu Sensor HS

43、1101/HS1101Z.HUMIREL,2002 5杨志忠,数字电路技术基础.北京:高等教育出版社,2004,288-2896 湿度传感器HS1101的原理与应用.中国电子科技信息网7冉彦中,基于单片机的军需仓库温湿度测控系统研究,中国学术期刊电子杂志社,20088数字温度传感器和温度监控器LM75A.周立功单片机公司网站,20049LM75A Digital temperature sensor and thermal watchdog TM.PHILIPS,200410新一代TESTO温湿度记录仪系列温湿度长期记录的最佳帮手.德国仪器国际贸易有限公司,德国中国总部网站,2011致 谢本文

44、是在胡仕兵老师的关心和指导下完成的,他耐心的指导和渊博的知识使我受益匪浅,胡老师的指导和我所学习到的知识将使我终身受用,特别是胡老师的指导使我能顺利完成本课题。在此向他表示我最衷心的感谢!论文完成过程中,我还得到了许多同学的帮助,在这里向他们表示诚挚的谢意。感谢所有给与我帮助的老师与同学。感谢我的家人给予我的支持与鼓励。最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!附 录1:设计实物图342:主程序/* 定义相关变量,wet0,wet1,(记录频率的变量)wetdata(湿度),tempdata(温度)*/unsigned char wet0=0,wet1=0;int wetdata

45、 = 0;int tempdata = 0;#includereg52.h#includeLM75A.h#includeHS1101.h/* 定义定时器定时时间,1/20秒*/#define THdef0x4b#define TLdef0xff/* 定义端口*/sbit BUTTON = P22;sbit BUZZER = P23;sbit INFORM = P31;/*显示模式,显示温度或者显示湿度*/#define DIS_TEMP 1#define DIS_WET2/*数码管码表*/unsigned char tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

46、0xf8,0x80,0x90; /0, 1, 2 3 4 5 6 7 8 9/*延时*/void delay_xms (unsigned int count) register unsigned char j;while (count -)for (j=0;j 999) i=999;else if (i -99) i=-99;/* 第一个数字,正负号或者数字*/if (i 0) P0 = 0x40;i = -i; else if (i/100 = 0) P0 = 0x00; else zero_con = 0;P0 = tabi/100;P2 = p2ori|(0x10);i%=100;del

47、ay_xms(1);/* 第二个数字,显示数字 */if (i/10 = 0 & zero_con) P0 = 0x00;else P0 = tabi/10;P2 = p2ori|(0x20);delay_xms(1);/*第三个数字,显示数字*/P0 = tabi%10;P2 = p2ori|(0x40);delay_xms(1);/* 第四个数字,显示单位,C或者H */if (mode = DIS_TEMP)P0 = 0x39;elseP0 = 0x76;P2 = p2ori|(0x80);/*定时器1,用于定时1/20秒,然后从计数器0中读出计数值,计数值乘以20即频率,根据频率即可换

48、算出相应数据*/void timer1() interrupt 3 int a,b;/*为防止意外,关闭中断,并且复位1/20秒的定时器*/ EA=0;TR0=0;TR1=0;TL1=TLdef;TH1=THdef;/* 如果计数器0溢出则不正常,因为计数器0的计数最大为65535,是不可能溢出的 */if (TF0) wet0 = 0;wet1 = 0;TF0 = 0;/*没有溢出的话,读取数据并计算。计算时为减轻计算量使用分段的一次函数拟合原曲线。相关参数定义在HS1101.h中 * 一次函数对应为rh=f*a+b,为减小整形除法带来的小数忽略造成的误差,更改为rh=(b-f*10)/a

49、*/ else wet0=TL0;wet1=TH0;wetdata=wet0|(wet1= wetf0 & wetdata = wetf1 & wetdata = wetf2 & wetdata = wetf3 & wetdata = wetf4 & wetdata = wetf5 & wetdata = wetf6 & wetdata = wetf7 & wetdata = wetf8 & wetdata = wetf9 & wetdata = 100) ci = 0;read_intpre();tempdata=tempdata/8; else delay_xms(1);INFORM =

50、1;if (INFORM = 0 | tempdata = 40) BUZZER = 0;/* 根据现实模式不同显示不同数据 */if (dis_mode = DIS_TEMP) Led_Display(tempdata,DIS_TEMP);/tempdata else Led_Display(wetdata,DIS_WET);/wetdata/* 视察按键是否被按下。如果按键被按下过又没有弹起的话会进入else if。 */if (i = 0 & BUTTON=0) BUTTON = 1;for (i = 100; i 0; i-);/按键去抖/*更改显示模式*/if (BUTTON=0)

51、if (dis_mode = DIS_TEMP) dis_mode = DIS_WET;else dis_mode = DIS_TEMP;BUTTON = 1;i = 222;/*在按键被下过而又没有弹起的情况下会进入这个else if。 */ else if (i = 222) BUTTON = 1;if (BUTTON) i = 0;3:LM75A的部分程序/* * 重要说明: * 程序中某些地方使用函数时会使得程序出现未知的错误,使得IC的时序混乱, * 考虑到相关的IC操作都是固定的,因此全过程使用开放式代码, * 因此下面两个主要例程read_intpre(void)和write_l

52、imit(void)中使用 * 的都是由宏定义包装的子例程,并不具有独立性。 */*读取温度数据,相关时序请参照PDF * 把其中的某些部分包装为函数时会产生某种错误使得读出的数据有误,因此在此全部使用开放式代码 */unsigned int read_intpre(void) unsigned char th=0,tl=0;i2c_start;lm75_write_cmd;if_no_ack return 0;lm75_pt_to_TEMP;if_no_ack return 0;i2c_restart;lm75_read_cmd;if_no_ack i2c_end;return 0;/*读取

53、第一个数据 */i2c1;if(SDA_LM75) th|=0x80;i2c1;if(SDA_LM75) th|=0x40;i2c1;if(SDA_LM75) th|=0x20;i2c1;if(SDA_LM75) th|=0x10;i2c1;if(SDA_LM75) th|=0x8;i2c1;if(SDA_LM75) th|=0x4;i2c1;if(SDA_LM75) th|=0x2;i2c1;if(SDA_LM75) th|=0x1;ack;/*读取第二个数据 */i2c1;if(SDA_LM75) tl|=0x80;i2c1;if(SDA_LM75) tl|=0x40;i2c1;if(SDA_LM75) tl|=0x20;i2c1;if(SDA_LM75) tl|=0x10;i2c1;if(SDA_LM75) tl|=0x8;i2c1;if(SDA_LM75) tl|=0x4;i2c1;if(SDA_LM75) tl|=0x2;i2c1;if(SDA_LM75) tl|=0x1;no_ack;i2c_end;tempdata = (tl5)|(th5)|(th3);/* * 设置极限温度,相关时

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

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

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


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