温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器
基于单片机和DS18B20的多点温度检测报警系统
基于单片机和DS18B20的多点温度检测报警系统摘要本文主要介绍以STC89C51单片机为上位机、以数字温度传感器DS18B20为温度采集元件的多点温度检测报警系统,其主要可以分为五个模块:温度检测模块、数据处理模块、温度显示模块、异常报警模块和系统设置模块。
该系统可以将各点的温度值实时的在上位机显示屏显示,还可以通过按键对各点的温度限值进行设定,当实际温度值超出系统温度限值时就会触发蜂鸣器进行报警。
该系统成本低、设备稳定,适用于家居、商场以及一些小型企业的仓库的温度检测与监视。
关键词单片机;数字温度传感器;温度采集与报警Multi-channel Temperature Detection Alarm System Based on Microcomputer and DS18B20引言随着我国人民生活水平的日益提升,人们越来越重视我们的人身安全问题。
现实生活中由于温度高于(或低于)温度限值而引发的火灾、爆炸等事故是人身安全的一重大隐患,显然有效地降低此类事故的发生显得格外重要,而这一目标的实现必须依靠先进的控制技术和设备对环境温度进行监控。
传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器的输出为模拟信号,必须利用A/D 转换器获得数字信号后才能进行数据的处理,这使得电路的设计较复杂,而且制作成本也比较高。
基于DS18B20数字温度传感器,设计出了一个温度测量、显示及报警系统。
该系统由51单片机STC89C51控制,并由液晶显示屏实时显示温度,也可设定系统温度的上限与下限,以便在温度超过或低于限值时进行报警。
1 数字温度传感器DS18B20的结构特征介绍1.1 DS18B20是一种集成化的数字温度传感器,广泛应用于实验室、仓库以及车间等场所,其主要特性如下。
(1)采用“单总线”接口方式;(2)将温度值转换成数字的速度很快;(3)电压适应范围较宽,电压范围:3.0~5.5V;(4)DS18B20内部完整的集成了传感器件和转换电路;(5)温度测量范围:55℃~125℃,在10℃~85℃时精度为±0.5℃;(6)DS18B20支持多点组网功能,可将多个DS18B20并联在一起,实现多点测温。
基于DS18B20的多点温度测控系统
基于DS18B20的多点温度测控系统作者:俞云强来源:《数字技术与应用》2013年第08期摘要:DS18B20是一种单总线、高精度的数字式温度传感器。
本文介绍了由DS18B20和单片机组成的多点温度测控系统的硬件电路及软件设计。
该系统电路简单、运行可靠、用途广泛。
关键词:温度测控 DS18B20 单片机中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2013)08-0011-021 引言在工农业生产和日常生活中,对温度的测量及控制是非常重要的。
传统的测温系统采用热电偶、热电阻类温度传感器,它们将温度值转换为电动势或电阻值的变化,这些模拟信号要经过远距离采样、调理和模数转换后才能进入单片机处理,要获得较高的测温精度,还必须采用措施解决由长线传输,多点切换及放大器零点漂移等造成的误差补偿问题。
因此这样构成的系统硬件复杂、调试困难、成本较高。
采用数字温度芯片DS18B20测量温度,其输出值可直接进入单片机处理及控制,组建的测温系统的电路简单、抗干扰性能好、适合于恶劣环境下的温度测控。
2 多点测温系统的组成本系统采用主从分布式结构,由一台上位机(PC机)和多台下位机(AT89C52单片机)组成两级分布式多点温度测控系统。
一台下位机可完成8路温度的测量和控制。
上位机与下位机间采用RS-232串行通讯连接,通过上位机控制下位机进行现场温度采集和开关信号输出,控制继电器的通断,再由继电器触点控制现场制冷或加热设备工作,从而调节各点温度值。
温度值既可以送回上位机进行数据处理,由显示器显示。
也可以由下位机单独工作,通过LED 显示器实时显示当前各点温度值,系统的组成如图1所示。
3 硬件系统设计3.1 温度检测系统采用的测温传感器DS18B20是美国DALLAS半导体公司生产的数字式温度传感器。
全部传感元件及转换电路集成在一块芯片内,现场温度直接以“一线总线”的数字方式传输,CPU只需一根端口线就能与多片DS18B20通信。
基于DS18B20的温度测量系统设计
基于DS18B20的温度测量系统设计概述:DS18B20是一种数字温度传感器,具有精确度高、稳定性好、尺寸小等特点。
本文将基于DS18B20设计一个温度测量系统,主要包括硬件设计和软件设计两部分内容。
硬件设计:1.传感器模块:DS18B20传感器模块包括一个温度传感器和一个数字转换芯片。
传感器模块通过串行总线与主控设备进行通信,并提供温度数据。
2.单片机:选择一种适合的单片机作为主控设备,负责与传感器模块通信,并实现相关功能。
3.显示模块:通过液晶显示屏或数码管等模块,将测量到的温度实时显示出来。
4.电源模块:为系统提供稳定的直流电源,使系统能够正常工作。
软件设计:1.通信协议:将单片机与传感器模块之间的通信协议设置为1-Wire协议,该协议简单易实现,并且可以同时连接多个传感器。
2.初始化:在系统启动时,初始化单片机与传感器模块之间的通信,并对传感器模块进行必要的设置,如分辨率、精确度等。
3.数据读取:通过1-Wire协议,单片机向传感器模块发送读取温度的指令,传感器模块将温度数据以数字形式返回给单片机。
4.数据处理:单片机接收到温度数据后,进行相应的数据处理,可以进行单位转换、滤波处理等。
5.数据显示:将处理后的温度数据通过显示模块实时显示出来。
系统应用:1.工业自动化:用于监测生产设备的温度,实现设备状态监控和预警功能。
2.室内温控:通过与空调系统或暖气系统的连接,实现室内温度的精确控制。
3.热管理:用于监测电子设备或电路板的温度,保证设备运行时的稳定性和散热效果。
总结:基于DS18B20的温度测量系统设计,通过选用合适的硬件模块和软件设计方案,可以实现精确、稳定的温度测量,并通过通信和显示模块实时反馈温度数据。
该系统具有应用广泛、性能可靠等优点,在工业自动化、室内温控、热管理等领域有着重要意义。
DS18B20中文资料
DS18B20中文资料DS18B20是一种数字温度传感器,采用单总线数据传输协议进行通信。
它能够高精度地测量环境温度,并且具有体积小、价格低廉、使用方便等特点。
本文将介绍DS18B20传感器的原理、特性以及应用场景。
一、传感器原理DS18B20传感器采用基于硅的温度传感技术。
其内部集成了温度传感器、模数转换器等电路,以及一组ROM(只读存储器)和RAM(随机存储器)。
传感器通过感应环境温度引起的半导体温度变化,将温度值转换为数字信号输出。
二、传感器特性1. 高精度:DS18B20传感器具有最高精度为±0.5°C的温度测量能力,适用于对于精度要求较高的应用场景。
2. 大量程:传感器可在-55°C至+125°C的温度范围内进行测量,适用于广泛的温度监测需求。
3. 单总线接口:传感器采用单总线接口进行数据传输,仅需要一根数据线,方便集成和使用。
4. 低功耗:传感器工作时的电源电压范围为3V至5.5V,具有低功耗的特点,适用于需要长时间连续监测温度的场景。
5. 独特的硬件地址:每个DS18B20传感器都有一个独特的64位硬件地址,可以通过该地址进行单独的识别和通信。
三、传感器应用由于DS18B20传感器具有小巧、精确、方便等特点,因此在很多领域得到了广泛应用。
1. 温度监测系统:传感器可以应用于各种温度监测系统,如气象站、冷链物流、温度报警器等。
通过使用多个DS18B20传感器,可以实现对不同位置的温度进行监测和记录。
2. 温度控制系统:传感器可以用于控制温度的系统,例如恒温器、温室控制系统等。
通过实时监测环境温度,并根据需求进行温度控制,可以提供更舒适的生活和工作环境。
3. 工业自动化:在工业环境中,温度监测也是很重要的一项任务。
DS18B20传感器可以与PLC、SCADA等系统集成,用于工业自动化控制和监测。
4. 物联网应用:随着物联网的发展,温度传感器在物联网应用中的需求越来越大。
温湿度检测毕业论文
温湿度检测毕业论⽂1 绪论1.1 前⾔温湿度的监测与控制是⼯业⽣产过程中⽐较典型的应⽤之⼀,随着传感器在⽣产和⽣活中的更加⼴泛的应⽤。
在⽣产中,温湿度的⾼低对产品的质量影响很⼤。
由于温湿度的监测控制不当,可能使我们导致⽆法估计的经济损失。
为保证⽇常⼯作的顺利进⾏,⾸要问题是加强⽣产车间内温度与湿度的监测⼯作,但传统的⽅法过于粗糙,通过⼈⼯进⾏监测,对不符合温度和湿度要求的库房进⾏通风、去湿和降温等⼯作。
这种⼈⼯测试⽅法费时费⼒,效率低,且测试的温度及湿度误差⼤,随机性⼤。
⽬前,在低温条件下温湿度的测量已经相对成熟。
利⽤新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。
但⼈们对它的要求越来越⾼,要为现代⼈⼯作、科研、学习、⽣活提供更好的更⽅便的设施就需要从数字单⽚机⼊⼿了,⼀切向着数字式、智能化控制⽅向发展。
对于国外对温湿度检测的研究,从复杂模拟量监测到现在的数字智能化监测越发的成熟,随着科技的进步,现在对温湿度的研究,检测系统向着智能化、⼩型化、低功耗的⽅向发展。
在发展过程中,以单⽚机为核⼼的温湿度控制系统发展为体积⼩、操作简单、量程宽、性能稳定、测量精度⾼等诸多优点在⽣产⽣活中的各个⽅⾯发挥着⾄关重要的作⽤。
温湿度传感器除电阻式、电容式湿敏元件之外,还有电解质离⼦型湿敏元件、重量型湿敏元件、光强型湿敏元件、声表⾯波湿敏元件等。
湿敏元件的线性度及抗污染性差,在监测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染⽽影响其测量精度及长期稳定性。
1.1在纺织⽣产中,温湿度的变化直接影响到产品的质量,产量和材料的消耗。
⽬前纺织⾏业的温湿度控制基本采⽤⼈⼯⼿动调节⽅式。
由于在控制中是⼈⼯的原因,所以必然存在反应速度慢,劳动强度⾼,调节⽅式⼤都属于开关控制,难以实现理想的调节⽅式,所以现场的温湿度波动范围⼤,温湿度的均匀度特性差,能源利⽤率低,失控⼏率⼤,由此直接影响产品产量和质量的稳定性。
温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器
摘要此温湿度测量系统是基于单线式温度传感器DS18B20、电容式湿度传感器单片机STC89C52 对温度湿度分别测量并通过液晶显示屏1602经行显示。
温度传感器DS18B20是单线式,体积超小,硬件开消超低,抗干扰能力强,精度高,附加功能强的理想单片机温度传感器,可实时根据指令给出温度数据,可读性高。
HS1101是电容式空气湿度传感器,在不同的湿度环境下呈现出不同的电容值,0%~100%RH湿度范围内,电容从162PF变化到200PF,误差误差为2%RH。
可见其精度非常高,为了反映出其电容的变化,本系统采用555多谐震荡电路产生不同的频率,用于检测湿度。
单片机采集到两个传感器给出的数据进行处理与计算,得出当前的温度与湿度并送给液晶屏显示。
本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。
关键词:温湿度测量系统精度高速度快体积小Abstract: The temperature and humidity measurement system is based on singleline type temperature sensor DS18B20, capacitive moisture sensorSCM STC89C52 for temperature humidity measurement and respectively by LCD display. The line 1602 Temperature sensor DS18B20 is singleline type, volume super-small, hardware KaiXiao ultra-low, strong anti-jamming capability, high precision, additional features strong ideal single-chip microcomputer temperature sensor, real-time temperature data, depending on the directive given readable. HS1101 is capacitive sensor, air humidity in different humidity presents different capacitance, 0% ~ 100% RH humidity, within the scope of capacitance change to 200PF, from 162PF error for 2% RH error. e can see its precision is very high, in order to reflect the capacitance change, the system USES the 555 more harmonic concussion circuits produce different frequency, which is used to detect humidity. SCM acquisition to two sensor gives data processing and calculated, the current temperature and humidity and give the display on the LCD panel. This system has a readable, high stability, reaction speed, measured values exact characteristic.Keywords: temperature and humidity measurement system high precision speed small volume目录1.设计要求 (3)2. 方案设计及论证 (3)2.1 总体方案设计 (3)2.2系统主要单元的选择与论证 (3)2.2.1单片机控制模块的选择论证 (3)2.2.2温度湿度检测模块的选择与论证 (3)2.2.3显示模块的选择与论证 (3)2.3 系统组成 (4)3. 理论分析及计算 (4)3.1 (4)3.2..........................................................................................错误!未定义书签。
基于DS18B20的单片机温度监测系统
基于DS18B20的单片机温度监测系统一、引言近年来,随着物联网技术的快速发展,各种智能设备得到了广泛应用。
其中,温度监测系统在生活、工业和农业等领域发挥着重要作用。
基于DS18B20的单片机温度监测系统是一种成本低、精度高、易于实现的温度监测方案。
本文将详细介绍基于DS18B20的单片机温度监测系统的原理、设计和实现。
二、系统原理基于DS18B20的单片机温度监测系统由DS18B20温度传感器、单片机和显示设备组成。
DS18B20是一种数字温度传感器,通过单总线协议与单片机进行通信。
单片机负责接收DS18B20传感器的数据,并将温度值显示在相应的显示设备上。
三、硬件设计1. DS18B20温度传感器DS18B20温度传感器具有较高的温度测量精度和广泛的工作温度范围。
它采用单总线接口,只需要一个IO口即可完成与单片机的通信。
在设计中,将DS18B20的VDD引脚连接到单片机的供电引脚,GND引脚连接到单片机的地引脚,DQ 引脚连接到单片机的IO口。
2. 单片机单片机是温度监测系统的核心控制器,负责接收DS18B20传感器的数据并进行处理。
常用的单片机型号有STC89C52、AT89S52等。
在设计中,将单片机的IO口连接到DS18B20传感器的DQ引脚,通过单总线协议与传感器进行通信。
3. 显示设备显示设备用于将温度值显示出来,常用的显示设备有LCD液晶显示屏、LED数码管等。
在设计中,将单片机的IO口连接到显示设备的控制引脚,通过控制引脚向显示设备发送温度值。
四、软件设计1. 单片机程序设计单片机程序设计是整个系统的核心,主要包括初始化配置、与DS18B20传感器通信、温度数据处理和显示等功能。
在程序设计中,首先需要初始化单片机的IO口和定时器,使其能够与DS18B20传感器进行通信。
接着,通过单总线协议与传感器进行通信,从传感器读取温度数据。
然后,对读取的温度数据进行处理,计算出实际的温度值。
ds18b20温度传感器工作原理
ds18b20温度传感器工作原理DS18B20温度传感器是一种数字温度传感器,它可以实现远距离测温,并且具有高精度和可靠性。
它的工作原理主要是基于热敏电阻的温度测量原理,结合数字信号输出和单总线通信技术,使得其在各种工业和消费电子产品中得到了广泛的应用。
DS18B20温度传感器采用了微型封装技术,其外形小巧,安装方便,适用于各种恶劣环境。
其工作原理主要包括三个方面,温度测量原理、数字信号输出和单总线通信。
首先,DS18B20温度传感器的温度测量原理是基于热敏电阻的特性。
当温度发生变化时,热敏电阻的电阻值也会相应发生变化。
DS18B20内部集成了一个精密的模拟-数字转换器(ADC),可以将热敏电阻的电阻值转换为数字信号输出。
通过这种方式,DS18B20可以实现对温度的准确测量。
其次,DS18B20温度传感器通过数字信号输出来实现温度数据的传输。
它采用了1-Wire总线协议,通过一根数据线即可实现数据的传输和通信。
这种设计使得DS18B20在布线和连接方面更加简单和灵活。
最后,DS18B20温度传感器通过单总线通信来与主控设备进行数据交互。
它采用了独特的ROM存储器结构,每个传感器都有一个唯一的64位串行号码,可以通过这个号码来对传感器进行寻址和识别。
同时,DS18B20还具有多点测量、多传感器串联等特性,可以实现对多个传感器的同时管理和控制。
总的来说,DS18B20温度传感器的工作原理基于热敏电阻的温度测量原理,结合数字信号输出和单总线通信技术,实现了远距离、高精度、可靠性的温度测量和数据传输。
它在工业控制、环境监测、家用电器等领域都有着广泛的应用前景。
希望通过本文的介绍,能够更好地理解DS18B20温度传感器的工作原理和特性,为相关领域的应用提供参考和指导。
ds18b20温度传感器原理
湿度传感器的分类湿度传感器分类按工作原理:电阻型 --根据相对湿度的变化,产生相应的改变阻值典型产品HS1101电容性 -- 根据相对湿度的变化,产生相应的改变容值典型产品C5-M3 按输出方式:元件类--- 输出电阻或者电容信号,线性不太好,需要做后期处理,放大电路才能使用,例如HS1101,C5-M3,VH-01,CL-H003等等模块类--- 输出线性的电压或频率信号,一般是5VDC供电。
例如HF3226,HM1500,HIH4000,RHU223,RHU222,VHM- 10等等。
变送器--- 带外壳,12~30VDC供电,线性输出0~5/10VDC,4~20mA RS485,一般都是温湿度一体的,例如VHT-1,VHT-2 系列,可直接用于工程安装现场。
DS18B20数字温度计使用DS18B20数字温度计使用1.DS18B20基本知识DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
1、DS18B20产品的特点(1)、只要求一个端口即可实现通信。
(2)、在DS18B20中的每个器件上都有独一无二的序列号。
(3)、实际应用中不需要外部任何元器件即可实现测温。
(4)、测量温度范围在-55。
C到+125。
C之间。
(5)、数字温度计的分辨率用户可以从9位到12位选择。
(6)、内部有温度上、下限告警设置。
2、DS18B20的引脚介绍TO-92封装的DS18B20的引脚排列见图1,其引脚功能描述见表1。
(底视图)图1表1DS18B20详细引脚功能描述3.DS18B20的使用方法由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
基于ds18b20的数字温度计设计报告
基于ds18b20的数字温度计设计报告
一、引言
随着科技的进步,温度的测量和控制变得越来越重要。
DS18B20是一款数字温度传感器,具有测量准确度高、体积小、接口简单等优点,广泛应用于各种温度测量场合。
本报告将介绍基于DS18B20的数字温度计设计。
二、DS18B20简介
DS18B20是一款由美国Dallas公司生产的数字温度传感器,可以通过数据线与微处理器进行通信,实现温度的测量。
DS18B20的测量范围为-55℃~+125℃,精度为±0.5℃。
三、数字温度计设计
1.硬件设计
数字温度计的硬件部分主要包括DS18B20温度传感器、微处理器、显示模块等。
其中,DS18B20负责采集温度数据,微处理器负责处理数据并控制显示模块显示温度。
2.软件设计
软件部分主要实现DS18B20与微处理器的通信和控制显示模块显示。
首先,微处理器通过数据线向DS18B20发送命令,获取温度数据。
然后,微处理器将数据处理后发送给显示模块,实现温度的实时显示。
四、测试结果
经过测试,该数字温度计的测量精度为±0.5℃,符合设计要求。
同时,该温度
计具有测量速度快、体积小、使用方便等优点,可以广泛应用于各种温度测量场合。
五、结论
基于DS18B20的数字温度计具有高精度、低成本、使用方便等优点,可以实现高精度的温度测量和控制。
随着科技的发展,数字温度计的应用将越来越广泛,具有广阔的市场前景。
高分子湿敏电容传感器hs1101的原理及应用
高分子湿敏电容传感器hs1101的原理及应用高分子湿敏电容传感器HS1101是一种能够测量环境湿度的电子器件。
它使用高分子材料制成,具有特殊的敏感性,可以测量空气中的
湿度并将其转化为电信号输出。
在许多应用场合中,HS1101传感器是
非常有用的,例如环境监测、工业控制和人体健康监测等。
HS1101传感器的原理基于吸附高分子材料所固有的特性。
当传感
器的感测元件接收到环境中的水分分子后,高分子材料开始吸收这些
水分分子并膨胀,导致感测元件变化,从而导致电容值发生变化,该
变化可被传感器测量并输出。
该传感器具有许多应用领域。
在环境监测领域中,HS1101传感器
可用于测量空气中的湿度,以确定空气中的水蒸气含量。
在医疗和健
康监测领域中,该传感器可用于监测患者呼吸时口腔和喉咙的湿度。
在工业控制领域中,则常用于监测工业生产过程中的相对湿度,以确
保产品质量。
使用该传感器时需要注意一些细节。
首先,传感器的敏感元件必
须被保持在合适的温度和湿度之下,以确保传感器的准确性和可靠性。
其次,传感器对电路干扰和噪声敏感,因此需要保证传感器电路的输
入端稳定。
最后,传感器需要定期校准,以保证传感器输出的准确性。
总之,高分子湿敏电容传感器HS1101是一款非常可靠和实用的传
感器。
它可以用于许多不同领域的应用,例如环境监测、工业控制和
医疗健康监测。
然而,在使用传感器时应注意细节和保持传感器的准确性,以确保其准确性和可靠性。
电容式湿度传感器HS1101介绍及应用电路
电容式湿度传感器HS1101介绍及应用电路Post By:2009-3-12 10:31:26此主题相关图片如下hs1101.jpg:HS1101湿度传感器采用专利设计的固态聚合物结构,具有响应时间快、高可靠性和长期稳定性特点,不需要校准的完全互换性。
HS1101湿度传感器在电路中等效于一个电容器C x,其电容随所测空气的湿度增大而增大,在相对湿度为0%-100%RH的范围内,电容的容量由160pF变化到200pF,其误差不大于±2%RH,响应时间小于5s,温度系数为0.04pF/℃。
此主题相关图片如下hs1101-61mcu.jpg:如图2所示,将该湿敏电容C x置于555振荡电路之中,将电容的变化转换为与之成反比的电压频率信号,该频率信号可以直接被微控器采集。
振荡电路的两个暂稳态输出频率变化的方波信号(图3中U4的3脚输出)的高电平时间为此主题相关图片如下11.gif:输出低电平时间为此主题相关图片如下12.gif:因此输出方波信号的周期为此主题相关图片如下13.gif:即此主题相关图片如下14.gif:HS1101湿度测量电路及程序Post By:2009-3-12 10:35:23温度检测采用HS1101型温度传感器,HS1101是HUMIREL公司生产的变容式相对湿度传感器,采用独特的工艺设计。
HS1101测量湿度采用将HS1101置于555振荡电路中,将电容值的变化砖换成电压频率信号,可以直接被微处理器采集。
设计的电路如图1所示。
此主题相关图片如下hs1101-0903110.jpg:图1 湿度测量电路555芯片外接电阻R57,R58与HS1101,构成对HS1101的充电回路。
7端通过芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚2,6端相连引入到片内比较器,构成一个多谐波振荡器,其中,R57相对于R58必须非常的小,但决不能低于一个最小值。
R51是防止短路的保护电阻。
DS18B20和HS1101程序
/********************************************************* DS18B20温度传感器* C51* yajou 2008-06-28 无CRC********************************************************/#include <reg51.h>#include <intrins.h>/********************************************************* I/O口定义********************************************************/sbit dq = P1^1;sbit spk=P1^0;bit flag=0;/********************************************************* 命令字定义********************************************************/#define uchar unsigned char#define uint unsigned int#define ReleaseDQ() dq = 1; //上拉/释放总线#define PullDownDQ() dq = 0; //下拉总线#define Delay2us() _nop_();_nop_(); //延时2us,每nop 1us#define Delay8us() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //设置重复检测次次数,超出次数则超时#define ReDetectTime 20//ds18b20命令#define SkipROM 0xCC#define MatchROM 0x55#define ReadROM 0x33#define SearchROM 0xF0#define AlarmSearch 0xEC#define Convert 0x44#define WriteScr 0x4E#define ReadScr 0xBE#define CopyScr 0x48#define RecallEE 0xB8#define ReadPower 0xB4#define fushu 0x0a/********************************************************* 显示缓存*********************************************************/uchar code dispTAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbF,0xff}; uchar code dispbit[]={0xfe,0xfd,0xfb,0xf7};/********************************************************* us延时程序*********************************************************/void Delayus(uint us){while(us--); //12M,一次6us,加进入退出14us(8M晶振,一次9us)}/******************************************************** * DS18B20初始化* ********************************************************/ bit Ds18b20_Init(void) //存在返0,否则返1{bit temp = 1;dq=1;_nop_();dq=0;Delayus(60); //556us时间dq=1;Delayus(5); //61us(>60)temp = dq;Delayus(45); //2us(>1us)dq=1;return temp;}/******************************************************** * 写bit2DS18B20 * ********************************************************/ void Ds18b20_WriteBit(bit bitdata){dq=1;Delay2us(); //2us(>1us)if(bitdata){dq=0;Delay2us(); //2us(>1us)dq=1;Delayus(12); //86us(45- x,总时间>60)}else{dq=0;Delayus(12); //120us}dq=1;Delay2us(); //2us(>1us)}/******************************************************** * 写Byte DS18B20 * ********************************************************/ void Ds18b20_WriteByte(uchar chrdata){uchar i;for(i = 0; i < 8; i++){Ds18b20_WriteBit(chrdata&0x01);chrdata>>= 1;}}/******************************************************** / * 读bit From DS18B20 *********************************************************/ bit Ds18b20_ReadBit(void){bit bitdata;dq=1;Delay2us(); //2us( >1us)dq=0;Delay2us(); //2us( >1us)Delay2us(); //2us( >1us)dq=1;Delay8us(); //8us( <15us)Delay8us(); //8us( <15us)bitdata = dq;Delayus(5); //86us(上述总时间要>60us)dq=1;return bitdata;}/******************************************************** * 读Byte DS18B20 * ********************************************************/ uchar Ds18b20_ReadByte(void){uchar i,chardata;for(i= 0; i< 8; i++){chardata >>= 1;if(Ds18b20_ReadBit()) chardata |= 0x80;// chardata=chardata|0x80 }return chardata;}/******************************************************** * 读DS18B20 BE * ********************************************************/ bit Ds18b20_ReadBE(uchar *p_readdata) //成功返0,失败返1{uchar ii = 2;if(Ds18b20_Init()) return 1;Ds18b20_WriteByte(SkipROM);//0xccDs18b20_WriteByte(ReadScr);//0xbewhile(ii--){*p_readdata = Ds18b20_ReadByte();p_readdata++;}return 0;}/******************************************************** * 温度采集计算********************************************************/uint TempCal( uchar temp[2] ) //返(温度范围-55 --- +128){uint tmpwendu;tmpwendu = temp[1];tmpwendu<<= 8;tmpwendu|= temp[0]; //组成温度的两字节合并if(tmpwendu&0x8000){tmpwendu=(~tmpwendu)+1;flag=1;}elseflag=0;return tmpwendu;}/******************************************************** * 温度转换********************************************************/ void TempDISP( uint temperature ) //返(温度范围-55 --- +128){uchar disp[4],tmp,i;temperature=temperature*0.0625*10;if((flag)&&(temperature<100)){disp[0]=0x0b;disp[1]=fushu;disp[2]=(temperature/10);disp[3]=temperature%10;}else if((flag)&&(temperature>=100)){disp[0]=fushu;disp[1]=temperature/100;disp[2]=((temperature%100)/10);disp[3]=temperature%10;}else if(temperature<100){disp[0]=0x0b;disp[1]=0x0b;disp[2]=(temperature/10)&0x7f;disp[3]=temperature%10;}else if((temperature<1000)&&(temperature>=100)){disp[0]=0x0b;disp[1]=temperature/100;disp[2]=((temperature%100)/10);disp[3]=temperature%10;}else{disp[0]=temperature/1000;disp[1]=(temperature%1000)/100;disp[2]=((temperature%100)/10);disp[3]=temperature%10;}for(i=0;i<4;i++){P2=dispbit[i];tmp=disp[i] ;if(i==2)P0=dispTAB[tmp]&0x7f;elseP0=dispTAB[tmp];Delayus(200) ;P0=0xff;}}void main(){uchar a[2],j=100;//spk=0;while(1){Ds18b20_Init(); //DS18B20初始化,存在返0,否则返1Ds18b20_WriteByte(0xcc);Ds18b20_WriteByte(0x44);while(--j)TempDISP(TempCal(a));Ds18b20_ReadBE(a);TempDISP(TempCal(a));}}HS1101湿度采集程序#include "reg51.h"#define uchar unsigned char #define uint unsigned int uchar tem0,tem1;uchar temp0,temp1;uint f=0;void timer0() interrupt 1 {EA=0;TR0=0;TR1=0;TL0=0XFF;TH0=0X4B;tem0=TL1;tem1=TH1;TL1=0X00;TH1=0X00;f=1;TR0=1;TR1=1;EA=1;}void timer1()interrupt 3 {EA=0;TR0=0;TR1=0;TL0=0X00;TH0=OX4C;TL1=0X00;TH1=0X00;TR0=1;TR1=1;EA=1;}void Init_timer(){TMOD=0X51;TL0=0X00;TH0=OX4C;TL1=0X00;TH1=0X00;ET0=1;ET1=1;EA=1;TR0=1;TR1=1;}void tran(){f=tem1;f=(f<<8)|tem0;f=f*20;if((5623<=f)&&(f<=6852)) {if((6734<f)&&(f<=6852)){temp0=0;temp1=(6852-f)*10/118; }if((6618<f)&&(f<=6734)){temp0=1;temp1=(6734-f)*10/116; }if((6503<f)&&(f<=6618)){temp0=2;temp1=(6618-f)*10/115; }if((6388<f)&&(f<=6503)){temp0=3;temp1=(6503-f)*10/115; }if((6271<f)&&(f<=6388)){temp0=4;temp1=(6388-f)*10/117; }if((6152<f)&&(f<=6271)){temp0=5;temp1=(6271-f)*10/119; }if((6029<f)&&(f<=6152)){temp0=6;temp1=(6152-f)*10/123; }if((5901<f)&&(f<=6029)){temp0=7;temp1=(6029-f)*10/128; }if((5766<f)&&(f<=5901)){temp0=8;temp1=(5901-f)*10/135; }if((5623<f)&&(f<=5766)){temp0=9;temp1=(5766-f)*10/143; }}else{temp0=0;temp1=0;}}void main(){uchar i,k;uchar count;Init_timer();count=0;while(1){for(i=0;i<200;i++)for(k=0;k<200;k++)tran();temp0 &=0x0f;temp1 &=0x0f;temp0 =temp0<<4;count=temp0|temp1; disp(count);}}。
(完整)基于单片机的温湿度控制系统
\基于单片机的温湿度控制系统一、研究背景温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度湿度的检测与控制。
并且随着人们生活水平的提高,人们对自己的生存环境越来越关注.而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度湿度的检测及控制就非常有必要了.随着科技的飞速发展和普及,高性能设备越来越多,各行各业对温湿度的要求也越来越高。
传统的温湿度检测模式是以人为基础,依靠人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。
在这种模式下,不仅效率低不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。
而问世监控系统就可以解决这样人才资源浪费,管理不及时的问题,这是由于它的智能化设计所决定的。
故本次设计对于类似项目还具有普遍意义。
二、国内外研究现状(1)温度传感器智能温度传感器(亦称数字温度传感器)在20世纪90年代中期问世。
它是微电子技术、计算机技术和自动测试技术(ATE_)的结晶。
目前,国际上已开发出多种智能温度传感器系列产品.智能温度传感器内部包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。
有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。
智能温度传感器能输出温度数据及相关的温度控制量,适配各种微控制器(MCU),并且可通过软件来实现测试功能,温度计也越来越智能化。
(2)湿度传感器湿度传感器产品及湿度测量属于90年代兴起的行业.湿度传感器主要分为电阻式和电容式两种,产品的基本形式都是在基片上涂覆感湿材料形成感湿膜。
空气中的水蒸汽吸附在感湿材料上后,元件的阻抗、介质常数发生很大的变化,从而制成湿敏元件。
近年来,国内外在湿度传感器研发领域取得了较大的发展。
湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展。
温湿度测量系统--基于单片机和温度传感器DS18B20、HS1101是电容式空气湿度传感器
摘要此温湿度测量系统是基于单线式温度传感器DS18B20、电容式湿度传感器单片机STC89C52 对温度湿度分别测量并通过液晶显示屏1602经行显示。
温度传感器DS18B20是单线式,体积超小,硬件开消超低,抗干扰能力强,精度高,附加功能强的理想单片机温度传感器,可实时根据指令给出温度数据,可读性高。
HS1101是电容式空气湿度传感器,在不同的湿度环境下呈现出不同的电容值,0%~100%RH湿度范围内,电容从162PF变化到200PF,误差误差为2%RH。
可见其精度非常高,为了反映出其电容的变化,本系统采用555多谐震荡电路产生不同的频率,用于检测湿度。
单片机采集到两个传感器给出的数据进行处理与计算,得出当前的温度与湿度并送给液晶屏显示。
本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。
关键词:温湿度测量系统精度高速度快体积小Abstract: The temperature and humidity measurement system is based on singleline type temperature sensor DS18B20, capacitive moisture sensorSCM STC89C52 for temperature humidity measurement and respectively by LCD display. The line 1602 Temperature sensor DS18B20 is singleline type, volume super-small, hardware KaiXiao ultra-low, strong anti-jamming capability, high precision, additional features strong ideal single-chip microcomputer temperature sensor, real-time temperature data, depending on the directive given readable. HS1101 is capacitive sensor, air humidity in different humidity presents different capacitance, 0% ~ 100% RH humidity, within the scope of capacitance change to 200PF, from 162PF error for 2% RH error. e can see its precision is very high, in order to reflect the capacitance change, the system USES the 555 more harmonic concussion circuits produce different frequency, which is used to detect humidity. SCM acquisition to two sensor gives data processing and calculated, the current temperature and humidity and give the display on the LCD panel. This system has a readable, high stability, reaction speed, measured values exact characteristic.Keywords: temperature and humidity measurement system high precision speed small volume目录1.设计要求 (3)2. 方案设计及论证 (3)2.1 总体方案设计 (3)2.2系统主要单元的选择与论证 (3)2.2.1单片机控制模块的选择论证 (3)2.2.2温度湿度检测模块的选择与论证 (3)2.2.3显示模块的选择与论证 (3)2.3 系统组成 (4)3. 理论分析及计算 (4)3.1 (4)3.2..........................................................................................错误!未定义书签。
基于DS18B20的数字温度测量系统
基于DS18B20的数字温度测量系统毋剑【摘要】A new type of programmable temperature sensor DS18B20 is introduced,which can replace the analog temperature sensors and signal processing circuit and communicate directly with the single-chip computer to complete the acquisition and data processing of th%介绍一种新型的可编程温度传感器DS18B20,它能代替模拟温度传感器和信号处理电路,直接与单片机沟通,完成温度采集和数据处理.并且能够人工设置温度,当温度超过或低于人为设定的温度时,发出红灯或黄灯报警.DS18B20与AT89S51单片机结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量.【期刊名称】《宁德师范学院学报(自然科学版)》【年(卷),期】2011(023)002【总页数】4页(P171-173,185)【关键词】AT89S51单片机;DS18B20传感器;ROM;单线接口方式【作者】毋剑【作者单位】宁德师范学院物理与电气工程系,福建宁德352100【正文语种】中文【中图分类】TP368.11 系统主要器件概述1.1 AT89S51简介AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能8位微处理器,俗称单片机.该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容.由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[1].1.2 DS18B20概述DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器.与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式.可以分别在93.75ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源.因而使用DS18B20可使系统结构更趋简单,可靠性更高.它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果. 独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;在使用中不需要任何外围元件;可用数据线供电,电压范围:+3.0~+5.5 V;测温范围:-55~+125℃.固有测温分辨率为0.5℃;通过编程可实现9~12位的数字读数方式;用户可自设定非易失性的报警上下限值;支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温;负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作[2].2 系统硬件电路分析系统电路如图1所示.3.1 DS18B20电路DS18B20具有独特的单线接口方式,在硬件电路设计上DS18B20与单片机AT89S51连接时,仅需要一条口线即可实现与DS18B20的双向通讯.实现对DS18B20的控制,并将DS18B20传感器采集到的数据传送到单片机,通过数据管显示出来,在使用中不需要任何外围元件,可用数据线供电.图1 系统电路图3.2 显示电路采用内部共阴接法的4个数码管的LED排阵,这样硬件上引脚比较少,连线会比较少.当单片机P1口送出段码时,只要相应的位上送出低电平,就可以正常显示.本来是用共阳LED,并用PNP三极管作开关控制位选,这样电流会比较大(利用带灌电流驱动数码管),显示的亮度比较高.但后来为了节省硬件资源,就把三极管去掉了,因为P1口内部是具有上拉电阻的,具有8个TTL的带载能力,所以用它的带拉电流直接驱动数码管,亮度也是可以令人满意的(个别情况下还需要加200Ω或470Ω的限流电阻)[3].3.3 按键电路用于触发各个功能设置状态和加一、减一处理.为了免去程序中不可靠的去抖动处理,在用带自锁的按钮开关作为触发功能设置的按键,又把加一、减一按键分别接到两个外部中断输入口(INT0、INT1)上.这样也可以保证在没有去抖动处理的情况下正常触发按键.3.4 发光报警电路利用单片机IO口的带灌电流驱动发光二极管报警[3].二极管负端接到单片机IO口,正端串联一个限流电阻接到5V电源.当温度超过设置的上限值,红灯对应的IO口输出低电平,发光二极管PN结导通,发出红光报警;当温度低于设置的下限值,黄灯对应的IO口输出低电平,发出黄光报警.4 温度测量系统的软件程序设计4.1 主程序的实现主程序的任务是控制单总线,实现DS18B20的温度采集,并调度数据处理子程序、显示子程序、温度比较控制子程序,并判别是否有设置各种状态的触发,若有进行相应的设置处理,若没有则一边显示温度一边等待采集时间到后,再进行下一轮的温度采集.流程图如图2所示.4.2 读取DS18B20当前温度子程序该子程序用来实现从DS18B20读到有效的温度数据.该操作的重点是对DS18B20写入控制命令,而且每一次写命令之前都必须先它初始化,还由于板上只有一个DS18B20,不需要对其内部ROM进行匹配,所以每次写操作命令之前还需要写入跳过ROM匹配的命令.还有就是,系统需要对分辨率进行可调整处理,所以还必须根据用户操作情况,改变DS18B20内部配置寄存器的R0、R1的值,来改变DS18B20采集输出的温度数据有效位.同样对配置寄存器进行写操作之前,也需要先初始化器件,跳过ROM匹配,再写控制命令,由于配置寄存器默认地位于写寄存器的第三个字节,所以还必须对TH和TL寄存器写入空值(TH、TL寄存器用于上、下限温度报警,但由于系统程序对报警温度的控制是用软件控制,而不是用DS18B20,所以不对这两个寄存器进行操作).程序中是这样处理的,先判断当前设置的分辨率档数,若是0档,则保证配置寄存器的R0和R1为11,以12位有效位输出;若是1档,则对配置寄存器的R0和R1位写入00,以8位有效位输出.DS18B20的数据输出有效位还可以设置为10位、11位.流程图如图3所示.4.3 显示温度子程序为正常的显示温度,需先建两个段码表,一个有带小数点的共阴八段数码表,一个是没有带小数点的共阴七段数码表.再根据之前分离出的小数、个、十、百位去查段码表,其中个位要去查八段数码表(因为有带小数点),查到段码后输出到P1口输出,同时显示位所控制的位口要有效[4].每一位切换需要有一定的延时.本段程序采用for循环来实现,这样KEIL软件在反汇编时,产生的字节数会比较少,所以在单片机内部ROM占用的空间比较少.流程图如图4所示.图2 主程序流程图图3 读温度子程序流程图5 温度测量系统的调试装配好系统硬件电路,供直流5V电源,烧写程序到主控制芯片AT89S51,进行调试:首先验证DS18B20初始化子程序、读温度子程序、读一个字节子程序、写一个字节子程序等是否运行正常,能否正确采集到温度,其次在保证了DS18B20的温度采集正常的情况下,验证数据处理子程序和显示子程序的运行是否正常,能否正常显示采集到的温度,最后验证程序能否进行温度上、下报警设置,能否进行正常的发光报警.由于本次设计较复杂且内容较多,经过一番努力与认真调试,调试成功.图4 显示温度子程序流程图本设计以DS18B20数字温度传感器为基础,采用MCS-51单片机AT89S51为控制器,实现一个温度测量范围-55~125℃,精度±2℃(-10~85℃内±0.5℃)、数据采集频率从 1S一次到 60S一次可调、温度数据采集分辨率两档可调、高/低温度阈值可设置的报警、正常显示采集温度值的数字温度测量系统.参考文献:[1]李全利.单片机原理及应用技术 [M].北京:高等教育出版社,2001:32-33.[2]王守中.51单片机开发入门与典型实例 [M].北京:电子工业出版社,2007:185-187.[3]清华大学电子学教研组.数字电子技术基础 [M].北京:高等教育出版社 1998:184-185.[4]潭浩强.C程序设计 [M].北京:清华大学出版社,2001:177-178.。
基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统-论文
目录☆摘要 (2)☆课题任务 (4)☆第1章总体方案设计 (5)☆第2章.智能开发版部分2.1. 51系列单片机的原理图 (7)2.1.1.基本51系列单片机的原理图及STC12C5A60S2主要性能 (7)2.1.2. STC12C5A60S2单片机部内部结构 (7)2.2 51系列单片机的引脚功能 (9)2.2.1. I/O端口线输入输出引脚 (9)2.2.2.控制线控制引脚 (10)2.2.3.外接晶体端 (10)2.3 51系列单片机的时序 (10)2.4.1 智能最小系统的LED显示器接口 (11)2.4.2 音频放大电路 (12)☆第3章.关于DS18B20的介绍3.1.DS18B20简介 (13)3.2单总线数字温度计硬件设计原理部分 (13)3.3 DS18B20的封装及内部结构 (14)3.4 DS18B20的测温原理 (14)3.5 DS18B20的工作时序 (15)3.6 DS18B20与单片机的典型接口设计 (15)3.7 DS18B20的精确延时问题 (16)3.8 DS18B20工作原理及应用 (16)3.9 控制器对18B20操作流程 (17)3.10 DS18B20芯片与单片机的接口 (18)☆第4章.程序4.1温度监测51单片机程序 (18)4.2测温程序流程框图 (25)☆第5章.调试过程软件、硬件调试 (27)☆第6章效果展示6.1实现效果 (27)6.2 实物效果图 (27)☆附一:硬件原理图 (28)☆附二:材料清单 (28)☆致谢 (30)☆参考文献 (31)摘要温度是一种最基本的环境参数,在工农业生产及日常生活中对温度的测量及控制具有重要意义。
温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。
由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位,约占50%。
以往,在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要此温湿度测量系统是基于单线式温度传感器DS18B20、电容式湿度传感器单片机STC89C52 对温度湿度分别测量并通过液晶显示屏1602经行显示。
温度传感器DS18B20是单线式,体积超小,硬件开消超低,抗干扰能力强,精度高,附加功能强的理想单片机温度传感器,可实时根据指令给出温度数据,可读性高。
HS1101是电容式空气湿度传感器,在不同的湿度环境下呈现出不同的电容值,0%~100%RH湿度范围内,电容从162PF变化到200PF,误差误差为2%RH。
可见其精度非常高,为了反映出其电容的变化,本系统采用555多谐震荡电路产生不同的频率,用于检测湿度。
单片机采集到两个传感器给出的数据进行处理与计算,得出当前的温度与湿度并送给液晶屏显示。
本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。
关键词:温湿度测量系统精度高速度快体积小Abstract: The temperature and humidity measurement system is based on singleline type temperature sensor DS18B20, capacitive moisture sensorSCM STC89C52 for temperature humidity measurement and respectively by LCD display. The line 1602 Temperature sensor DS18B20 is singleline type, volume super-small, hardware KaiXiao ultra-low, strong anti-jamming capability, high precision, additional features strong ideal single-chip microcomputer temperature sensor, real-time temperature data, depending on the directive given readable. HS1101 is capacitive sensor, air humidity in different humidity presents different capacitance, 0% ~ 100% RH humidity, within the scope of capacitance change to 200PF, from 162PF error for 2% RH error. e can see its precision is very high, in order to reflect the capacitance change, the system USES the 555 more harmonic concussion circuits produce different frequency, which is used to detect humidity. SCM acquisition to two sensor gives data processing and calculated, the current temperature and humidity and give the display on the LCD panel. This system has a readable, high stability, reaction speed, measured values exact characteristic.Keywords: temperature and humidity measurement system high precision speed small volume目录1.设计要求............................................................................... 错误!未定义书签。
2. 方案设计及论证 (3)2.1 总体方案设计 (3)2.2系统主要单元的选择与论证 (3)2.2.1单片机控制模块的选择论证 (3)2.2.2温度湿度检测模块的选择与论证 (3)2.2.3显示模块的选择与论证 (3)2.3 系统组成 (3)3. 理论分析及计算 (4)3.1 (4)3.2.......................................................................................... 错误!未定义书签。
4. 系统电路设计 (4)4.1单片机主控电路设计 (4)4.2 DS18B20温度检测模块和HS1101湿度检测模块电路设计 (5)4.2.1 HS1101湿度检测传感器工作原理 (7)4.2.2 DS18B20温度检测传感器工作原理 (7)4.4.3蜂鸣器电路原理 (8)4.3 1602液晶显示模块电路设计 (8)5. 系统软件设计 (9)5.1 软件设计流程图 (9)5.2 软件设计分析 (10)6. 系统测试 (10)6.1主要指标测试 (10)6.2测试结果分析 (11)7. 结论 (11)参考文献 (11)附录 (13)附录一:系统的总原理图 (13)附录二:系统的PCB元件分布图 (14)附录三:程序清单 (17)附录五:元器件清单 (28)1. 方案设计及论证2.1 总体方案设计经分析,将系统分为两个 部分,一个是由温湿度传感器组成的检测部分,另一个是由单片机和1602液晶组成的主控与显示部分。
如图所示DS18B20和HS1101湿度检测电路将检测到的数送到单片机,单片机对接收到的数据进行处理并送到1602显示,5V 稳压电源给各个部分供电。
图2.1 系统组成框图 2.2 系统主要单元的选择与论证2.2.1单片机控制模块的选择论证方案一:采用XC9000系列的FPGA 。
该类器件具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵。
方案二:采用单片机作为控制核心,单片机数学运算功能较强。
在程序相互调用方面,处理方便灵活,性能稳定,适合实际应用。
且单片机技术发展较为成熟,价格便宜。
基于以上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用方案二。
2.2.2温度湿度检测模块的选择与论证方案一:选用DHT11作为温湿度检测模块。
DHT11是一款数字输出的复合传感器,包含一个电阻式感湿元件和NTC 式温度检测元件,可测20~90%RH 湿度,误差5%RH ,0~50摄氏度,误差2摄氏度。
方案二:选用DS18B20温度传感器和HS1101湿度传感器。
DS18B20是一线式数字温度传感器,具有独特的单线式接口方式,测量范围在-55℃~125℃,-10℃~85℃,误差为-\+0.5℃。
最高精度可达0.0625℃。
HS1101是电容式湿度传感器,可测相对湿度范围在0%~100%RH ,误差为-\+2%RH 。
方案选择,有上述数据可知,根据设计要求(温度测量范围为-10-50℃,湿度为0-100%; 温度测量误差为0.1℃,湿度测量误差为3%;),从设计要求的精度来看,本方案更优。
综上所述,虽然方案一具有综合作用,但是方案二的测试范围和精度都由于方案一,故本模块采用方案二。
2.2.3显示模块的选择与论证方案一:采用12864液晶模块显示测得的数据,可显示较多组的数据,字体较大,可清晰读数,但12864液晶模块价格昂贵,接线复杂,故不采用。
方案二:采用1602液晶模块显示所测数据,1602液晶接线简单方便,同时也能满足显示需要,价格远低于12864液晶。
因此,本方案为首选方案。
综上所述,显示模块选择方案二。
2.3 系统组成本系统由单片机主控电路、DS18B20温度检测模块、HS1101湿度检测模块、1602液晶单片机 显示模块 HS1101湿度检测电路DS18B20温度检测 电源显示模块4部分组成,其中单片机主控电路2.理论分析及计算3.1 HS1101的湿度测量方法分析HS1101是电容式湿度传感器,由于电容不可直接测量,故选用555多谐震荡电路检测到频率,然后由单片机计算的电容值,再根据电容值算出相应的湿度值。
3.1HS1101的湿度测量计算电路如图 4.2 ,由电路可知图3.1电容值与相对湿度值的关系t 充电 =C(R2 +R1 ) ln2t 放电 =CR4 ln2因而 , 输出的方波率f= 1 /(t 充电 +t 放电 )= 1/[C(R2+ 2 R1) ln2 )]由图3.1可知相对湿度与电容的关系可看成直线段,所以有相对湿度RH=2.7C+163所以有3.系统电路设计4.1单片机主控电路设计单片机主控电路原理图如下所示:图4.1 单片机主控电路原理图单片机主控模块包括了振落电路、复位电路,同时接入了各个模块的接口,保证了整个系统的灵活性。
单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。
硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。
这种设计方法可以降低系统设计的复杂性。
控制电路的核心器件是由美国Atmel公司生产的AT89S52单片机,属于MCS-51系列。
AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。
因此广泛应用于工业控制和嵌入式系统中。
4.2 DS18B20温度检测模块和HS1101湿度检测模块电路设计DS18B20温度检测模块和HS1101湿度检测模块电路原理图如下所示:图4.2.1 DS18B20温度检测模块和HS1101湿度检测模块电路原理图图4.2.2 DS18B20温度检测模块和HS1101湿度检测模块电路仿真图图4.2.3 DS18B20温度检测模块和HS1101湿度检测模块电路仿真结果图4.2.1 HS1101湿度检测传感器工作原理T1为HS1101湿度检测传感器,其工作电路由555多谐振荡器来实现,HS1101作为电容变量接在555芯片的2、5脚之间,引脚7用作电阻R2的短路,等量电容HS1101通过R1、R2充电到门限电压(约0.67V),通过R4放电到触发电平,然后R2通过7短路到地,传感器由不同的电阻R1、R2充放电,进行工作循环,形成方波。