一、设计功能
- 系统设计
三、器件选择3.1温度信号采集模块
传统的温度检测大多以热敏电阻为传感器,采用热敏电阻,可满足 40℃度 至 90℃测量范围,但热敏电阻可靠性差,测量温度准确率低,对于1℃的信号是不适用的,还得经过专门的接口电路转换成数字信号才能由微处理器进行处理。
目前常用的微机与外设之间进行的数据通信的串行总线主要有

总线, SPI 总线等。其中

总线以同步串行 2 线方式进行通信(一条时钟线,一条数据线)。SPI 总线则以同步串行 3 线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。这些总线至少需要两条或两条以上的信号线。而单总线( 1-wire bus ),采用单根信号线,既可传输数据,而且数据传输是双向的, CPU 只需一根端口线就能与诸多单总线器件通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
单总线具有广阔的应用前景,是值得关注的一个发展领域。单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。主机或从机通过一个漏极开路或三态端口连接到数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。单总线通常要求外接一个约为 4.7K 的上拉电阻,这样,当总线闲置时其状态为高电平。
3.1.1 DS18B20 数字式温度传感器
DS18B20 数字式温度传感器使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度,同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单,使数据传输和处理简单化。部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,大大缩短了开发的周期 。
3.1.2 DS18B20特性
采用单总线的接口方式,与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
- 适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。
- 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
- DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
- DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。
- 温范围-55℃~+125℃。
- 可编程 的分辨率为9~12位,对应的分辨力分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
- 在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
- 测量结果直接输出数字温度信号,以" 1-wire bus "串行传送给CPU,可选择同时传送CRC校验码,具有极强的抗干扰纠错能力。
- 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。
3.1.3 DS18B20结构


3.1.4 DS18B20测温原理
3.1.5 DS18B20的读写功能


|  TM  |  R1  |  R0  |  1  |  1  |  1  |  1  |  1  | 
|  R1  |  R0  |  分辨率  |  温度最大转换时间  | 
|  0  |  0  |  9位  |  93.75ms  | 
|  0  |  1  |  10位  |  187.5ms  | 
|  1  |  0  |  11位  |  375ms  | 
|  1  |  1  |  12位  |  750ms  | 
|  寄存器内容  |  字节地址  | 
|  温度值低位(LS Byte)  |  0  | 
|  温度值高位(MS Byte)  |  1  | 
|  高温限值(TH)  |  2  | 
|  低温限值(TL)  |  3  | 
|  配置寄存器  |  4  | 
|  保留  |  5  | 
|  保留  |  6  | 
|  保留  |  7  | 
|  CRC校验值  |  8  | 
|  指 令  |  约定代码  |  功 能  | 
|  读 ROM  | 33H  | 读DS1820温度传感器ROM中的编码(即64位地址)  | 
|  符合 ROM  | 55H  | 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。  | 
|  搜索 ROM  | 0FOH  | 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。  | 
|  跳过 ROM  | 0CCH  | 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。  | 
|  告警搜索命令  | 0ECH  | 执行后只有温度超过设定值上限或下限的片子才做出响应。  | 
|  温度变换  | 44H  | 启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。  | 
|  读暂存器  | 0BEH  | 读内部RAM中9字节的内容  | 
|  写暂存器  | 4EH  | 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。  | 
|  复制暂存器  | 48H  | 将RAM中第3 、4字节的内容复制到EEPROM中。  | 
|  重调 EEPROM  | 0B8H  | 将EEPROM中内容恢复到RAM中的第3 、4字节。  | 
|  读供电方式  | 0B4H  | 读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。  | 
  

3.2液晶显示器1602LCD
3.2.1引脚功能说明
| 编号  | 符号  | 引脚说明  | 编号  | 符号  | 引脚说明  | 
| 1  | VSS  | 电源地  | 9  | D2  | 数据  | 
| 2  | VDD  | 电源正极  | 10  | D3  | 数据  | 
| 3  | VL  | 液晶显示偏压  | 11  | D4  | 数据  | 
| 4  | RS  | 数据/命令选择  | 12  | D5  | 数据  | 
| 5  | R/W  | 读/写选择  | 13  | D6  | 数据  | 
| 6  | E  | 使能信号  | 14  | D7  | 数据  | 
| 7  | D0  | 数据  | 15  | BLA  | 背光源正极  | 
| 8  | D1  | 数据  | 16  | BLK  | 背光源负极  | 
3.2.2 1602LCD的指令说明及时序
| 序号  | 指令  | RS  | R/W  | D7  | D6  | D5  | D4  | D3  | D2  | D1  | D0  | 
| 1  | 清显示  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | 
| 2  | 光标返回  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | *  | 
| 3  | 置输入模式  | 0  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | I/D  | S  | 
| 4  | 显示开/关控制  | 0  | 0  | 0  | 0  | 0  | 0  | 1  | D  | C  | B  | 
| 5  | 光标或字符移位  | 0  | 0  | 0  | 0  | 0  | 1  | S/C  | R/L  | *  | *  | 
| 6  | 置功能  | 0  | 0  | 0  | 0  | 1  | DL  | N  | F  | *  | *  | 
| 7  | 置字符发生存贮器地址  | 0  | 0  | 0  | 1  | 字符发生存贮器地址  | |||||
| 8  | 置数据存贮器地址  | 0  | 0  | 1  | 显示数据存贮器地址  | ||||||
| 9  | 读忙标志或地址  | 0  | 1  | BF  | 计数器地址  | ||||||
| 10  | 写数到CGRAM或DDRAM)  | 1  | 0  | 要写的数据内容  | |||||||
| 11  | 从CGRAM或DDRAM读数  | 1  | 1  | 读出的数据内容  | |||||||
3.2.3 1602LCD的一般初始化过程
NRF24L01无线模块
3.2.2 引脚功能及描述

3.2.3 工作模式
|  模式  |  PWR_UP  |  PRIM_RX  |  CE  |  FIFO寄存器状态  | 
|  接收模式  |  1  |  1  |  1  |  -  | 
|  发射模式  |  1  |  0  |  1  |  数据在TX FIFO 寄存器中  | 
|  发射模式  |  1  |  0  |  1→0  |  停留在发送模式,直至数据发送完  | 
|  待机模式2  |  1  |  0  |  1  |  TX_FIFO为空  | 
|  待机模式1  |  1  |  -  |  0  |  无数据传输  | 
|  掉电  |  0  |  -  |  -  |  -  | 
3.2.4工作原理
| 地址(H)  | 寄存器名称  | 功能  | ||
| 00  | CONFIG  | 设置24L01工作模式  | ||
| 01  | EN_AA    | 设置接收通道及自动应答  | ||
| 02  | EN_RXADDR  | 使能接收通道地址  | ||
| 03  | SETUP_AW  | 设置地址宽度  | ||
| 04  | SETUP_RETR  | 设置自动重发数据时间和次数  | ||
| 07  | STATUS  | 状态寄存器,用来判定工作状态  | ||
| 0A~0F  | RX_ADDR_P0~P5  | 设置接收通道地址  | ||
| 10  | TX_ADDR  | 设置接收接点地址  | ||
| 11~16  | RX_PW_P0~P5  | 设置接收通道的有效数据宽度  | 
3.2.5 配置字

4、软件设计4.1.1 温度检测

温度检测模块软件设计DS18B20的测温原理遵循严格的单总线协议,以确保通信数据的准确性,单片机通过时序来写入和读出DS18B20中的数据,包括初始化、读l、读0,写1、写0等操作。传感器复位后,接收应答信号,跳过读ROM中序列号后,启动温度转换,等待温度转换完毕后,保存数据。如此反复,完成所有操作,其流程图如图所示。
4.1.2无线发射模块软件设计

4.1.3无线接收模块软件设计

4.2软件的总体设计4.2.1 发送部分

4.2.2接收部分


  


  

五、设计总结
七、硬件原理图及调试7.1系统硬件原理图

接收机
