基于STC12C5A60S2室内监测系统软件设计

2017-07-09 10:57乐伟伟尤喜
科学与财富 2017年18期
关键词:单片机智能化

乐伟伟+尤喜

摘要:本文以室内环境监测为背景,设计出以STC12C5A60S2低功耗单片机为主芯片的无线环境监测系统。本系统是针对人们的长期居住场所或者工作场所的室内空气质量而设计的。该系统的设计为相关工程领域研究工作提供了理论参考。

关键词:单片机;室内监控;智能化

1软件设计总体架构

程序编写采用模块化设计思想,各个功能模块都编写成独立函数,在主函数中调用各个功能模块。系统中主要的模块有:上电初始化程序,温湿度采集程序,气体采集并进行模数转换程序,液晶显示程序,蜂鸣器报警程序,数据无线收发程序。其中初始化程序包括:液晶屏的初始化、无线收发模块的初始化和传感器模块的初始化等。数据无线收发程序包括:无线发送程序按照需求打包和发送温湿度和甲醛浓度数据,无线接收程序则负责数据的拆包处理数据。

下面是系统软件设计的流程图:

针对流程图,说明如下:

控制接收端上电以后,首先是对液晶屏进行初始化,准备显示有采集端采集到的温湿度数据,同时无线收发模块也完成初始化配置。之后,接收端开始不断的发送控制命令和地址,若有节点应答则将传输过来的数据送显示。数据采集发送端上电之后,首先是对温湿度傳感器DHT21和甲醛传感器模块MS1100进行初始化,同时也完成无线发送模块的初始化配置。之后采集节点就开始进行数据采集,A/D模数转换等操作,将采集来的数据存储起来。此时无线模块开始不断检测是都有控制端发送控制命令和地址数据,若有,则将数据包经处理后,送给MCU进行地址匹配。若匹配,则将存储的采集到的数据由无线模块发送出去。若不匹配,则不作任何处理。在整个系统中,无线收发程序主要负责接收和发送已经打包过的数据。打包操作由nRF905自动完成,数据接收方根据通信协议将接收到的数据包进行拆包处理,取出有用的数据。同时检验包中的CRC字节以验证接收到数据的正确性,当收到有效数据后,再由MCU控制送至1602LCD显示模块,实时显示出来。

2温湿度传感器模块程序设计

DHT21需要5V的供电电压。给传感器模块上电之后,为了跳过系统不稳定状态,需要延迟1s的时间,中间不需要再发任何指令。在电路设计时最好在电源和电源地之间接一个100nF的电容,以起到去藕滤波的作用。

微处理器和DHT21传感器采用单总线数据格式进行通信,DATA接口是用于两者直接的通讯和同步的。每次通讯时间在5ms左右,数据传输格式如下面的数据所示,数据传输40位,且高位在前:

数据传输格式:16位湿度数据+16位温度数据+8位校验和=40位数据。

例如:接收40bit数据如下:0000 0001 0011 0110 0000 0000 1101 0110

0000 1101

后8位校验和是由湿度的值相加得来的,由湿度的高8位加上低8位,再加上温度的高8位和低8位。

湿度数据 温度数据 校验和

例如:0000 0001+0011 0110+0000 0000+1101 0110=0000 1101(校验和)。

湿度=30.9%RH;温度=21.40℃。

当温度值是负数时,温度数据的最高位为1。

例如:-13.7℃表示为1000 0000 1000 1001。

系统开始工作时,STC12C5A60S2单片机首先发送一次开始信号,使DHT21传感器模块从低功耗工作状态切换到高速状态。当单片机发送的开始信号结束后,DHT21回应一个应答信号,发从40bit的数据给单片机,同时传感器模块触发一次数据采集信号。由于微处理器从DHT21传感器中获得两次数据之间有一定的间隔,当间隔时间较长时,我们需要再取一次温湿度数据。这样才能得到最新的、最准确的数据。

系统不工作时,单总线是一直处于高电平状态。当单片机和传感器进行通信时,STC12C5A60S2单片机会将总线拉低1-10ms的时间,之后释放掉总线。在延迟20-40us的时间后,单片机开始检测DHT21发来的应答信号。

温湿度传感器的应答信号是一个大概80us时间的低电平,高总线大约80us的时间,这时系统就要进入数据传输的状态。

在80us时间后就开始传送数据位,数据位有1和0来表示,每一个bit的数据都是有一段时间的低电平和一段时间的高电平组成。每个bit位的低电平都是相同的时间,都是在50us左右,代表着数据位的开始。后面的高电平的时间长度才决定数据位是0还是1。高电平时间长的代表着数据位1,高电平低的代表着数据位0。每次的数据传输共有40位,传输完最后一位数据时,传感器将再将总线拉位低电平,大概50us的时间,之后就释放掉总线。总线由上拉电阻拉高。

参考文献:

[1]郝妍娜,洪志良.基于MCU和nRF905的低功耗远距离无线传输系统[J].集成电路应用,2007(02).

[2]陈桂友.增强型8051单片机实用开发技术[M].北京:北京航空航天大学出版社,2010:195-196.

[3]张经爱,许凯华,刘玉华.基于MSP430的模拟SP工串口通信的实现[J].计算机工程与设计,2008(29),5.

猜你喜欢
单片机智能化
智能化战争多维透视
住宅小区弱电智能化工程建设实现
智能化的“世界观”
印刷智能化,下一站……
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于“物联网+”的智能化站所初探
基于单片机的平衡控制系统设计