温湿度检测控制系统Word文件下载.docx
《温湿度检测控制系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《温湿度检测控制系统Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
温湿度采集模块
报警模块
LCD显示模块
电源模块
单
片
机
控
制
模
块
图2-1设计模块图
要求如下:
1、用单片机通过编程来实现温湿度的显示与控制;
2、通过LCD来显示温湿度的数值;
3、能够实现超阈值的报警;
4、检测范围与精度:
温度检测范围:
-30℃~+100℃测量精度:
1℃
湿度检测范围:
0~100%RH检测精度:
%RH
温湿度传感器方案选择
方案一:
湿度检测采用湿敏元件,其主要分为电阻式和电容式。
湿敏电阻的种类多,灵敏度高,但是起线性度和产品的互换性差。
湿敏电容灵敏度高,产品互换性搞,响应速度快,偏于实现产品小型化和集成化,是精度一般比湿敏电阻要低一些。
综合湿敏元件,其线性度可抗污染性差,在湿度的检测环境中湿敏元件需要时刻在检测环境中,很容易受到环境污染从而影响其测量精度和持续的稳定性。
温度检测采用最基本的热电偶和热敏电阻。
热电偶应用广泛,价格便宜而且耐用。
种类多,能够覆盖非常宽的温度范围,最高温度可以到达2000℃。
但是其非线性、响应速度慢、精度中等、灵敏度低、稳定性低、高温下容易老化和有线性漂移,并且测量需要参考量。
热敏电阻,该传感器主要随温度的变化阻值发生变化,主要用于-200到500℃温度范围内的温度测量。
其温度系数要大而且需要稳定的温度源,反应速度快,工艺好价格低,测温环境稳定。
方案二:
温湿度检测采用集成模拟传感器,其灵敏度高、线性度好、响应速度快,而且它可以和信号处理电路及逻辑控制电路集成在一起,使用方便。
湿度传感器选用HS1101,温度传感器选择AD590。
这两个传感器,在接入电路中,都需要A/D转换器,把模拟信号转换成数字信号从而是单片机存储采集到的数据。
方案三:
采用数字式传感器,起初选择DS18B20和SHT10作为温度和湿度测量元件,但是SHT10包含相对湿度传感器、温度传感器,所以把SHT10作为温湿度检测的一个整体。
SHT10作为典型的温湿度传感器,在测量过程中可对相对温湿度进行自动校准,准确的测量温湿度。
产品互换性好,相应速度快,抗干扰性强,不需要外部参考源和外部器件。
综上所述,SHT10与温湿敏元件的温湿度测量以及模拟测量的元器件相比,起数字温湿度传感器低成本,内部集成复杂,测量准确,而且能够提供数字输出,简化外部测量电路,精度高,适用广泛的测量范围,并且本设计的温湿度检测系统相适合。
因此,选择温度湿度传感器SHT10作为此次设计中的测量元件。
显示器方案选择
数码管显示,数码管按段数分为七段数码管和八段数码管,起驱动方式分别为静态驱动和动态驱动,静态驱动编程简单,显示亮度高但是占用I/O端口多,在十几应用时必须增加译码器驱动进行驱动,增加了硬件电路的复杂性。
动态电路是最广泛的显示方式之一,其能够节省大量的I/O端口,而且功耗低。
针对数码管,其显示单调不具备数据的直观性。
LCD1602液晶显示,具有字符发生器ROM可显示192种字符(160个5´
7点阵字符和32个5´
10点阵字符)具有64个字节的自定义字符RAM,可自定义8个5´
8点阵字符或四个5´
11点阵字符。
具有80个字节的RAM,标准的接口特性,适配M6800系列MPU的操作时序。
模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。
综上,选择LCD1602能够把温湿度很直观的显示出来,能够在设定阈值时更能简洁明了,所以选择LCD1602为显示元件。
3系统的硬件选择及设计原理
温湿度传感器SHT10
温湿度传感器SHT10由Sensirion公司生产,其产品具有无可比你的优越性能。
SHT10单芯片传感器内含有已校准数字信号输出的复合传感器,它应用专利的COMS过程微加工技术确保了产品具有极高的可靠性与卓越的长期稳定性。
体积与火柴头相近。
它们不仅能准确测量相对温度,还能测量露点参数。
广泛应用在数据采集器、变送器、自动化过程控制、汽车行业、楼宇控制、暖通空调、电力机房、计量测试、医药业。
实体图如图3-1所示。
图3-1SHT10传感器实体与接口图
接口定义如表3-1所示:
引脚
名称
描述
1
GND
接地
2
DATA
串行数据,双向
3
SCK
串行时钟,输入口
4
VDD
电源
NC
必须为空
表3-1接口定义
SHT10的供电电压范围为~,建议供电电压为。
在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。
SHT10的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理。
传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作。
SCK用于微处理器与SHT10之间的通讯同步。
由于接口包含了完全静态逻辑,因而不存在最小SCK频率。
DATA引脚为三态结构,用于读取传感器数据。
当向传感器发送命令时,DATA在SCK上升沿有效且在SCK高电平时必须保持稳定。
DATA在SCK下降沿之后改变。
为确保通讯安全,DATA的有效时间在SCK上升沿之前和下降沿之后应该分别延长至TSUandTHO当从传感器读取数据时,DATATV在SCK变低以后有效,且维持到下一个SCK的下降沿。
为避免信号冲突,微处理器应驱动DATA在低电平。
需要一个外部的上拉电阻(例如:
10kΩ)将信号提拉至高电平。
上拉电阻通常已包含在微处理器的I/O电路中。
电路热性
电气特性,如能耗,高、低电平,输入、输出电压等,都取决于电源。
表3-2详细解释了SHT10的电气特性,若没有标明,则表示供电电压为5V。
若想与传感器获得最佳通讯效果。
参数
条件
最小
典型
最大
单位
供电电源DC10
V
供电电流
测量状态
mA
平均值11
28
μA
休眠状态
低电平输出电压
IOL<
4mA
250
mV
高电平输出电压
RP<
25kΩ
90%
100%
低电平输入电压
下降
0%
20%
高电平输入电压
上升
80%
焊盘上的输入电流
输出电流
开
三态(关)
10
20
表3-2SHT10直流特性,RP表示上拉电阻,IOL指低电平输出电流
VDD对GND的绝对最大值为+7V和。
如果传感器工作在绝对最大值条件下时间过长,会影响传感器的稳定性(如:
热载流效应,氧化)。
加重的DATA线由传感器控制,普通的DATA线由单片机控制。
有效时间依据SCK的时序。
数据读取的有效时间为前一个切换的下降沿。
如图3-2所示。
图3-2SHT10时序图
传感器特点:
相对湿度和温度一体测量
精确露点测量
全量程标定,无需重新标定即可互换使用
两线制数字接口(最简单的系统集成,较低的价格)
高可靠性(工业CMOS工艺)
优化的长期稳定性
基于请求式检测,因此低能耗
具有湿度传感器元件的自检测能力
传感器元件加热应用,亦可获得极高的精度和稳定性全量程标定
技术参数:
湿度测量范围:
0~100%RH
湿度测量精度:
%RH(20到80%RH)
湿度测量复现性:
±
%RH
湿度测量分辨率:
温度测量范围:
-40~+℃
温度测量精度:
0.5℃在25℃时;
0.9℃(0到40℃)
温度响应时间:
≤20秒
温度测量重复性:
0.1℃
温度测量分辨率:
0.01℃
其温湿度特性曲线如图3-3所示。
图3-3温湿度特性曲线
单片机选择
本系统控制电路的核心器件采用的是美国ATMEL生产的STC89C52单片机属于MCS-51系列。
STC89C52实物如图3-4所示。
图3-4单片机STC89C52实物图
主要性能:
与MCS-51单片机产品兼容
8K字节在系统可编程Flash存储器
1000次擦写周期
全静态操作:
0Hz~33Hz
三级加密程序存储器
32个可编程I/O口线
三个16位定时器/计数器
八个中断源
全双工UART串行通道
低功耗空闲和掉电模式
掉电后中断可唤醒
看门狗定时器
双数据指针
掉电标识符
单片机介绍
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
本设计电路中STC89C52单片机的电路图如图3-5所示。
图3-5STC89C52框图
脚口介绍:
8位微控制器8K字节在系统可编程FlashSTC89C52。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,和分别作定时器/计数器2的外部计数输入(T2)和定时器/计数器2的触发输入(T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
T2(定时器/计数器T2的外部计数输入),时钟输出。
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)。
MOSI(在系统编程用)。
MISO(在系统编程用)。
SCK(在系统编程用)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,即P3口输出电流(IIL)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如下表3-3所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚
第二功能
RXD(串行输入口)
TXD(串行输出口)
INTO(外中断0)
INT1(外中断1)
TO(定时/计数器0)
T1(定时/计数器1)
WR(外部数据存储器写选通)
RD(外部数据存储器读选通)
表3-3P3口引脚与第二功能
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是器件是使用12V编程电压Vpp。
复位电路
RST引脚是单片机复位端,高电频有效。
在引脚端输入至少连续两个单片机周期的高电频,单片机复位。
使用时,在引脚与VSS引脚之间接一个10KΩ的下拉电阻,与VCC引脚之间接一个约10μF的电解电容,即可保证上电自动复位。
本设计中复位电路如图3-6所示。
图3-6复位电路
晶振电路
在单片机电路中晶振的作用非常大,结合单片机内部的电路,产生单片机所必需的时钟频率,单片机的一切指令的执行都是建立在晶振的基础上。
晶振利用一种特殊的晶体,在电能和机械能之间相互转化产生共振,提供稳定精确的单频震荡,为系统提供基本的时钟信号。
晶振元器件实物图如图3-7所示。
图3-7晶振实物图
C1、C2为负载电容,X1为晶振,12MHz。
设计中晶振电路如图3-8所示。
图3-8晶振电路
显示电路
本设计显示部分采用字符型TC1602液晶显示所测温湿度值并且显示控制界面。
TC1602实物图如图3-9所示。
LCD1602显示器主要特点:
液晶显示屏是以若干个5´
8或5´
11点阵块组成的显示字符群。
每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。
主控制驱动电路为HD44780(HITACHI)及其他公司全兼容电路,如SED1278(SEIKOEPSON)、KS0066(SAMSUNG)、NJU6408(NERJAPANRADIO)。
具有字符发生器ROM可显示192种字符(160个5´
颜色分单色(黑白)、彩色两种。
为便于夜间观察,可采用由LED或ELD器件构成的背景光源。
液晶显示器属于被动发光型显示器件,它本身不发光,只能反射或透射外界光线,因此环境亮度越高,显示越清晰。
其亮暗对比度可达100:
1。
单+5V电源供电,采用交流驱动方式。
图3-9TC1602实物图
使用时,可将P0与LCD的数据线相连,P2口与LCD的控制线相连,其中,TC1602第4脚RS为寄存器选择,第5脚RW为读写信号线,第6脚E为使能端。
第7~14脚:
D0~D7为8位双向数据线。
这里要注意的是,为了布线方便,单片机端的D0~D7是接到LCD/602的D1~D0,正好相反,因此在编写软件时需要做处理,使读取正确。
LCD显示电路如图3-10所示。
图3-10显示电路
报警电路
本设计采用的是声光报警,设定报警的上下限值实现报警功能,使用单片机的中断系统。
根据单片机接收到的数据经过处理后与该参数设定的上下限进行比较,高于上限值(或低于下限值)则进行报警,同时能进行正常的显示。
报警电路中,以指示灯和蜂鸣器构成,在输入温湿度的上下限后,系统会进行实时采样,并判断测试温湿度与输入温湿度之间的差异,当检测出的温湿度在设定的温湿度上下限外就会报警,即指示灯亮,同时蜂鸣器响,电机转动。
报警电路如图3-11所示。
图3-11报警电路
4软件设计
整个系统的功能是由硬件电路配合软件程序来实现的,当硬件基本定型的时候软件也基本定下拉了,从软件的功能不同,可以分为两的类:
一是主程序,它是整个软件的核心,专门用来协调各个执行模块和操作者的联系。
二是子程序,它是用来完成各种实质性的工作的,如测量、计算、显示、通讯等。
每一个执行软件就是一个小的执行模块,这里将每一个模块一一列出来,并为每个执行模块进行功能定义和接口定义。
各执行模块规划好以后,就可以规划监控软件了。
首先要根据系统的总体功能选择一种最合适的主程序结构,然后根据实时性的条件,合理安排监控软件和执行软件之间的调度关系。
主程序模块
主程序主要完成硬件初始化,子程序调用等功能。
在主程序中,对温湿度传感器,LCD1602液晶显示器的初始化,同时调用传感器数据,进行显示,之后进行阈值判断并启动报警装置。
主程序模块框图如图4-1所示。
开始
1602与SHT10初始化
温湿度采集子程序
温湿度处理子程序
读取成功
温湿度数据是否超限
声光报警
显示温湿度
是
图4-1主程序模块
SHT10初始化流程
该流程主要对传感器的初始化进行设计,流程图如图4-2所示。
图4-2SHT10初始化流程图
LCD初始模块
LCD上电时,都必须按照一定的时序对LCD进行初始化操作,主要任务是设置LCD的工作方式,显示状态,清屏,输入方式,光标位置等。
LCD初始化如图4-3所示。
图4-3LCD1602初始化流程图
5系统调试
Proteus软件调试
软件调试主要使用Proteus软件和Keil4软件。
在软件调试中,首先在Proteus中绘制电路图,并设置各元器件的参数。
然后在Keil4软件编写程序,并编译后输入Proteus中进行仿真。
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
Proteus软件除了其具有和其它EDA工具软件的一样的原理布图,还可以电路仿真。
不止是对单片机的仿真还对其外围器件进行仿真。
其特点是:
实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片