基于C8051F340的温湿度监测系统
2013-09-04徐龙飞赵莹莹
刘 寅,李 晓,徐龙飞,赵莹莹
(中北大学 信息与通信工程学院,山西 太原 030051)
0 引言
现有的有线温湿度系统使用时安装非常复杂,接线容易混乱[1],因此,本文开发了基于C8051F340的温湿度监测系统。该系统使用无线射频收发模块nRF24L01P来代替传统线缆,使整个系统简单且便于安装;使用数字式AM2302传感器,省去A/D转换过程,能够同时直接获得温度和湿度的数字信号,调试方便;使用C8051F340单片机为主控芯片来控制整个系统。
1 系统整体框架及工作原理
本系统由两部分组成,上位机部分和下位机部分。在下位机部分,由AM2302传感器实时监测温度和湿度的数字信号,通过I/O口将数字信号发送给主芯片C8051F340,在单片机的控制下温、湿度数据再通过nRF24L01P模块以无线射频方式发送到另一个nRF24L01P模块中,从而将温、湿度数据传到上位机部分,同时,主芯片将温、湿度数据显示在下位机的液晶屏上。在上位机部分,C8051F340主部件会将从无线模块接收到的温、湿度数据做两种处理:一种是将数据通过液晶模块显示出来;另一种是通过串口UART0进行通信将数据传给PC机,通过PC机的软件开发可以对温度和湿度数据进行显示、处理和绘图。温、湿度监测系统的结构框图如图1所示。
2 硬件电路的设计
2.1 温湿度数据传感器
AM2302是一款4引脚的具有高可靠性和稳定性的数字式传感器。其具有响应速度快、抗干扰性强、性价比高、体积微小和超低功耗等优点。数据传送只占用一个I/O接口使用起来非常方便。只需要将DATA引脚与C8051F340的一个I/O端口引脚连接,由于连接线短于18m,DATA引脚接5kΩ上拉电阻,另外再连接VDD引脚和GND引脚即可。
图1 温、湿度监测系统结构框图
2.2 无线模块
nRF24L01P是一款8引脚的工作频率为2.4GHz~2.5GHz的无线收发模块,其数据传送通过单片机上的SPI总线接口实现,具有非常低的电功率损耗,在其传输状态下最低电损耗可达到11mA[2]。无线模块的连接方式是将nRF24L01P的CSN、SCK、MISO、MOSI这4个引脚分别与单片机的4个I/O口引脚连接;nRF24L01P的CE引脚是芯片使能端,直接连接电源VDD;CSN是片选端;SCK是输入SPI时钟端;MISO是主机输入从机输出端;MOSI是主机输出从机输入端。无线模块和温湿度传感器与单片机的连接如图2所示。
3 软件程序的设计
3.1 温、湿度数据的采集
单次采集时,AM2302通过单总线接口给单片机传送40bit温、湿度数据。总线在上拉电阻作用下在被释放时一直被拉高,首先C8051F340通过拉低总线1ms~10ms然后释放总线20μs~40μs的方式对AM2302进行初始化。随后C8051F340随时检测AM2302是否返回80μs的低电平回馈信号来表示已准备好发送数据了。若未收到回馈信号则结束;若收到,随后AM2302会拉高总线80μs,接下来就会给单片机发送40bit数据;若AM2302未拉高总线则结束。
图2 无线模块和温湿度传感器与单片机的连接图
被传送的数据是0还是1是这样分辨的,50μs的低电平随后70μs的高电平表示1,而50μs的低电平随后26μs~28μs的高电平表示0。温、湿度数据采集流程如图3所示。
图3 温、湿度数据采集流程图
3.2 无线发送流程
C8051F340拉低nRF24L01P的引脚CE使其运行在待机状态,并对其控制寄存器进行状态写入以准备接受单片机传来的数据。C8051F340通过地址TX_ADDR的辨识,将数据TX_PLD利用SPI总线接口传送给nRF24L01P。C8051F340将PRIM_RX拉低,然后再拉高CE超过12μs,将nRF24L01P置于发送状态,随后nRF24L01P上电向外传送数据。若数据成功传送,nRF24L01P就会收到回馈信号,然后寄存器状态位TX_DS会被置于高状态从而TX_FIFO中的数据被删除;若没有收到应有的回馈信息,则返回重新开始,数据将被重新传送。单次数据发送流程如图4所示。
图4 nRF24L01P单次数据无线发送流程图
3.3 液晶显示设计
液晶显示模块使用前需要先对其进行初始化,然后按照所需的功能进行程序指令的调用即可。首先用区域填涂指令LCDDrawDollop将屏幕平铺为红色,然后用font指令设置温湿度数据的文字大小、颜色和背景颜色,再用字符串显示指令GUI_DisplayStr显示温、湿度数据。
4 结论
经过实地测试,本文设计的温湿度监测系统运行稳定可靠,其无线传输距离在无障碍的情况下达到了80m,具有一定的实际应用价值。
[1] 朱玉颖,蔡占辉.基于nRF24L01的远程温度检测系统设计[J].自动化技术与应用,2010(5):56-58.
[2] 荚庆,王代华,张志杰.基于nRF24L01的无线数据传输系统[J].现代电子技术,2008(7):68-71.