基于单片机的无线远程温度监控系统设计内容摘要:

92 小体积封装形式,温度测量范围为- 55℃~+ 125℃,可编程为 9 位~ 12 位 A/D 转换精度,测温分辨率可达 ℃,被测温度用符号扩展的 16 位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个 DS18B20 可以并联到 3 根或 2 根线上, CPU 只需一根端口线就能与多个 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 它具有测量精度高,电路连接简单特点,此类传感器仅需 要一条数据线进行数据传输,使用 P10 与 DS18B20 的 I/O 口连接 , VCC 接电源 ,GND 接地。 VCC403938373635343332EA/VPP31ALE30PSEN292827262524232221VSS20XLAT219XLAT118RES9RXD/1043215678TXD/11INT0/12INT1/13T0/14T1/15WR/16RD/17AT89S51123DA1VCC4K7R4GNDDQVCCDQGNDDQ 图 34 温度传感器应用电路 无线收发电路模块 的设计 NRF24L01 是一款新型单片射频收发器件 , 工作于 ~ ISM 频段。 内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块 , 并融合了增强 Shock Burs 技术,其中输出功率和通信频道可通过程序进行配置。 NRF24L01 功耗低 , 在以6dBm的功率发射时,工作电流也只有 9mA; 接收时,工作电流只有 ,多种低 功率工作模式 (掉电模式和空闲模式 )使节能设计更方便。 NRF24L01 主要特性 有GFSK 调制:硬件集成 OSI 链路层 ; 具有自动应答和自动再发射功能 ; 片内自动生成报头和 CRC 校验码 ; 数据传输率为 l Mb/s 或 2Mb/s; SPI 速率为 0 Mb/s~ 10 Mb/s;系统的硬件设计与实现 9 125 个频道:与其他 NRF24 系列射频器件相兼容 ; QFN20 引脚 4mm4mm 封装 ; 供电电压为 ~。 NRF14L01 的封装及引脚排列如图 35 所示。 CE1CSN2SCK3MOSI4MISO5VDD_PA11ANT112ANT213VSS14VDD151616VSS VSSDVDD18VDD1719IREF2076VSSVDD8XC1XC2IRQ109 图 35 NRF24L01管脚图 发射数据时,首先将 NRF24L01 配置为发射模式 : 接着把接收节点地址 TX_ADDR和有效数据 TX_PLD 按照时序由 SPI 口写入 NRF24L01 缓存区 , TX_PLD 必须在 CSN为低时连续写入,而 TX_ADDR 在发射时写入一次即可,然后 CE 置为高电平并保持至少 10μs,延迟 130μs后发射数据 ; 若自动应答开启,那么 NRF24L01 在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR 一致)。 如果收到应答,则认为此次通信成功, TX_DS 置高,同时 TX_PLD从 TX FIFO 中清除 ; 若未收到应答,则自动重新发射该数据 (自动重发 已开启 ),若重发次数 (ARC)达到上限, MAX_RT 置高, TX FIFO 中数据保留以便在次重发 ; MAX_RT或 TX_DS 置高时,使 IRQ 变低,产生中断,通知 MCU。 最后发射成功时 , 若 CE 为低则 NRF24L01 进入空闲模式 1; 若发送堆栈中有数据且 CE 为高,则进入下一次发射 ; 若发送堆栈中无数据且 CE 为高,则进入空闲模式 2。 接收数据时 , 首先将 NRF24L01 配置为接收模式,接着延迟 130μs进入接收状态等待数据的到来。 当接收方检测到有效的地址和 CRC 时,就将数据包存储在 RX FIFO中,同时中断标志位 RX_DR 置高, IRQ 变低,产生中断,通知 MCU 去取数据。 若此时自动应答开启,接收方则同时进入发射状态回传应答信号。 最后接收成功时,若CE 变低,则 NRF24L01 进入空闲模式 1。 SPI 口为同步串行通信接口,最大传输速率为 10Mb/s,传输时先传送低位字节,再传送高位字节。 但针对单个字节而言,要先送高位再送低位。 与 SPI 相关的指令共有 8 个,使用时这些控制指令由 NRF24L01 的 MOSI 输入。 相应的状态和数据信息是从 MISO 输出给 MCU。 系统的硬件设计与实现 10 NFR24L01 模块采用 ,其应用电路及电源转换电路如图 36 所示。 VCC403938373635343332EA/VPP31ALE30PSEN292827262524232221VSS20XLAT219XLAT118RES9RXD/1043215678TXD/11INT0/12INT1/13T0/14T1/15WR/16RD/17AT89S51VCC12345678CONS2GNDMISOSCKCECSNMISIIRQ+CECSNSCKMISOMISIIRQVCCGND10uFC710uFC8Cap Pol1+Vin VoutGNDLM317R15200R16600 图 36 NRF24L01应用电路 显示电路模块的设计 如图 37 所示,采用 1602 LCD 显示。 1602 字符型 LCD 通常有 14 条引脚线或 16条引脚线的 LCD,多出来的 2 条线是背光电源线 VCC(15 脚 )和地线 GND(16 脚 ),其控制原理与 14 脚的 LCD 完全一样, 具体各个脚的功能如表 31。 表 31 LCD引脚功能表 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源( +5V) 3 V0 LCD对比度调整端,接正电源时对比度最弱,接地时对比度最高 4 RS RS为寄存器选择,高电平时选数据寄存器、低电平时选指令寄存器。 5 R/W R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。 6 E E(或 EN)端为使能 (enable)端,下降沿使能。 7 DB0 底 4位三态、 双向数据总线 0位(最低位) 8 DB1 底 4位三态、 双向数据总线 1位 9 DB2 底 4位三态、 双向数据总线 2位 10 DB3 底 4位三态、 双向数据总线 3位 11 DB4 高 4位三态、 双向数据总线 4位 12 DB5 高 4位三态、 双向数据总线 5位 13 DB6 高 4位三态、 双向数据总线 6位 14 DB7 高 4位三态、 双向数据总线 7位(最高位)(也是 busy flag) 系统的硬件设计与实现 11 由于 1602 LCD 具有功耗低、寿命长、体积小、显示内容丰富、接口控制方便等优点。 因此在各类电子产品中被广泛的推广和使用。 本系统采用它来作为显示器件,不仅简化了硬件电路,而且极大的提高了系统的可靠性。 如图 38 所示。 1602 LCD与单片机 AT89S52 的连接电路很简单。 VSS1VDD2GND3RS4RW5E6D07D18D29D310D411D512D613D714LCD1 图 37 LCD1602管脚图 VCC403938373635343332EA/VPP31ALE30PSEN292827262524232221VSS20XLAT219XLAT118RES9RXD/1043215678TXD/11INT0/12INT1/13T0/14T1/15WR/16RD/17AT89S51GNDVCCRSWREVSS1VDD2GND3RS4RW5E6D07D18D29D310D411D512D613D714LCD1VCCGNDRSEWR1 2 3 4 5 6 7 8 9RP1 图 38 LCD1602应用电路 报警电路 模块的设计 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 压电式蜂鸣器 : 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共系统的硬件设计与实现 12 鸣箱、外壳等组成。 有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。 当接通电源后( ~ 15V 直流工作电压) , 多谐振荡器起振 , 输出 ~ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。 电磁式蜂鸣器:电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。 振动膜片在电磁线圈和磁铁的相互缠绕。 本设计应用三极管驱动蜂鸣器同时点亮发光二极管实现报警,其应用电路如图39 所示。 VCC403938373635343332EA/VPP31ALE30PSEN292827262524232221VSS20XLAT219XLAT118RES9RXD/1043215678TXD/11INT0/12INT1/13T0/14T1/15WR/16RD/17AT89S511KR11KR2LED1LED2VCCVCCVCCQ19012SpeakerGND 图 39 报警电路 电路原理及说明 将以上各个电路模块连接起来,即构成无线远程监控系统,总系统工作原理如下:温度传感器对实验现场的温度进行采集,副控芯片 AT89S51 对采集温度数据进行处理,将有用数据送给发射模块 NRF24L01,主系统的接受模块 NRF24L01 接受数据送给主控芯片 AT89S51, AT89S51 对数据进行分析处理,对现场实际温度进行显示;另外,可以人工通过独立键盘对所测温度进行监控,先设定好规定的温度范围,当采集的温度超过此范围时,蜂鸣器响,同时点亮发光二极管,通过按键选择,可以独立实现声音报警、发光报警及声光同时报警;当检测温度不在设定范围内时,系统正常运行,时刻显示着现场的温度值。 系统程序的设计 13 4 系统程序的设计 主程序的设计 主程序包括主系统程序设计,子系统程序设计和报警程序设计。 主系统程序 负责键盘设定 值的检测,上下门限设定值的显示,通过无线模块接收子系统发送来的数据并显示在 LCD 上,并且判断接收的温度是否超出门限值,如果超出就进行报警操作。 主系统 流程图如图 41 所示。 图 41 主系统程序流程图 子系统负责对温度的数据采集,经过处理后通过无线模块发送出去。 子系统程序流程图如图 42 所示。 键盘设定值检测 设定值显示 实际值显示 接收副系统数据 返回 主程序 温度超出范围否。 报警 Y N 系统程序的设计 14 图 42 子系统程序流程图 报警程序通过对接收到的实际值与设定值进行比较,当温度小于报警下限 值时,进行报警下限处理,当温度大于报警上限值时,进行报警上限处理。 报警程序流程图如图 43 所示。 图 43 温度报警子程序流程图 设定值与实际值比较 温度小 于报警下限。 温 度 大于报警上。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。