基于单片机的无线温度监测系统设计
2021-12-06孟翰文李昊柏植
孟翰文 李昊 柏植
摘要:设计是基于STC89C52微型控制器的无线温度监测系统设计,本设计中使用DS18B20做为温度采集芯片,NRF24L01无线芯片来实现无线通信。采用按键控制的方法进行设置报警阈值温度的上下限。采用分离模块化设计,发送模块进行温度测集并通过总线传输至单片机,继而使用无线发送模块传送至接收模块,再传输至单片机最终使用LCD1602液晶进行显示。本设计的主要功能是进行实时温度测量且通过无线方式传输并最终在屏上显示,上下限温度范围可通过按键设定,实测温度超出温度范围则蜂鸣器报警。经过实物调试,可以完成预期的实物调制功能。
关键词: STC89C52单片机;无线; 温度监测;告警
1无线温度监测系统整体方案设计
1.1 系统设计要求
本次设计的目的是能够实现实时监测环境的温度且能实现无线通信并显示,采用了STC89C52单片机作为核心微型处理器,利用NRF24L01芯片做为无线通信模块来进行实时通信,并使用DS18B20进行实时环境的温度监测,本次设计的核心功能如下。
(1)系统中发送和接受的信息利用无线通信进行传输。
(2)系统的相关环境的温度信息通过显示器件显示。
(3)系统具备报警功能。
1.2 系统设计方案
本设计采用DS18B20作为温度模块的芯片,旨在可以进行快捷的环境温度实时监测,其温度传感器芯片具有组网的功能,且适用于各种环境下的温度采集。系统以STC89C52单片机、晶振电路模块、复位电路模块、无线模块及按键模块、报警模块、液晶显示模块、温度监测模块构成;其结构框图则如图1所示。
2 无线温度监测系统硬件模块设计
2.1STC89C52RC单片机最小系统设计
本设计以STC89C52RC为核心控制器,与其他的模块包括晶振电路模块、复位电路模块、复位电路模块、按键模块、无线模块、温度监测模块、报警模块及液晶显示模块共同组成系统的主电路模块,对发送到达的温度信息进行处理并通过1602液晶进行输出,其可以通过按键模块进行控制,并可以设置监测温度的上下限值。
STC89C52RC单片机最小系统如图2所示。
2.2温度监测模块设计
温度检测芯片DSB18B20的RAM操作指令,其功能指令通过RAM进行发送且由9个字节组成,其中第零和第一字节是温度寄存器的高低字节并且这两个字节是只读状态。第二和第三字节是高温和低温报警寄存器。第四个字节为配置寄存器。通过更改R0、R1的值可以用来设定DS18B20的分辨率,默认设置是12位的分辨率。第五和第六和第七字节无法写入,作为保留字节存在。第八个字节中保存的是循环冗余校验值。
2.4显示模块
本次设计中采用的液晶显示模块为1602液晶显示器,通过显示模块将接收端所接收到的温度信息经由单片机处理后显示出来。且按键设置界面也由1602进行显示,进入设置界面之时,光标会在所要修改的数据上进行闪烁。可以将3K电阻替换成一个10K的电位器,可以更改1602的显示对比度。其中VSS和BLK与单片机的VCC相连接,VDD和VL之间串联一个3K电阻与BLA接到GND引脚,D0~D7可以连接到单片机的P0口,RS、E端口分别接单片机的P1.0/1.1/1.2引脚。
2.6 无线模块
NRF24L01芯片的固件设计主要是由其状态机的状态所决定,其主要設计是由是通过命令和控制线CE引脚、CSN引脚和内部中断IRQ引脚实现的。对于其中的发射节点和接收节点,可以使能ACK和IRQ,通信完成后内部IRQ引脚则是会置于低电平状态。
3 无线温度监测系统软件设计
3.1 系统总体软件设计流程
在软件设计中,定义单片机对应各个端口,定义各个不同变量,在循环中调用1602显示函数,DS18B20驱动程序,构建时延函数以及按键响应程序。
在发送端软件设计流程中,首先要进行模块初始化将各模块至于初始状态,接收到接收端指令后开始读取温度模块数据,再经过无线发送模块发送至接收端,完成后重复该流程。
在接收端软件设计流程中,首先也是进行模块初始化,开始发送和接收信息,成功接收到发送端信息后单片机读取显示模块进行显示,与设定的上下限阈值进行对比后选择是否启动报警模块,扫描按键后重复流程。
3.2DS18B20软件设计
DS18B20芯片中有一个单独的序列号,这个序列号是由64位组成,可以使多个芯片共同在一条总线上使用,方便芯片数据处理。如果想使用芯片则需要先进行模块的初始化,先发送ROM中的指令,最后发送操作指令。RAM指令可以认为是功能操作指令,主要是进行温度转换,RAM中的TH和TL及配置寄存器,将写入的第二、三、四字节复制到EEPROM,或者从EEPROM拷回,还可以读取电源模式。
3.3 NRF24L01软件设计
设计所选用的NRF24L01芯片通信频率为2.4GHz是属于全球开放的ISM频段,其最大的发射功率为0dBm,且无需申请许可。芯片内集成了有关于RF协议的高性能部分,其SPI端口可以利用单片机内部的SPI端口或I/O口进行模拟,内部有FIFO可以与其他未处理端口连接。
参考文献
[1]吴晓云,刘萌.红外遥控定时开关的设计与实现[J].现代电子技术.2015,(12).
[2]吴文珍,安学海.基于单片机的移动无线温度监控系统设计[J].山东理工大学学报,2021.
[3]江丽丽. 温度监测系统设计与误差分析研究[D].东北农业大学,2016.
[4]田大军. 基于STM32无线温度验证仪系统的设计[M].电子产品世界,2020,110~111.
[5]郑州. 多路温度监测预警及控制系统的设计与实现[D].电子科技大学,2015.