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

与实现 系统硬件电路主要分为:单片机 AT89C51 主控制系统、 DS18B20 温度采集电路、NRF24L01 无线接收和发送模块电路、 LED 数码管显示电路。 设计总框图如图 所示,系统设计总原理图见附录 1。 DS 18 B 20 温度采集 N R F 24 L 01 无线发送AT 89 C 51 单片机处理数码管显示N R F 24 L 01 无线接收AT 89 C 51 单片机处理上位机监控 图 总设计框图 系统硬件概述 硬件电路是由单片机芯片 AT89C51 为控制核心,单片机芯片体积小、成本低,可广泛的嵌入到工业控制单元及各种通信产品中。 DS18B20 数字温度传感器达拉斯公司生产的 1Wire 器件,它与传统的热敏电阻有所不同是,他是直接将被测温度转化成串行数字信号供微机处理,并且根据具体要求,通过简单地编程实现多位的温度读数。 具有线路简单,体积小的特点。 无线收发模块用 NRF24L01,工作于 ~ ISM频段。 NRF24L01 功耗低,在以 6dBm 的功率发射时,工作电流也低于 10mA。 接收时,工作电流一般在 10mA 左右。 多种低功率工作模式 (掉电模式和空闲模式 )使节能设计变得更容易;温度显示部份由 LED 数码管来完成。 主要单元电路的设计 单片机主控制系统电路的设计 单片机是一种集成 电路 芯片,它是一种把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、 只读存储器 ROM、多种 I/O 口和中断系统、定时器 /计时器 等功能集成到一块硅片上构成的一个小而完善的 计算机系统。 单片机的全称是单片微型计算机( Single Chip Microputer)。 为了使用方便,它把组成计算机的主要功能部件:中央处理器( CPU)、数据存储器( RAM)、程序存储器( ROM、 EPROM、 E2PROM 或 FLASH)、定时 /计数器和各种输入 /输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统,因此它又被称为微控制器( Microcontroller)。 7 AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机。 片内含 4KB的可反复擦写的只读程序存储器( PEROM)和 128 bytes 的随机存取数据存储器( RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8 位中央处理器( CPU)和 Flash 存储单元,功能强大 AT89C51 单片机的功能强大可提供许多高性价比的应用场合,可灵活应用于各种控制领域,单片机内部结构如图 所示。 图 单片机内部结构图 AT89C51 单片机为 40 引脚双列直插芯片,管脚说明如下: VCC:供电电压。 GND:接地。 P0 口: 8 位,漏极开路的双向 I/O 口。 当 AT89C51 扩展外部存储器及 I/O 接口芯片时, P0 口作为地址总线(低 8 位 )及数据总线的时分复用端口。 P0 口也可作为通用的 I/O 口使用,但需加上拉电阻,这时为准双向口。 当作为通用的 I/O 口输入时,应先向端口输出锁存器写入 1。 P0 口可驱动八个 LS 型 TTL 负载。 P1 口: 8 位,准双向 I/O 口,具有内部上拉电阻。 P1 口是专为用户使用的准双向I/O 口。 当作为通用的 I/O 口输入时,应先向端口输出锁存器写入 1。 P0 口可驱动 4个 LS 型 TTL 负载。 P2 口: 8 位,准双向 I/O 口,具有内部上拉电阻。 当 AT89C51 扩展外部存储器及I/O 时, P2 口作为地址总线(高 8 位)输出高 8 位地址。 P2 口也可作 为通用的 I/O 口使用,当作为通用的 I/O 口输入时,应先向端口输出锁存器写入 1。 P2 口可驱动 4 个LS 型 TTL 负载。 P3 口: 8 位,准双向 I/O 口,具有内部上拉电阻。 P3 口也可作为通用的 I/O 口使用,当作为通用的 I/O 口输入时,应先向端口输出锁存器写入 1。 P3 口可驱动 4 个 8 LS 型 TTL 负载。 P3 口还可提供第二功能。 ; RXD(串行数据输入口); TXD(串行数据输出口); /INT0(外部中断 0 输入); T0(定时器 0 外部计数输入); T1(记时器 1 外部计数输入); /WR(外部数据存储器写选通输出); /RD(外部数据存储器读选通输出); P3 口同时为闪烁编程和编程校验接收一些控制信号。 XTAL2:片内反向振荡放大器的输出端。 RST( RESET):复位信号输入端,高电平有效。 在此引脚加上持续时间大于 2 个机器周期的高电平,就可以使单片机复位。 当看门口定时器溢出输出时,该引脚将输出长达 96 个时钟振荡周期的高电平。 由 Atmel 公司生产的 AT89C51 单片机有四个 I/O 口 P0 口 ,P1 口 ,P2 口 ,P3 口 ,每一个 I/O 端口都可独立地作为输出端或输入端。 AT89C51 单片机具有以下标准功能:4KBFlash, 256BRAM, 4 个 8 位 I/O 口的外部引脚,看门狗定时器。 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶体振荡电路及时钟复位电路。 单片机主控制电路既包括单片机的晶体振荡电路也包括复位电路。 本系统采用的是内部晶体振荡电路。 单片机内部有一个用于构成振荡器的高放大倍数反相放大器,18 引脚 XTAL1 是晶体振荡器反向放大器的输入端, 19 引脚 XTAL2 是片内晶体振荡器反向放大器的输出端,这两个引脚之间跨接的石英晶体和微调电容作为反馈 元件一起构成一个稳定的自激振荡器。 9 引脚 RESET 是 AT89C51 单片机的复位输入端,接上电容,电阻及电阻和按钮实现手动复位电路,如图 所示。 图 单片机复位和晶振电路 9 温度采集电路的设计 由达拉斯公司生产的 DS18B20 数字温度传感器 1Wire 线器件。 它与传统的热敏电阻不同的是,他是将直接测得的温度转换为用于计算机处理的串行数字信号,并根据具体的要求,通过以上简单编程来实现温度读数。 特点具有电路简单,体积小。 因此,使用它作为一个温度测量装置,该电路很简单,在一根通信线上,它可 以并接到多个地址线上与单片机的实现通信。 由于每个 DS18B20 出厂只能有一个序列号,并存储在ROM 中,所以用的 CPU 简单的通信协议是可以识别,从而节省大量的引线和逻辑电路。 DS18B20 的引脚封装如图 所示。 图 DS18B20的引脚封装 DS18B20 的单总线技术具有电路简单,硬件体积小,成本低,易于总线扩展和维护等优点。 单总线适用于单片机系统中,主机可以是一个微控制器,机器也可以是单总线器件,他们的数据交换只通过一条信号线便可实现, DS18B20 产品的特点如下: ① 所有的应用模块都集中在 一个和普通三极管大小相同的芯片内,只需要一个端口即可实现通信; ② 具有 3 至 很广范围的工作电压并且可以使用寄生电容供电的方式,此时只需只要在数据线上连接一个电容即可完成供电; ③ 实际应用中不需要任何外部元器件即可实现测温; ④ 测量温度范围在 55~ +125176。 C,其中在 10~85 度的区间内测量精度为 摄氏度; ⑤ 内部有温度上下、限警告设置; ⑥ 在中的每个器件都有独一无二的序列号; ⑦ 温度以 9 或 12 位数字,在 9 位精度是转化过程仅耗时 ,在 12 为精度时则需要 750ms; 10 ⑧ 支持在同一条 1wire 总线上挂多个 DS18B20 器件形成多点测试,在数据传输过程中可以跟随 CRC 效验。 本设计是使用 51 单片机驱动 DS18B20 进行温度采集, 51 单片机使用 引脚扩展了一个 DS18B20 温度传感器。 DS18B20 的温度传感器应用电路如图 所示。 图 DS18B20温度传感器应用电路 51 单片机和 DS18B20 一线 (单线 )总线连接 ,只有物理电缆 ,传输时钟 ,而且传输数据 ,和沟通是双向的 ,也可以使用总线设备完成供电任务。 1wire 总线接口的外部器件通过一个漏极开路的三态端口连接到总线上, 这样使得这些期间在不使用总线的时候可以释放总线一边与其它器件使用。 由于漏级开路,所以这些器件都要在总线上拉一个电阻到 VCC,并且如果使用寄生方式供电,为了保证器件在所有的工作状态下都有足够的电量,在总线上还可以连接一个 MOSFET 管以储存电能。 如上图所示, 51 单片机使用 引脚扩展了一个 DS18B20 传感器采集当前温度。 操作简介: DS18B20 工作时需要接收特定的指令来完成相应功能(指令:可以简单的理解为可以被识别并有相应意义的一系列高低电平信号),它的指令可分为 ROM 指令和 RAM 指令; ROM 指令主 要对其内部的 ROM 进行操作,如查所使用 DS18B20 的序列号等,如果只使用一个 DS18B20, ROM 操作一般就可以直接跳过了; RAM 指令主要是完成对其内 RAM中的数据进行操作,如让其开始进行数据采集、读数据等。 DS18B20 数字温度传感器是单总线器件,数据的读写只通过一条数据线进行并且这一条线上允许挂很多该传感器;这样对器件进行读写指令时就会麻烦一些,必须应用特定时序来识 别高低电平信号(如写高电平 1,并不是把数据线直接拉高,而是用有一定时序关系的高低电平来代表写 1),所以指令表中的 0、 1 在写给 DS18B20 时就得变成代表 0、 1 电平的时序段序列。 同样,从 DS18B20 读数据时,也是由特定的时序来完成数据读取。 DS18B20 的内部结构如图 所示。 11 ROM和 1WIRE总线接口CRC 校验和生成器温度传感器配置寄存器低温触发器高温触发器存储器和控制器高速缓存 图 DS18B20的内部结 构 DS18B20 的工作过程: ① 复位操作 ② 执行 ROM 操作的 5 条指令之一: 1)读 ROM, 2)匹配 ROM, 3)搜索 ROM, 4)跳过 ROM, 5)报警搜索。 ③ 存储器操作命令:温度转换、读取温度、设定上下限温度值等指令 ④ 读取温度数据:主机读取温度数据后进行数据处理。 可以初始化数据精度,按芯片手册写入固定指令。 数据位数可设置成 112 位,其中 7 位为温度整数部分, 1 位表示温度正负,其余位数为小数。 如 9 位数据时,有 1 位为小数,精度为。 ROM 操作指令: ① 读 ROM 指令。 Read ROM [33h]。 这个命令允许总线控制器读到 DS18B20 的 8 位系列编码、唯一的序列号和 8 位 CRC 码。 只有在总线上存在单只 DS18B20 的时候才能使用这个命令。 如果总上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起开成相与的 效果)。 ② 匹配 ROM 指令: Match ROM [55h]。 匹配 ROM 命令,后跟 64 位 ROM 序列,让总线控制器在多点总线上定位一只特定的 DS18B20。 只有和 64 位 ROM 序列完全匹配的 DS18B20 才能响应随后的存储器操作命令。 所有和 64 位 ROM 序列不匹配的从机都将等待复位脉冲。 这条命令在总线上有单个或多个器件时都可以使用。 ③ 跳过 ROM指令 :Skip ROM [CCh]。 这条命令允许总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令,在单点总线情况下右以节省时间。 如果总线 上不止一个从机,在 Skip ROM 命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相当于相与)。 ④ 搜索 ROM 指令 :Search ROM [F0h]。 当一个系统初次启动时,总线控制器可能并 12 不知道单线总线上有多少器件或它们的 64 位 ROM 编码。 搜索 ROM 命令允许总线控制器用排除法识别总线上的所有从机的 64 位编码。 ⑤ 复位时序 :DS18B20 需要严格的协议以确保数据的完整性。 协议包括几种单线信号类型:复位脉冲、存在脉冲、写 0、写 读 0 和读 1。 所有这些信 号,除存在脉冲外,都是由总线控制器发出的。 和 DS18B20 间的任何通讯都需要以初始化序列开始,初始化序列见上图。 一个复位脉冲跟着一个存在脉冲表明 DS18B20 已经准备好发送和接收数据(适当的 ROM 命令和存储器操作命令)。 无线温度传输模块的设计 NRF24L01 是一款新的单片射频收发器,为 〜 的 ISM 频段工作。 内置频率合成器,功率放大器,晶体振荡器,调制器,如功能模块,并结合增强 ShockBurs技术,包括输出功率和通信频道可以由程序来配置。 NRF24L01 低能耗, 在 6 dBM功率发射,工作电流仅为 9 毫安。 接收时,工作电流 毫安,各种低功耗模式(掉电模式和空闲模式),设计更方便。 NRF24L01 主要特性有 GFSK 调制:硬件集成 OSI 链路层;具有自。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。