湿度测量仪设计.docx

上传人:李司机 文档编号:7054858 上传时间:2024-06-05 格式:DOCX 页数:23 大小:57.33KB
返回 下载 相关 举报
湿度测量仪设计.docx_第1页
第1页 / 共23页
湿度测量仪设计.docx_第2页
第2页 / 共23页
湿度测量仪设计.docx_第3页
第3页 / 共23页
湿度测量仪设计.docx_第4页
第4页 / 共23页
湿度测量仪设计.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《湿度测量仪设计.docx》由会员分享,可在线阅读,更多相关《湿度测量仪设计.docx(23页珍藏版)》请在三一办公上搜索。

1、鄂州桂工业学浣课程设计说明书题目:智能仪器仪表设计与实践姓名:徐萍院(系):电气信息工程学院专业班级:自动化01班学号:541101010144指导教师:李银华齐汝宾成绩:时间:2015年01月Ql日至2015年01月23_0郑州轻工业学院课程设计任务书题目湿度测量仪设计专业、班级:自动化Il-Ol学号:541101010144姓名徐萍主要内容、根本要求、主要参考资料等:主要内容 实现单片机和湿度传感器完成湿度测量功能。 相对湿度(探头)范围:595%。 具有数字显示功能 参数设置功能和数据通信功能根本要求 明确课程设计任务,复习和查阅相关资料。 按照要求对设计进行说明,给出总体设计方案,设计

2、原理。 软件编程必须有流程图,程序必须加注释,各程序段的开始要注明该段功能和作用。 写出体会和总结要求使用B5打印稿或16开纸手写,不少于5000字。格式遵照学校规定。主要参考资料孙环,滕召胜.基于SIrnO单片集成传感器温湿度检测模块设计j.国外电子测量技术,2006,25(6).樊建明,陈渊睿.基于SHTlO的温室多点测量系统设计J.国外电子测量技术,2006,25(11).陈钊,郭永彩,高潮,等.微环境温湿度智能化测量仪研究J.仪器仪表学报,2004,25(5).完成期限:2015年1月23日指导教师签名:课程负责人签名:2015年1月5日摘要温湿度测量仪是对环境温湿度进行现场检测的常用

3、仪表,讨论了一种基于SHTlO的数字温湿度测量仪的设计方法。该温湿度测量仪的控制系统采用AT89S51单片机,温湿度传感器采用SHTll为主要硬件,实现简易数字式温湿度测量仪的硬件电路与软件程序的设计。实践证明该温湿度测量仪具有测量精度高等特点,具有一定的实用价值。采用单片机和温湿度传感器构成的数字温湿度测量仪显得非常重要,数字温湿度测量仪已被广泛应用于电子测量、仪表自动化、温室大棚、自动控制等多个智能化领域中。在过去某些场合经常采用热敏电阻和湿度电容来分别测量环境的温湿度,这种测量系统普遍精度不高,而且在多点测量时系统设计较为复杂。而采用SHTlO这种集温湿度传感器于一体的数字集成式传感器,

4、那么会使得系统大大降低本钱,简化设计。关键词:SHT10;AT89S51;湿度传感器1绪论错误!未定义书签。1.1 数字式湿度测量仪设计的意义O1.2 国内外研究现状O1.3 设计主要任务22总体设计方案22.1系统综述22.2方案选择32. 3总体设计方案设计43系统的硬件设计43.1系统的硬件电路53. 2单片机与SHT10连接电路图63. 3LED显示电路的设计73. 4报警电路83. 5键盘模块84系统的软件设计84. 1主程序框图84.2数据显示程序框图9总结9参考文献9附录110附录2171绪论在日常生活或者工农业生产中,经常会需要检测环境的温湿度,因此采用单片机和温湿度传感器构成

5、的数字温湿度测量仪显得非常重要,数字温湿度测量仪已被广泛应用于电子测量、仪表自动化、温室大棚、自动控制等多个智能化领域中。在过去某些场合经常采用热敏电阻和湿度电容来分别测量环境的温湿度,这种测量系统普遍精度不高,而且在多点测量时系统设计较为复杂。而采用SHTlO这种集温湿度传感器于一体的数字集成式传感器,那么会使得系统大大降低本钱,简化设计。1.1 数字式湿度测量仪设计的意义随着工业自动化的愈趋完善,各种各样的传感器被用在了各式各样的场合。而湿度这个重要的参数成为了实现过程控制自动化必不可少的过程。换言之,问题具体化为了选择怎样的传感器及如何去检测湿度的变化,并根据检测结果调整系统以使之保持在

6、最正确工作状态。此外,单片机技术的不断开展完善使单片机已经成为科技领域的重要工具,广泛应用于各种仪表中,由于单片机具有体积小、耗能小、功能强的特点,引入单片机可使仪表数字化、智能化、微型化,提高测试的自动化程度和精度。将单片机和SHTlO结合的数字式湿度测量仪,大大提高了观测精度,数值显示清晰度,将会取得很好的应用效果。总之,环境湿度的检测与调节仪器的设计和开发具有非常大的市场前景和实用价值。1.2 国内外研究现状湿度由于受到温度、大气压强的影响,其标准是个难题。从早期的毛发湿度计到后来开展起来的电阻式、电容式温度计,由于他们存在着热敏元件的长期稳定性差,需要常常进行外表的清洗及校准,造成使用

7、不方便,而且精度较差的缺陷,因此,最常采用的方法依然是干湿球间接测湿法,但是干湿球温度与湿度的关系比拟复杂,模拟仪表难以实现这种转换,通常是借助人工计算或查表求出相对湿度,随着单片机的开展,使一些繁重而复杂的人工计算自动完成。后来开展到利用湿空气光学特性的红外、紫外吸收湿度计乃至光纤湿度计,但是到目前为止,全世界还没有一种完全理想的测湿材料,原因在于湿敏元件的线性化一直是困扰人们的一个难题,测量仪表数字化后,要求相对湿度与显示值线性化的对应关系才能保证湿度的测量精确度。目前,国外生产集成湿度传感器的主要厂家及典型产品分别为HOneyWell公司(HIH-3602、HIH-3605HlH-361

8、0型),HUmireI公司(HMI500、HM1520HF3223HTF3223型),SenSirOn公司(SHTlKSHTl5型)。这些产品可分成以下三种类型:(1)线性电压输出式集成湿度传感器;典型产品有HIH3605/3610.HM15001520o其主要特点是采用恒压供电,内置放大电路,能输出与相对湿度呈比例关系的伏特级电压信号,响应速度快,重复性好,抗污染能力强。(2)线性频率输出集成湿度传感器;典型产品为HF3223型。它采用模块式结构,属于频率输出式集成湿度传感器,在55%RH时的输出频率为875OHZ(型值),当上对湿度从10%变化到95%时,输出频率就从956OHZ减小到80

9、30Hz。这种传感器具有线性度好、抗干扰能力强、便于配数字电路或单片机、价格低等优点。(3)频率/温度输出式集成湿度传感器;典型产品为HTF3223型。它除具有HF3223的功能以外,还增加了温度信号输出端,利用负温度系数(NTC)热敏电阻作为温度传感器。当环境温度变化时,其电阻值也相应改变并且从NTC端引出,配上二次仪表即可测量出温度值。2002年Sensiron公司在世界上率先研制成功SHTlKSHT15型智能化温度/温度传感器,其外形尺寸仅为7.6(mm)5(mm)2.5(mm),体积与火柴头相近。出厂前,每只传感器都在温度室中做过精密标准,标准系数被编成相应的程序存入校准存储器中,在测

10、量过程中可对相对湿度进行自动校准。它们不仅能准确测量相对温度,还能测量温度和露点。测量相对温度的范围是0100%,分辨力达0.03%RH,最高精度为2%RHo测量温度的范围是-40C123.8C,分辨力为0.011.3 设计主要任务1 .设计的主要内容:(1)实现单片机和湿度传感器完成湿度测量功能。(2)相对湿度(探头)范围:595%o(3)具有数字显示功能。(4)参数设置功能和数据通信功能。2 .系统硬件电路设计,给出总体设计框图,而且详细描述各组成电路的设计原理及方法。3 .系统软件设计与实现,介绍数据采集程序、参数存储及校正程序、数码管显示程序、键盘程序等设计,给出了系统主程序框图及数据

11、显示程序框图。2总体设计方案2.1系统综述根据本设计内容要求的性能指标,方案设计时不仅要考虑怎么样实现测量一定精度的温湿度信号值的根本功能,还要考虑温湿度超限时系统的报警功能。根据设计要实现的功能,还要考虑系统控制芯片扩展口分配方案。选择AT89S51单片机就能够满足设计要求。作为工业用的环境检测类仪器,系统工作的可靠性,实用性,长久性指标也是系统在设计时值得考虑的几个因素。2.2方案选择(1)数字式这种方案在信号的采样、放大电路、报警设置以及报警电路等环节与第一种方案区别不大,只是在放大电路后采用了A/D转换电路,它将模拟量转换成数字量,然后经过驱动电路进行数码显示,它最大的好处是显示直观,

12、这是模拟式产品向智能式产品过渡的中间型产品,属于第二代仪表,在上个世纪80年代的设计中大都采用这种结构的方案,在日常生活中看到的大都是未被替换的产品。在目前的设计中,根本上是不采用这种方案。(2)智能式这是目前检测类仪器首选的方案,利用目前成熟的计算机技术,依靠计算机强大的处理能力,对数据前向通道采集到的湿度,温度数据进行判断、处理、存储,并可采用十分简单的方法通过显示驱动芯片将显示信息送出进行数码显示。对测量所得结果超限时的报警处理可以按照测量时间的不同情况分别设置不同的报警值。系统将会对测量回路巡回监测。目前国内外对温度和湿度测量产品有很多,但是大局部的产品都是用红外热辐射的传感器制作的。

13、这种产品结构复杂,价格昂贵并不适用于大气的测量。本设计使用比拟常见的温湿度传感器和价格廉价的电子元器件,实现检测系统的智能化。它还具有较高的平安性,可靠性,适用于一般的家庭。鉴于国外欧美等国家微电子技术的开展,在不少的测试领域,将一个系统的所有电路,包括CPU都集成在一块芯片上,构成一个集成的系统,况且这也是目前仪表开展的方向。所以本设计采用集成芯片SHTIO作为温湿度传感器。鉴于以上情况,本课题考虑到国内目前的现状,构成器件的来源以及微电子技术的开展趋势,本设计决定采用智能化的设计方案设计。2. 3总体设计方案设计该系统主要由AT89S51单片机系统,电源电路,复位及振荡电路,LED显示电路

14、,通信模块,键盘模块和报警电路等局部组成。如图2.1所示为总体方案设计框图。本方案采用单片数字温湿度集成传感器将湿度转换成数字信号,然后通过总线将信号传递给CPU。SHTlO采用CMC)S过程微加工专利技术,确保产品具有极高的可靠性。SHTlO将检测的湿度通过内部的AD转换器转换成数字信号,然后将信号输入单片机进入显示电路显示,期间可以按下按键定点显示此时刻湿度值,假设此环境的湿度值低于或者超过设限范围并进入报警电路,蜂鸣器能响起。图2T总体设计方案图3系统的硬件设计本设计的原理是一个基于单片机AT89S51与湿度传感器SHTlO等技术相结合主体,利用模拟湿度传感器SHTlO对某一环境的湿度进

15、行检测,实现对此环境湿度的测控,并将它的输出由单片机的软件对其进行校正处理,所得到的结果最终送给四位数码管显示,切带有湿度上下限的报警。该系统主要由AT89S51单片机系统,电源电路,复位及振荡电路,LED显示电路,通信模块,键盘模块和报警电路等局部组成。3. 1系统的硬件电路AT89S51单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作那么使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。3.1.1 单片机的电源模块直流电源的输入为220V的电网电压,所需直流电压的数值和电网电压的有效值相差较大,因而需要通过

16、电源变压器降压。再通过整流电路将正弦波电压转换为单一方向的脉动电压。为了减小电压的脉动,需通过低通滤波电路滤波,使输出电压平滑。理想情况下是可以将交流分量全部滤掉,但是因为受负载影响,加之滤波电路并不能到达理想效果。还需要参加稳压电路,使输出直流电压根本不受电网电压波动和负载电阻变化的影响。如图3.1电源电路所示。3. 1.2晶振及复位电路单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTALI和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。当51系列

17、单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种根本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=OOOOH,这说明程序从0000H地址单元开始执行。系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平

18、相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,假设为高电平那么执行芯片内部的程序代码,假设为低电平便会执行外部程序。如图3.2所示。图3-1单片机的供电电源电路3. 2单片机与SHT10连接电路图SHTxx单片数字温湿度集成传感器采用CMOS过程微加工专利技(CMOSenstechnology),确保产品具有极高的可靠性和出色的长期稳定性。该传感器由1个电容式聚合体测湿元件和1个能隙式测温元件组成,并与1个14位A/D转换器以及1个2-wire数字接口在单芯片中无缝结合,使得该产品具有功耗低、

19、反响快、抗干扰能力强等优点。SHTIo的特点主要包括以下几个方面:相对湿度和温度的测量兼有露点输出;全部校准,数字输出;接口简单(2-Wir6),响应速度快;超低功耗,自动休眠;出色的长期稳定性;超小体积(外表贴装);测湿精度4.5%RH,测温精度0.5(25)。SHTlO只需要通过两条线与AT89S51单片机的管脚连接即可进行串行通信,如图3.5,其中单片机的P2.2与SHTlo的DATA端相连,P2.1与SCK端相连,SHTlO的VDD接电源,GND接地。如图3.3单片机与SHTlO连接图所示。图3-3单片机与湿度传感器连接图3. 3LED显示电路的设计本方案采用LED显示方式湿度示数,所

20、有位的段选线并联起来,由一个8位I/O端口控制,而各位的阳极或阴极分别由相应的I/O端口控制,形成各位的轮流选通,即LED显示器分时轮流工作,每次只能使一个器件显示l5ms.由于人的视觉暂留现象和发光二极管的余晖效应,人眼仍感觉所有的器件同时显示,获得稳定的视觉效果。此种显示方式的优点是占用I/O端口少,随着高亮度LED数码管的出现,动态显示同样可以到达很好的显示效果。如图3.4所示为LED动态显示电路,LED显示器采用共阴极接法,单片机PO口作为段码输出口,P2.4P2.7口作为位码输出口。每次显示时,单片机将段码送至PO口,经过驱动器74LS244提供必要的驱动电流,送到各个LED显示器的

21、相应段;然后将位码送入P2.4P2.7口,再经过6反相驱动器,使其中一个LED的阴极变为低电平,这样对应该为显示器的段码有效,而其他位无效。一段时间以后,程序更换段码和位码,使下一个显示器选中并显示相应内容。如图3.4LED显示电路图所不O图3-4LED显示电路图3. 4报警电路报警电路由蜂鸣器,电阻,三极管组成,如图3.5报警电路图所示,当湿度值超过上下限范围时进入报警电路,蜂鸣器响。图3-5报警电路图3. 5键盘模块键盘局部如图3.6所示。由于整体电路不需要很多按键,所以用不到矩阵键盘的方案。单片机只需要检测哪个按键有了低电平,即可确定哪个按键被按下了。图3-6键盘局部电路图4系统的软件设

22、计4. 1主程序框图程序数据的一种理想方法是结构化程序设计方法。结构化程序设计是对利用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。根据系统的控制任务,本系统的软件设计主要由主程序、初始化程序、显示子程序、数据采集子程序和延时程序等组成。主程序框图:SHTlO温湿度子程序主要包括:SHTlO启动程序、应答位检测、湿度测量、湿度数据处理等,其主要流程图如图4.1所示。4-1SHTlO温湿度子程序流程图4.2数据显示程序框图数据显示程序框图如图4.2所示。显示子

23、程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。而显示子程序是其他程序所需要调用的程序之一,因此,显示子程序的设计就显得举足轻重,必须认真细心的编写。图4-2数据采集显示程序框图总结在完成课程设计的过程中,我在图书馆查阅了老师任务书上给出的相关资料,懂得了湿度测量仪的工作过程,并且能够和自己学过的知识很好的结合。本次课设是湿度测量仪设计,主要作用是实现单片机和湿度传感器完成湿度测量功能,且具有数字显示功能。课程设计旨在锻炼每位同学对所学知识的运用能力,自己设计一个合理的方案,不仅需要对该生产过程有最根本的理解,而且需要考虑采用何种方案,如何实现预期的效果,通过几天紧张的忙

24、碌,对过程控制这门课有了更深的了解,对上课中老师所讲的单片机及程序设计有了进一步了解,同时对各种不同系统选用什么样的电阻,电容有了进一步的理解,特别是SHTlO温湿度传感器的使用及工作原理有了深刻理解,就像老师说的,我们都应该对自己严格要求,只有把所学的知识牢牢掌握,才能适应不同工况下对产品的需求。参考文献1孙环,滕召胜.基于SHTlO单片集成传感器温湿度检测模块设计J.国外电子测量技术,2006,25(6):43-462樊建明,陈渊睿.基于SHTIl的温室多点测量系统设计J.国外电子测量技术,2006,25(11):4-8.3谢敏,徐会冬.智能传感器SHTIl在单片机嵌入式系统中的应用J.现

25、代电子技术,2005,28(14):89-91,94.4陈钊,郭永彩,高潮,等.微环境温湿度智能化测量仪研究J.仪器仪表学报,2004,25(5):620-623.5微机原理及应用黄冰等编著重庆:重庆大学出版社,20036谭浩强,C程序设计M.清华大学出版社,1998,L附录1系统的主程序及子程序001.#include002.#include003.0047*005.宏定义006.*/007.#defineuintunsignedint008.#defineucharunsignedchar009.#deflnenoACK0010.#deflneACK10U.#defineSTATUS_RE

26、G_W0x06O12.#defineSTATUS_REG_R0x07O13.#deflneMEASURE_TEMP0x03O14.#deflneMEASURE_HUMI0x05O15.#deflneRESETOxle016.017.enumTEMP,HUMI);018.019.typedefunion/定义共用同类型020.(021.Unsignedinti;022.floatf;023.value;025.026./*027.位定义028.*/029.sbitIcdrs=Pl0;030.sbitlcdrw=Pll;031.sbitIcden=P12;032.sbitSCK=P22;033.s

27、bitDATA=P21;034.0357*036.变量定义037.*/038.uchartable2=SHTl1温湿度检测”;039.uchartable3=温度为:”;040.uchartable4=湿度为:”;04l.uchartable5=.u;042.ucharwendu6;043.ucharshidu(6;044.045./*046.1ms延时函数047.*/048.voiddelay(intz)049.(050.intx,y;051.for(x=z;x0;x)052.for(y=125;y0;y-);053.054.0557*056.50us延时函数057.*/058.voidde

28、lay_50us(uintt)059.(060.uintj;061.for(;t0;t-)062.for(j=19;j0;j-);063.)064.0657*066.50ms延时函数067.*/068.voiddelay_50ms(uintt)069.(070.uintj;071.for(;t0;t)072.for(j=6245;j0;j-);073.074.192*193.LED显示函数94*/195 .Voiddisplayshidu(Void)196 .(197 .uchari;198 .write-com(0x8C);199.for(i=0;i3;i+)200. (201.write-

29、dat(shidui);202.delay_50us(l);203.204.for(i=0;il;i+)205.(2O6.write_dat(table5il);207.delay_50us(l);208.209.for(i=4;i0;i=l)高位为1,循环右移223 .(224.if(i&value)DATA=1;/和要发送的数相与,结果为发送的位225.elseDATA=0;226.SCK=1;227._nop_();_nop_();_nop_();/MW3us228.SCK=0;229.230.DATA=1;/释放数据线23LSCK=I;232.error=DATA;/检查应答信号,确认

30、通讯正常233._nop_();_nop_();_nop_();234.SCK=0;235.DATA=1;236.returnerrorerror=1通讯错误237.238.2397*240.SHTlO读字节程序24.*/242.chars_read_byte(unsignedcharack)243.(244.unsignedchari,val=0;245 .DATA=1;/释放数据线246 .for(i=0x80;i0;i=l)高位为1,循环右移247 .(248.SCK=1;249.if(DATA)val=(vali);/读一位数据线的值250.SCK=0;251.252.DATA=!ac

31、k;/如果是校验,读取完后结束通讯;253.SCK=1;254._nop_();_nop_();_nop_();/SW3us255.SCK=0;256._nop_();_nop_();_nop_();257.DATA=1;/释放数据线258.returnval;259.)260.2617*262.SHT10启动传输263.*/264.voids-transstart(void)265 .(266 .DATA=1;SCK=0;/准备267 ._nop_();268.SCK=1;269._nop_();270.DATA=0;271._nop_();272.SCK=0;273._nop_();_no

32、p_();_nop_();274.SCK=1;275._nop_();276.DATA=1;277._nop_();278.SCK=0;279.)280.281.2827*283.SHT10连接复位284.*/285. voids_connectionreset(void)286. (287.unsignedchari;288 .DATA=1;SCK=0;/准备289 .for(i=0;i9;i+)DATA保持高,SCK时钟触发9次,发送启动传输,通迅即复位290 .(291.SCK=I;292.SCK=0;293.294.s_transstart();启动传输295.)296.2977*29

33、8.SHT10温湿度检测299.*/300 .chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode)301 .(302 .unsignederror=0;303 .Unsignedinti;304 .305 .s_transstart();启动传输306 .switch(mode)/选择发送命令307 .(308 .caseTEMP:error+=s_write_byte(MEASURE_TEMP);break;测量温度309 .caseHUMI:error+=s_write_byte(MEASU

34、RE_HUMI);break;测量湿度3Iddefaultbreak;311 .312 .for(i=0;iv65535;i+)if(DATA=0)break;等待测量结束1.1 .if(DATA)error=l;/如果长时间数据线没有拉低,说明测量错误314 .*(p_value)=s_read_byte(ACK);读第一个字节,高字节(MSB)315 .*(p_value+l)=s_read_byte(ACK);/读第二个字节,低字节(LSB)316 .*p_checksum=s_read_byte(noACK);/readCRC校验码317 .returnerror;/error=1通讯

35、错误318 .3197*320.SHT11温湿度值标度变换及温度补偿321.*/322.voidcaIjSth10(float*p_humidity,float*p_temperature)323.(324.constfloatC1=-4.0;/12位湿度精度修正公式325.constfloatC2=+0.0405;12位湿度精度修正公式326.constfloatC3=0.0000028;12位湿度精度修正公式327.constfloatTl=+0.01;14位温度精度5V条件修正公式328.constfloatT2=+0.00008;14位温度精度5V条件修正公式329.330.float

36、rh=*p_humidity;/rh:12湿度331.floatt=*p-temperature;/1:14温度332.floatrhjin;/rh_lin:湿度linear值333.floatrh_true;/Zrh_true:湿度ture值334.floatt_C;/t_C:温度335.336LC=t*0.0140;补偿温度337.rhJin=C3*rh*rh+C2*rh+Cl;相对湿度非线性补偿338.rh,rue=(LC25)*(Tl+T2*rh)+rhin;相对湿度对于温度依赖性补偿339.if(rh-true100)rh_true=l00;湿度最大修正340.if(rh_true0

37、.1)rh_true=0.1;湿度最小修正341.342.*p_temperature=t_C;返回温度结果343.*PJlUmidity=rh_true;返回湿度结果344.3457*346.主函数347.*348.Voidmain(Void)349.350.unsignedinttemp,humi;35Lvaluehumi_val,temp_val;定义两个共同体,一个用于湿度,一个用于温度352.unsignedchareor;/用于检验是否出现错误353.Unsignedcharchecksum;CRC354.initl28641cd();355.displayl();356.disp

38、lay2();357.display3();358.s_connectionreset();启动连接复位359.while(l)360.(361.error=OJ/初始化error=0,即没有错误362.error+=s_measure(unsignedchar*)&temp_val.i,&checksum,TEMP);/温度测量363.error+=s_measure(unsignedchar*)&humi_val.i,&checksum,HUMI);/湿度测量364.if(error!=0)s_connectionreset();/如果发生错误,系统复位365.else366 .367 .

39、humi_val.f=(float)humi_val.i;转换为浮点数368 .temp_val.仁(float)temp_val.i;转换为浮点数369 .caIjSthlO(&humi_val.f,&temp_val.f);修正相对湿度及温度370.temp=temp-val.f*10;371.humi=humi_val.f*10;372.wendu0=temp/100(W,温度百位373.wendu1=temp%1000/100+0;温度十位374.wendu2=temp%100/10+0;温度个位375.wendu3=0x2E;/小数点376.wendu4=temp%10+。;/温度小数点后第一位377.displaywendu();378.shidu0=humi/I(XX)+0;/湿度百位379.shidul=humi%1000/100+0;湿度十位380.ShidU=humi%100/10+0;湿度个位381.shidu3=0x2E;/小数点382.shidu4=humi%10+O;/湿度小数点后第一位383.displayshidu();384.385.delay(800);/等待足够长的时间,以现行下一次转换386.387.附录2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号