1、实用文档之基于单片机的温湿度检测毕业论文实用文档之基于单片机环境温湿度测量系统设计 课程: 现代检测技术 学院: 信息工程学院 专业: 计算机科学与技术 学号: xxxxxxxxxx 姓名: xxx *基于单片机环境温湿度测量系统设计摘要在工农业生产和日常生活中,需要了解温湿度等各种参数。一此对环境温度要求比较高的场合,都必须严格的控制环境的温度与湿度,让其保持在一定的范围内。本次设计选用的温湿度传感器为DHT11,时间处理芯片为DS1302,采用AT89S52作为系统的控制核心,4位7段数码管作为系统的显示,并有报警电路,当系统超过设定的温度范围时,启动报警。用户可以通过按键自行设定报警温度
2、的范围。关键字:温湿度传感器 DHT11 AT89S52AbstractsIn the industrial and agricultural production and daily life, need to know various parameters such as temperature and humidity. One of the environment temperature more demanding occasions, must be strictly control the environment temperature and humidity, let it
3、in a certain range. This design selection the temperature and humidity DHT11,and use the chip DS1302 to process the time .As the control system using AT89S52 devices core, four 7 period of digital tube as system shows, and have the alarming circuit, when the system more than set temperature range, s
4、tart alarm. The user can through the keys set alarm temperature range.Key words: Temperature and humidity sensor DHT11 DS1302 AT89S521绪论1.1温度、湿度简介由于温度与湿度不管是从物理量本身还是在实际人们的生活中都有着密切的关系,所以温湿度一体的传感器就会相应产生。 温湿度传感器是指能将温度量和湿度量转换成容易被测量处理的电信号的设备或装置。 市场上的温湿度传感器一般是测量温度量和相对湿度量。温度:度量物体冷热的物理量,是国际单位制中7个基本物理量之一。在生产和
5、科学研究中,许多物理现象和化学过程都是在一定的温度下进行的,人们的生活也和他密切相关。 湿度:湿度很久以前就与生活存在着密切的关系,但用数量来进行表示较为困难。对湿度的表示方法有绝对湿度、相对湿度、露点、湿气与干气的比值(重量或体积)等等。日常生活中最常用的表示湿度的物理量是空气的相对湿度。用%RH表示。在物理量的导出上相对湿度与温度有着密切的关系。一定体积的密闭气体,其温度越高相对湿度越低,温度越低,其相对湿度越高。其中涉及到复杂的热力工程学知识。1.2 温度与湿度与人们日常生活的关系冬天温度为18至25,湿度为30%至80%;夏天温度 为23至28,湿度为30%至60%。在此范围内感到舒适
6、的人占95%以上。在装有空调的室内,室温为19至24,湿度为40%至50%时,人会感到最舒适。如果考虑到温、湿度对人思维活动的影响,最适宜的室温度应是工作效率高。18,湿度应是40%至60%,此时,人的精神状态好,思维最敏捷。1.3温湿度的行业应用食品行业:温湿度对于食品储存来说至关重要,温湿度的变化会带来食物变质,引发食品安全问题温湿度的监控有利于相关人员进行及时的控制。档案管理:纸制品对于温湿度极为敏感,不当的保存会严重降低档案保存年限利用如LTM8901系列+LTM8662+LTM8520即可组成环境监控系统,配上排风机,除湿器,加热器,即可保持稳定的温度,避免虫害,潮湿等问题。温室大棚
7、:植物的生长对于温湿度要求极为严格,不当的温湿度下,植物会停止生长、甚至死亡利用LTM8901C+LTM85202,配合气体传感器,光照传感器等可组成一个数字化大棚温湿度监控系统,控制农业大棚内的相关参数,从而使大棚的效率达到极致。动物养殖:各种动物在不同的温度下会表现出不同的生长状态,高质高产的目标要依靠适宜的环境来保障。药品储存:根据国家相关要求,药品保存必须按照相应的温湿度进行控制。根据最新的GMP认证,对于一般的药品的温度存储范围为0-30。烟草行业:烟草原料在发酵过程中需要控制好温湿度,在现场环境方便的情况下可利用LTM8590等无线温湿度传感器监控温湿度,在环境复杂的现场内,可利用
8、RS-485等数字量传输的LTM8901C进行检测控制烟包的温湿度,避免发生虫害,如果操作不当,则会造成原料的大量损失。工控行业:主要用于暖通空调、机房监控等。楼宇中的环境控制通常是温度控制,对于用控制湿度达到最佳舒适环境的关注日益增多。1.4温湿度传感器使用注意事项 湿度传感器是非密封性的,为保护测量的准确度和稳定性,应尽量避免在酸性、碱性及含有机溶剂的气氛中使用。也避免在粉尘较大的环境中使用。 为正确反映欲测空间的湿度,还应避免将传感器安放在离墙壁太近或空气不流通的死角处。如果被测的房间太大,就应放置多个传感器。有的湿度传感器对供电电源要求比较高,否则将影响测量精度。或者传感器之间相互干扰
9、,甚至无法工作。 使用时应按照技术要求提供合适的、符合精度要求的供电电源。传感器需要进行远距离信号传输时,要注意信号的衰减问题。当传输距离超过200m以上时,建议选用频率输出信号的湿度传感器。 在实际使用中,由于尘土、油污及有害气体的影响,使用时间一长,电子式湿度传器会产生老化,精度下降,电子式湿度传器年漂移量一般都在2%左右,甚至更高。一般情况下,生产厂商会标明1次标定的有效使用时间为1年或2年,到期需重新标定。2系统总体方案2.1 系统总体方案原理框图图2-1 系统原理框图2.2系统方案简介该系统要以为89S52单片机为控制核心,读取温湿度传感器DHT11的值和DS1302的值再对其进行处
10、理,并显示。按键输入温湿度的范围,如果温湿度传感器检测得的值超过了按键输入设定的范围,就启动报警。以保持环境的温度在一定的范围。其中系统电源为正5V供电。3硬件电路设计3.1电源电路设计供电电路采用的是直流线性稳压器组成。一般直流稳压电源的组成如下图:电子设备的直流稳压一般是由交流电网供电,经变压、整流、滤波、稳压等环节变成稳定的直流电,如图2-1所示就是直流稳压电源的组成框图。图3-1电源电路设计图图3-2 直流稳压电源框图直流稳压电源由变压、整流、滤波和稳压电路4部分组成。各部分作用如下:变压:将电网供电的220V交流电压通过变压器或其它电路变换成所需要的交流电压。整流:将正弦交流电变成单
11、方向脉动直流电,电路一般由二极管构成。滤波:将脉动的直流电变成脉动很小的平直的直流电,电路一般由电容、电感及电阻元件构成。稳压:一般由稳压管、三极管或稳压器构成电路,进一步减少直流电源的脉动,并保证输出的直流电压在交流电压或负载变动时能基本保持稳定。三端集成稳压器稳压直流稳压电源电路。图中CW7812为输出+12V的三端集成稳压器,该电路具有结构简单、输出电压稳定的特点。集成稳压器是将取样电路、基准电路、比较放大电路、调整电路、启动电路和保护电路集成在一个硅片上的稳压电路。它体积小、重量轻、价格低廉,具有使用方便、功能体系完整、保护功能健全、工作安全可靠的特点,因此得到了广泛的应用。集成稳压器
12、的种类很多,其中以三端集成稳压器应用最为普遍,三端集成稳压器又分为固定式和三端可调式两种。图3-3 三端稳压器应用电路 图中C1的作用是旁路高频干扰信号,在输入线路较长时抵消线路产生的电感效应,防止电路形成自激振荡;C2的作用是消除负载电流跃变时引起输出电压的较大波动。接线时,应使C1和C2尽量靠近稳压器,引脚不能接错,公共端不能悬空,以免损坏变压器。二极管的选用:在半波整流电路中,二极管的电流与负载的电流相等,即 ID=I0 (3-1)所以在选用二极管时,二极管的最大整流电流 IF 应大于负载电流I0。二极管在电路中承受的最高反向电压URmax为交流电压的最大值,即URmax =U2m=U2
13、 (3-2)所以,二极管的最高反向工作电压URM应大于URmax。所以我们选用1A/100V的整流桥。3.2 单片机最小系统设计本系统主要采用AT89C51单片机,AT89C51 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89C51为众多嵌入式控制应用系统提 供高灵活、有效的解决方案。AT89C51具有以下标准功能: 8k字
14、节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89C51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。图3-4 单片机最小系统最小系统构成的基本条件是:1.电源89S52单片机的电压为4.0V-5.5V。我们采用电脑的USB进行供电,电脑以及手机充电器一般输出电压为5V
15、,可以为单片机正常供电。2.晶振晶振结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。本系统主要采用的是12M晶振,配合2个30pF的电容构成晶体振荡电路。3复位为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有
16、效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。3.3显示电路设计 显示电路主要采用4位共阳8段数码管,采用动态扫描方式显示。其原理图如下所示。 数码管主要有共阳、和共阴两种类型。在这里我们先用的是共阳数码管,主要是由于单片机I/0的驱动能力有限,无法直接驱动4位8段数码管,所以必须采用共阳的数码管,并接上四个三极极管8550。 此处三极管主要起开关作用。控制数码管的哪一位导通。在实际的单片机系统中,往往需要多位显示。动态显示是一种最常见的多位显示方法,应用非常广泛。用数码管显示信息时,由于每个数码管至少需要8 个I/O 口,如果需要多个数
17、码管,则需要太多I/O 口,而单片机的I/O 口是有限的。在实际应用中,一般采用动态显示的方式解决此问题。所有数码管的段选全部连接在一起,如何能显示不同的内容呢?动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。在动态显示程序中,各个位的延时时间长短是非常重要的,如果延时时间长,则会出现闪烁现象;如果延时时间太短,则会出现显示暗且有重影。图3-5 显示电路以前在学习单片机时,写程序由于没有控制好延时
18、的时间,导致数码管显示有重影,后面经过反复的调试,发现当延时的时间取到1-3ms时,数码管重影与闪烁现象消失。所以在处理数码管的程序时,应该把各个位的延时设置成2ms。这样才能让数码管显示清楚。图3-6 数码管内部接法8个发光二极管的阳极共同接到正电源上,阴极接到单片机。单片机正常工作时,给接单片机的I/O口置低电平,发光二极管亮,显示管上面显示出数字。假如数码管全亮时,即8个LED全亮,这时的电流可达Imax=48ILED =32ILED (公式一)一般LED正常工作时的电流为3mA.所以最大驱动电流为Imax=48ILED =32ILED=32 3=96mA (公式二)而我们所选用的单片机
19、无法提供96mA的驱动电流,所以此处不能用共阻数码管。必须用共阳的数码管。数码管限流电阻计算静态驱动就是给单独每4位数码管中的每一位供电。这样每个LED都有足够的电流,亮度也相应的比较高。动态扫描驱动就是把本来供给一个LED灯的电流,同时分给了N个灯,所以它的亮度会有所降低。当然在同时供给两个led灯电流时不是平均的分配电流,而是电流不断地在两led间扫描,其扫描频率达到了每秒钟100次,也就是说电流在1/100秒内是供个其中一个led,在下一1/100秒内是供给了另一个led。其实这两个led是在不断的亮灭,只是人眼的视觉暂留效果让我们察觉不到它们在不断的亮灭,只要扫描频率达到了每秒64次以
20、上,人眼就分辨不出来了。由上面的分析可以得到限流电阻R的值 (公式三)若我们想让这个4位数码管的每位工作时的电流ILED为8mA.Uled为正常工作时的电压取1.7V。则我们可以得出限流电阻的取值为 (公式四)所以我们选取100欧的限流电阻。这样4位中的每一位工作时的电流约为8mA.在保证LED能亮的同时不会被烧坏。3.4 温湿度传感器电路设计温湿度传感器DHT11简介:DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用数字模块采集技术和温度传感器技术。产品特性1.湿温度传感器的一体化结构能相对的同时对相对湿度和温度进行测量 。2.数字信号输出,从而减少用户信
21、号的预处理负担。3.单总线结构输出有效的节省用户控制器的I/O口资源。并且,不需要额外电器元件。4.独特的单总数据传输线协议使得读取传感器的数据更加便捷。全部校准。5.编码方式为8位二进制数。40bit 二进制数据输出。其中湿度整数部分占1Byte,小数部分1Byte;温度整数部分1Byte,小数部分1Byte。其中,湿度为高16位。最后1Byte为校验和。6.卓越的长期稳定性,超低功耗。4引脚安装,超小尺寸。7.各型号管脚完全可以互换。测量湿度范围从20RH到90RH;测量温度范围从0到50。8.适用范围包括恒湿控制,消费家电类产品,温湿度计等领域。图3-7 DHT11引脚图图3-8温湿度检
22、测电路 上图所示为温湿度传感器DHT11的应用电路,其中1脚接到电源端,二脚接单片机的IO口,三脚为空脚,4脚接地。DHT11的供电电压为3.55.5V。传感器上电后,要等待1s 以越过不稳定状态在此期间不要发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。DHT11数字湿温度传感器连接电路简单,只需要占用控制器一个I/O口即可完成上下位的连接。另外,建议连接线长度短于20时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。3.5 DS1302电路设计DS1302时钟芯片简介DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/
23、日历和31字节静态RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:复位(RST)、I/O数据线、串行时钟(SCLK)。时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。DS1302的引脚结构图3-9 DS1302引脚结构DS1302含充电电路,可以对作为后备电源的可充电电池充电,并可选择充电
24、使能和串入的二极管数目,以调节电池充电电压。DS1302的工作原理:DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。DS1302硬件电路设计图3-10 DS1302硬件电路设计图3-10中,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302
25、由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之
26、前,RST必须保持低电平。若其中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。3.6按键输入电路设计 按键电路主要采用了点触式的机械按钮,此种按键在按下时会有抖动现像,所以在设计电路时,在按按键上面加了一个电容,当按下按键时对此电容充电,只有在电容充满电时,连接到单片机的IO口的电平才会变化。避免了按键的抖动。图3-11 按键输入电路按键抖动现象不管是按钮开关还是闸刀开关,在操作时,并不是想像中的那么理想。实际上,操作开关时会有很多不确定状态,也就是噪声。在此将介绍开关操作的实际状态,以及防止不确定状态的对策。图3-12 电路的抖动图中
27、所示,这种非预期状态称为抖动而这种忽高忽低的情况就是噪声。按键抖动消除如果要避免这种抖动现象,可以利用一个简单的RC电路来抑制。开关第一次接触时即将电容短路,使电容快速度充放电(放电电阻为0),电容两端电压迅速为0;开关弹回(开路)时,整个电路形成RC充路,其时间常数为RC,电容两端的电压VC为 公式6通常低电平可以定义为0.3VCC以下,如果电容两端的电压主Vc低于0.3Vcc,即可视为低电平,而抖动的效应自然消失,因为此0.3,两边减1可得0.7. 两边取对数可得。-t/RCln0.7=-0.035 公式8抖动的时间约在10ms到20ms之间,以10ms为例,若我们选取R=10K,则C(1
28、10-6)/0.03572.8uF 公式9故我们选取相近的3.3uF电容。软件抖动消除硬件去抖动会增加电路的成本,而我们只要在软件上下点功夫,可以避开那10-20ms的抖动。我们通常只要在读入第一个状态的输入信号 时即执行10-20ms的延迟函数,内容如下Void debouncer(void)int ifor(i=0;i2400;i+);采用软件去抖动的方式,当按键比较多时,我们可以节约大量的硬件电路成本 同时也可以增加系统的可靠性。3.7 报警电路设计图3-13 报警电路此模块为单片机的报警提示部分,当单片机检测到过超过设定值时,程序控制连接报警电路的那个引脚输出低电平,此时三极管8550
29、导通,蜂鸣器发出报警声,提示用户所测得的温湿度超过了设定的范围。4程序设计4.1 系统程序流程图图 4-1 系统软流程图程序设计主要分为以下几个子程序,DHT11数据读取,DS1302数据读取,数码管显示,按键输入,报警。程序开始后,首先对各模块进行初始化,然后读取按键数值,若此时没有输入数据范围,则读取DHT11与DS1302的数值。读取数值之后,判断DHT11数值的范围是否超出设定的范围,若没有超出,则显示DS1302与DHT11的数值。若超出,则启动报警电路。4.2 DHT11程序设计用户主机发送一次开始信号(低电平)DHT从低速模式转换到高速模式,等待主机开始信号结束(拉高)后,DHT
30、发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。注意:总线线空闲状态为高电平,主机把总线线拉低等待DHT响应,主机把总线线拉低必须大于18毫秒,保证DHT能检测到起始信号。DHT接收到主机的开始信号后,等待主机开始信号结束,然后发送低电平响应信号。主机发送开始信号结束后,延时等待20-40us后, 读取DHT的回应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线线由上拉电阻拉高。4.3 DS1302程序设计NOYESDS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲; D
31、S1302的控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0,位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。S1302控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,位1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,位1表示进行读操作,控制字节总是从最低位开始输出数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1