APP下载

基于单片机AT89C51的温度测控系统

2014-06-13

科技视界 2014年9期
关键词:数码管键盘温湿度

郭 爽

(武汉理工大学,湖北 武汉 430070)

1 系统总体分析与设计

1.1 总体方案

1)温度监控:对温室温度进行测量,并通过升温或降温达到植被的最佳温度。

2)湿度监控:对温室湿度进行测量,并通过喷雾或去湿达到植被的最佳湿度。

3)控制处理:当温度、湿度越限时报警,并根据报警信号提示采取一定手段控制。

4)显示:LCD 就地显示输入值和相应的温湿度,数码管摆放在生产现场用于显示当前的温湿度。

1.2 实施措施

1)实际环境温度与给定界限比较,执行加热/制冷措施。

2)实际环境湿度与给定界限比较,执行加湿/去湿措施。

3)越限报警:当温湿度越限时声光报警。

4)键盘显示:负责用户的输入及相关数据的显示,其中包括LED和LCD 显示。

1.3 硬件系统设计

经过上面的总体方案和实施措施的讨论后可以开始着手硬件系统的设计,硬件系统是应用系统的基础、软件系统设计的依据。

主机与主要部件的选择:

根据总体功能和性价比及其运行速度等因素的考虑,选用MCS-51 系列的89C51 为主机,满足上面的要求而且设计方便,不需要再存储扩展。

数据存储片内设有128B,外部有8279 的256B,而由于存入的数据是随时更新的且不计小数位,存入8 个16 进制数字,其总共需要的容量只有16B,已经够用。 对外部模拟量(温度、湿度)采样,选用ADC0809 能够满足要求。

温室温湿度控制系统是以89C51 单片机作为中央控制装置,模数转换器ADC0809,风扇,加热设备,加湿设备,排潮设备,键盘显示芯片等,其功能和原理如下:

1)89 C51 作为中央控制装置,负责中心运算和控制,协调系统各个模块的工作。

2)四路采样温度信号采样简单平均处理,温度保存为整数。

3)四路采样湿度信号采样简单平均处理,温度保存为整数。

4)模数转换器ADC0809:即由模拟信号转换为数字信号。 它共有8 个模数转换通道。 模数的转换共有2 种方法。 一种是利用INT0 中断,当一次转换结束后,ADC0809 使INT0 产生中断,通知系统转换完毕;另一种使用延时方法,开始转换后系统延时100 微秒等待转换完成。 本方案采用延时转换的方法。

5)键盘显示芯片:用8729 识别键盘,负责用户的输入及相关的数据的LED 显示。 例如选择系统的工作模式,用户输入温度及湿度的界限数据,显示实时的温度及湿度值等等。

6)风扇:负责系统的降温工作。

7)加热设备:负责系统的加热工作。

8)喷雾设备:负责系统的加湿工作。

9)排潮设备:负责系统的去湿工作。

2 温湿度采样与控制系统

2.1 温湿度采样系统

为了更精确的反映温室的温度和湿度,取温湿度各4 路信号采样简单平均处理作为温室的温度和湿度。 在分辨率达到的前提下,温湿度的精度为1%。

2.2 温湿度控制系统

首先,系统启动后,提示用户输入温度的上限与下限的温度值。用户输入之后,系统自动求出中间值,根据实际温度的情况采取相应的方案。

如果该时刻的实际温度值低于用户给定的下限温度值时,系统立即启动报警装置,且系统处于升温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间内时停止升温。 反之,如果实际温度值高于用户设定的上限值时,系统也会立即启动报警装置,且系统处于降温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间内时停止降温。

选择中间值作为控制参数, 防止升温——降温——升温的死循环,因为温度低于下限时会一直升温,可能导致温度高于上限系统又开始降温,这样系统便一直重复升温——降温——升温过程,导致设备在某一个温湿度点附近频繁的启停,使设备寿命下降,而且没有实际意义。

选择中间值的一定区间,是防止达到中间值时,采取了停止升温或者降温措施,温度还是会持续上升或下降一会儿,这时候温度可能不是正好在中间值处,系统便还是采取升温或者降温的措施,而此时的温度值可能已经是很适合植被生长的需要的温度值。所以本方案选在中间值的正负一度区间内,认为此区间内都是适合的,不产生任何控制动作变化,这样就能解决设备频繁启停问题。

2.3 键盘显示系统

键盘显示系统采用8279 芯片控制16 键的键盘和8 个七段数码管,以实现用户的输入与数据输出。 16 个键分别是“0”到“F”,对应的键值是0 到15 不需要键值的转换。 七段数码管采用共阴极。

2.4 报警系统

报警系统由声音报警和警报灯报警组成。 声音报警通过P1.0 口接SD 口控制系统的音效模块发声, 用CPU 控制P1.0 产生一定频率的方波就可以实现音效模块的发声。音效模块是一个带有扬声器的放大电路。

3 硬件调试方案

3.1 硬件电路的调试

此部分的任务是在系统连接好后,调试各个组件能否正常工作,能否实现软件设计的预期目标。 其步骤如下:

1)按照系统设计,将系统需要的各个组件连接好。

2)实验说明书,了解各个组件的工作原理,开始着手调试芯片。

3)试ADC0809 芯片。按照说明书调用CON_W.ASM 汇编程序,运行,观察现象。 现象正确,说明ADC0809 芯片正常,可以使用。

4)电机,按照说明书调用直流电机相应的汇编程序,运行,观察现象。

3.2 功能模块的调试方案

把各个功能模块编写成单独的源文件进行调试, 调试成功以后,再将各部分联合在一起。

整个系统的编写、调试是从8279 开始的。 控制8279 原理虽然简单,但需要细节却很多,如选择显示寄存器与送段码的顺序,8279 的初始化等待时间等。

用户温度输入数据时上限、下限分别在七段数码管的0、1、2、3 位置显示,湿度输入数据时上限、下限分别在七段数码管的 4、5、6、7 位置显示。 读键存储的过程是循环程序。 可循环等待直到用户输入正确并确认为止。

温湿度判断控制模块也一个非常重要的模块,由于温湿度对于植被的生长起着决定性的作用,因此,如果这两个因素控制不好,这个系统就失败了,这就需要我认真的考虑这一模块的控制方式,调试阶段比较顺利。

[1]蔡菲娜.单片微型计算机原理和应用[M].杭州:浙江大学出版社,2003.

[2]周坚.单片机轻松入门[M].北京:北京航空航天出版社,2002.

[3]孙育才.MCS-51 系列单片微型计算机及其应用[M].南京:东南大学出版社,2004:231.

[4]公孙茂,马宝匍,孙晨.单片机入口接口实例集[M].北京:北京航空航天出版社,2002:120.

猜你喜欢

数码管键盘温湿度
键盘猫
温湿度控制器在回收砂冷却系统中的应用
Cлово месяца
基于DSP的多路温湿度监测系统
ikbc R300机械键盘
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
基于Qt的数码管数字编码系统的设计与实现
基于温湿度控制的天气预测装置