基于单片机的无线温度远程采集监测报警器的设计毕业论文(设计) - 图文 联系客服

发布时间 : 星期五 文章基于单片机的无线温度远程采集监测报警器的设计毕业论文(设计) - 图文更新完毕开始阅读c81a766eb5daa58da0116c175f0e7cd18425182b

由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。

2.2 nRF24L01概述

nRF24L01是一款功耗低的新型单片射频收发器件,工作2.4GHz~2.5GHz ISM频段。数据的传输率为l Mb/s或2Mb/s,供电电压1.9V~3.6V,内置频率合成器,功率放大器,晶体振荡器,调制器的功能模块和增强型ShockBurst技术,其输出功率与通信信道可以由程序配置[4]。

nRF24L01可以通过配置寄存器配置为发射、接收、空闲及掉电这四种工作模式,具体如表2-1所示。

表2-1 nRF24L01工作模式

模式 接收模式 发射模式 发射模式 待机模式2 待机模式1 掉电 PWR_UP 1 1 1 1 1 0 PRIM_RX 1 0 0 0 - - CE 1 1 1→0 1 0 - FIFO寄存器状态 - 数据在TX FIFO 寄存器中 停留在发送模式,直至数据发送完 TX_FIFO为空 无数据传输 - 2.3 DS18B20温度传感器

DS18B20是单线数字温度传感,体积小,适用电压更宽而且更加经济实惠,测温范围为-55°C~+125°C。由于DS18B20温度检测与数字数据输出都集中在一个芯片上,所以大大提

[5]

高了抗干扰能力。DS18B20的工作周期可分为温度检测和数据处理两个部分。用于存放DS18B20ID编码的ROM 只读存储器,它共有64位ROM。用于内部计算和数据存取的RAM 数据暂存器。

DS18B20测量的精度高,电路的连接相对简单,多个DS18B20可以并联至3根或2根端口线上,并且CPU只需要一根线就能够和多个DS18B20进行通信,其占用的微处理器端口比较少,可以节约较多的引线与逻辑电路。像这样的传感器仅仅只需一条数据线就可以进行数据的传输。

3 硬件系统设计

3.1 硬件系统总体结构

随着生活水平的不断提高和科学技术的逐渐进步,人们对温度监测数据的精度要求也越来越严格。然而传统的温度测量装置在环境、成本等因素下很难满足现在的需求。本设计选用DS18B20作为温度采集元件,配合低功耗单片机的使用就能够很巧妙地克服传统上的不足。而且本文采用nRF24L01无线传输模块,打破了传统操作中距离受限布线复杂等问题,使系统操作更容易实现。本设计由STC89C52作为主控CPU, DS18B20温度采集模块、nRF24L0l无线收发模块和显示模块组成整个系统,如图3-1所示。

5

温度检测模块MCU无线发射模块温度显示模块MCU无线接收模块

图3-1系统总体架构图

3.2 无线收发模块

本模块由nRF24L01及其外围电路组成。nRF24L01作为单片射频收发芯片。温度无线传输采用NRF24L01无线模块,nRF24L01单端匹配网络:晶振,偏置电阻,去耦电容。如图3-2与图3-3。

图3-2 NRF24L01无线发射接线图 图3-3 NRF24L01无线接收模块接线图

3.3 显示模块

显示采用LCD1602显示,经过无线传输后,温度数据信息将在1602液晶显示芯片上进行显示,1602液晶显示芯片采用标准的16脚接口[7],显示电路如图3-4。

图3-4 显示电路

3.4 声光报警电路

电路通过三极管基极串连一个电阻与单片机P2.6端口连接从而达到控制蜂鸣器是否报警。当外界温度超过预设温度上下限时,为更加有效的引起注意,及时关注温度的变化,本系统设计了声报警电路。电路如图3-5所示。

6

图3-5声音报警电路图

3.5 按键控制电路

本电路设计了三个按键,一个设置键、一个加键、一个减键。设置键控制温度上下限的选择,加减键调节温度的上下限值。如图3-6所示。

图3-6 按键连接电路图

3.6 温度采集模块

温度传感器DS18B20可直接与单片机相连完成数据的采集与处理,本设计中与发送端单

[8]

片机的P26连接,接口电路如图3-7所示。

图3-7 温度传感器接口电路

7

3.7 电源模块

发射和接收都采用3节1.5 V干电池共4.5V做电源,经过实验验证在系统工作时,单片机、传感器的工作电压稳定都能够满足系统的要求,而且电池更换比较方便。

电源接口电路如图3-8其中P1为电池接口,SW2为电源开关。D3为电源指示灯。

图3-8 电源接口电路

4 系统软件设计

4.1 软件设计思路

应用系统中的应用软件是根据系统功能要求设计的,应稳定正确的实现系统的各种功能。在本系统中,软件设计要求做到以下几点:

(1)软件结构要清晰,简洁,流程合理。

(2)各个功能的程序实现模块化。这样,即便于调试,链接,又方便移植、修改。 (3)在程序存储区,数据存储区需要合理的规划,既能够节约内存的容量,又能操

[9]

作方便。

(4)运行状态实现标志化管理。各个功能程序运行状态,运行结果以及运行要求都要设置状态标志以便查询,程序转移,控制都可通过状态标志条件来控制。

4.2 主程序流程图设计

首先对LCD1602初始化,再进行按键扫描,设定温度的上下限值,然后对无线接收模块进行初始化,接着传输温度数据,并判断是否有超出人工设定的范围,要是超过了就启动报警程序,要是不超过则继续判断,如此循环。

4.2.1 发送部分

发送部分的一个循环的总体思路是这样的,先初始化nRF24L01,从DS18B20读出温度(DS18B20采用默认的12位精度),将得到的温度值的反码转化成十进制,取温度数组的高两位(即整数部分)写入发送数据数组,然后初始化nRF24L01,将温度发送,其流程图如图4-1所示。

8