闫俊强 乔志伟 陈泳安
【摘要】51单片机是常用于控制的芯片,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成果。使用51单片机能够实现温湿度全程的自动控制,而且易于学习、掌握,性价比高。使用单片机设计温湿度控制系统,可以及时、精确的反映室内的温度及湿度的变化,完成诸如升温到特定温度、降温到特定温度、在温度上下限范围内保持温等多种控制方式,在湿度控制方面也是如此。 本文利用51单片机设计一个温室的温湿度控制系统,对给定的温湿度进行控制并实时显示,其中温湿度信号各有四路,系统采用一定的算法对信号处理以确定采取某种控制手段,在本系统中采用温度优先模式,循环处理。
【关键词】单片机;温湿度;LCD显示;ADC0809
引言
温湿度的检测与控制是工业生产过程中比较典型的应用之一,在生产中,温湿度的高低对产品的质量影响很大。国内外对温湿度检测的研究,从复杂模拟量检测到现在的数字智能化检测越发的成熟,随着科技的进步,现在对于温湿度研究,检测系统向着智能化、小型化、低功耗的方向发展。
AT89C51是一种低功耗、高性能CMOS8位微控制器,使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容[1]。本设计以此为出发点,用新型的智能集成温温度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89C51进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。根据工作环境要求设定系统的温湿度阈值,利用1602液晶显示屏实时地测量显示环境的温湿度值,实现温湿度自动控制,使其在较宽的温度范围内具有较高的测试精度,同时还可以根据预设定报警阈值报警,一旦发现环境温湿度超限,立即报警。
1.系统总体方案设计
1.1 设计内容
用新型的智能集成温温度传感器SHT10主要实现检测温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89C51进行数据的分析和处理,为显示和报警电路提供信号。设定模块主要为设定温湿度报警的阈值[2]。如图1所示。
图1 设计模块图
1.2 方案选择
1.2.1 温湿度传感器的选择
采用数字式传感器,起初选择DS18B20和SHT10作为温度和湿度测量元件,但是SHT10包含相对湿度传感器、温度传感器,所以把SHT10作为温湿度检测的一个整体。SHT10作为典型的温湿度传感器,在测量过程中可对相对温湿度进行自动校准,准确的测量温湿度。产品互换性好,相应速度快,抗干扰性强,不需要外部参考源和外部器件[3]。
综上所述,SHT10与温湿敏元件的温湿度测量以及模拟测量的元器件相比,起数字温湿度传感器低成本,内部集成复杂,测量准确,而且能够提供数字输出,简化外部测量电路,精度高,适用广泛的测量范围,并且本设计的温湿度检测系统相适合。因此,选择温度湿度传感器SHT10作为此次设计中的测量元件。
1.2.2 显示器的选择
方案一:数码管显示,数码管按段数分为七段数码管和八段数码管,其驱动方式分别为静态驱动和动态驱动,静态驱动编程简单,显示亮度高但是占用I/O端口多,在十几应用时必须增加译码器驱动进行驱动,增加了硬件电路的复杂性。动态电路是最广泛的显示方式之一,其能够节省大量的I/O端口,而且功耗低。针对数码管,其显示单调不具备数据的直观性[4]。
方案二:LCD1602液晶显示,具有字符发生器ROM可显示192种字符(160个5?7点阵字符和32个5*10点阵字符)具有64个字节的自定义字符RAM,可自定义8个5?8点阵字符或四个5*11点阵字符。具有80个字节的RAM,标准的接口特性,适配M6800系列MPU的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。
综上,选择LCD1602能够把温湿度很直观的显示出来,能够在设定阈值时更能简洁明了,所以选择LCD1602为显示元件。
3.系统的硬件选择及设计原理
3.1 温湿度传感器SHT10
SHT10的供电电压范围为2.4~5.5V, 建议供电电压为3.3V。在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。SHT10的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理。传感器不能按照I2C 协议编址,但是如果I2C 总线上没有挂接别的元件,传感器可以连接到I2C 总线上,但单片机必须按照传感器的协议工作。SCK 用于微处理器与SHT10之间的通讯同步[5]。
3.2 单片机选择与介绍
本系统控制电路的核心器件采用的是美国ATMEL生产的AT89C51单片机属于MCS-51系列。
3.2.1 AT89C51芯片介绍
89C51是Intel公司于80年代初推出的8位嵌入式微控制器(内部数据总线为8位,外部数据总线为8位),它与MCS-96系统中的其它芯片相比,具有性能高、功能全、售价低廉、使用方便(48PINDIP)等优点。89C51在工业应用方面有许多明显的特点,它具有灵活方便的8位总线外围支持器扩展功能,而在数据处理方面又有8位微机的快速功能。由于大的高度集成化已把许多常驻用的输入检测输出控制通道都制作在同一块硅片上,大大地灵活了外部连线,增强了系统的稳定性并且速度快(时钟12MHz),非常适合于工业环境下安装使用。因此本系统CPU选用89C51芯片。
3.2.2 复位电路
RST引脚是单片机复位端,高电频有效。在引脚端输入至少连续两个单片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一个10KΩ的下拉电阻,与VCC引脚之间接一个约10μF的电解电容,即可保证上电自动复位。
3.2.3 晶振电路
在单片机电路中晶振的作用非常大,结合单片机内部的电路,产生单片机所必需的时钟频率,单片机的一切指令的执行都是建立在晶振的基础上。
晶振利用一种特殊的晶体,在电能和机械能之间相互转化产生共振,提供稳定精确的单频震荡,为系统提供基本的时钟信号。
3.2.4 显示电路
本设计显示部分采用字符型TC1602液晶显示所测温湿度值并且显示控制界面。TC1602实物图如图3.10所示。
LCD1602显示器主要特点:
液晶显示屏是以若干个5*8或5*11点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。
具有80个字节的RAM,标准的接口特性,适配M6800系列MPU的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。颜色分单色(黑白)、彩色两种。
为便于夜间观察,可采用由LED或ELD器件构成的背景光源。液晶显示器属于被动发光型显示器件,它本身不发光,只能反射或透射外界光线,因此环境亮度越高,显示越清晰。其亮暗对比度可达100:1。单+5V电源供电,采用交流驱动方式[6]。
使用时,可将P0与LCD的数据线相连,P2口与LCD的控制线相连,其中,TC1602第4脚RS为寄存器选择,第5脚RW为读写信号线,第6脚E为使能端。第7~14脚:D0~D7为8位双向数据线。
这里要注意的是,为了布线方便,单片机端的D0~D7是接到LCD/602的D1~D0,(下转第24页)(上接第22页)正好相反,因此在编写软件时需要做处理,使读取正确。
3.2.5 报警电路
本设计采用的是声光报警,设定报警的上下限值实现报警功能,使用单片机的中断系统。
根据单片机接收到的数据经过处理后与该参数设定的上下限进行比较,高于上限值(或低于下限值)则进行报警,同时能进行正常的显示。
报警电路中,以红色LED和蜂鸣器构成,在输入温湿度的上下限后,系统会进行实时采样,并判断测试温湿度与输入温湿度之间的差异,当检测出的温湿度在设定的温湿度上下限外就会报警,即红色LED亮,同时蜂鸣器响。
4.软件设计
整个系统的功能是由硬件电路配合软件程序来实现的,从软件的功能不同,可以分为两的类:一是主程序,它是整个软件的核心,专门用来协调各个执行模块和操作者的联系。二是子程序,它是用来完成各种实质性的工作的,如测量、计算、显示、通讯等,每一个执行软件就是一个小的执行模块。
主程序模块:
主程序主要完成硬件初始化,子程序调用等功能。
在主程序中,对温湿度传感器,LCD1602液晶显示器的初始化,同时调用传感器数据,进行显示,之后进行阈值判断并启动报警装置。主程序执行流程如图2所示。
图2 主程序模块
5.调试
软件调试:
软件调试主要使用Proteus软件和Keil C51软件。在软件调试中,首先在绘制电路图,并设置各元器件的参数。然后在Keil C51软件编写程序,并编译后输入PROTEUS中进行仿真。
仿真结果如图3所示。
6.小结
在设计中,主要是以AT89S51单片机为核心的,对温度和湿度的检测与控制智能化进行了简单的设计与阐述。对MCS-51单片机系统的温湿度检测控制原理与结构进行了论述。本次设计可以说是软硬结合,又以硬件为主,软件程序为辅。给出了检测系统与控制系统的各部分电路以及相对应的程序。采用模块化、层次化设计。用新型的智能集成温温度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89S51进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。报警系统根据设定报警的上下限值实现报警功能,显示部分采用字符型TC1602液晶显示所测温湿度值。实验证明该设计系统实现了对环境温湿度精确控制,达到了相应的效果,系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。
参考文献
[1]沙占友.智能化集成温度传感器原理与应用[M].机械工业出版社,2002.2-5.
[2]沙占友,葛家怡,马洪涛,等.集成化智能传感器原理与应用[M].电子工业出版社,2004.74-81.
[3]徐爱钧.智能化测量控制仪表原理与设计[M].北京航空航天大学出版社,2007.114-126.
[4]周航慈.单片机应用程序设计技术[M].北京航空航天大学出版社,2000.189-214.
[5]白静.数字电路与逻辑设计[M].西安电子科技大学出版社,2009.37-56.
[6]何希才.常用传感器应用电路的设计与实践[M].科学出版社,2007.165-170.