0 引言
随着数字信息时代的不断发展,基于单片机的数据采集系统凭借结构紧凑、工作性能稳定、可扩展性好、功能丰富等优点,得到了充分的重视和广泛的应用。人是恒温动物,人体的肝、脾、胆以及血压、血液成分等会随着气温的变化受到不同程度的影响,舒适的气温有利于健康。
本文针对室温对基于单片机的智能温度数据采集系统进行进一步分析和研究。该系统分为两部分:室温的数据采集器和监控室内温度的上位PC机。采集器基于STC15F2K61S2单片机,实现对室温的实时监测,显示及对相关设备进行控制,以达到控制室温的效果。
1 系统的总体设计
系统整个过程包括信号的采集、单片机对信号处理、采集数据的实时显示、温控设备的智能控制,最后将采集数据上传至PC机存储分析,系统原理如图1所示。系统包括前端的温度传感器、单片机、按键、数码管显示、空调等温控设备、PC机。其中,单片机是核心设备,主要完成采集信号的处理和转换,将转化后的数据信息显示在数码管上。同时,根据温度变化自动控制空调、风扇、暖气,并将数据存储到上位PC 机的数据库内,可显示当天室温变化的情况和历史变化趋势曲线,空调、暖气设备的使用状况。
1.1单片机I/Ο口分配
对于单片机控制下的智能温度采集系统而言,单片机是系统设计的核心部分,合理使用单片机的I/Ο口资源是系统设计成功与否的关键。本系统将单片机的P0,P2口分别用于控制数码管的字位码和字形码,P1.0口用于将传感器检测的模拟信号输入至单片机内部的A/D转换器,P3.0和P3.1与上位PC机实现串口通信,P3.2~P3.4接按键,P3.5~P3.7接温控设备。
1.2 A/D转换模块
将温度传感器采样的信号进行数据采集,由单片机同时触发启动转换过程,转换完毕后读入单片机,并进行进一步的信号处理。本系统使用的ADC转换器模块为STC15系列单片机内部集成的8路10位高速ADC转换器模块,模拟信号输入端口设置在P1端口的8个引脚上,本系统仅使用P1.0作为模拟信号输入口。ADC转换器模块涉及的主要寄存器有:
(1)ADC控制寄存器ADC_CONTR(见表1)。
(2)A/D 转换中断有关的寄存器 IE(见表 2)。
EA:总中断允许控制位,置 1 开总中断。
EADC:ADC使能控制端,置1开ADC中断。
当EA =1,EADC =1时 ,ADC控 制 寄 存 器ADC_CONTR中的ADC_FLAG是A/D装换结束标志位,也是A/D转换结束的中断请求标志位。
该模块中主要包括两部分程序:ADC初始化程序和ADC中断服务程序。其中,初始化程序主要用于将P1口设置为ADC的输入通道,启动ADC转换器,并开启CPU中断,等待A/D转换结束的中断请求。程序设计流程如图2所示。
当A/D转换结束后,ADC转换器工作停止,同时相应的中断标志位ADC_FLAG被置为1,程序跳转至ADC中断服务程序入口,在ADC中断服务程序中,主要完成的工作为清除中断标志位,并计算出A/D转换的数字量,然后重新启动ADC转换器。ADC中断服务程序工作流程如图3所示。
1.3数据存储、分析模块
单片机采集到室温后,经过数据处理,需将结果上传给PC机做数据的存储和分析。由于上传的数据量较小,本系统采用串行口通信进行数据传送。上位机接收到实时数据后,需要将实时室温存储至数据库中,为历史数据的管理和分析提供可靠数据支撑。
本系统使用的数据库为SQL Server,通过JDBC提供的接口编写JAVA语言连接数据库并对数据库进行操作。数据存储流程如图4所示。
2 结语
单片机的智能温度采集与分析系统能够实时记录室内温度的变化情况,并能够在温度不适宜人体健康时智能控制温控设备,调节室内温度。
参考文献
[1]董巍巍,李钊,李建军。基于单片机的数据采集系统设计[J].计算机与网络,2013(12):34-36.
[2]邢献芳,刘建华,郝绒华,等。基于单片机的数字式温湿度数据采集器的研制[J].冶金自动化,2006(Z1):1013-1015.
[3]刘明龙,刘浩,王腾。基于单片机的智能数据采集系统[J].科技博比,2009(32):167.
[4]谭晶星,阴晓峰。一种低成本的单片机数据采集系统[J].电脑知识与技术,2009(4):2726-2728.