DS18B20无线测温所做的工作主要包括:
1.利用DS18B20 温度传感器采集温度;
2.制作一个基于STC89C52 单片机的温度采集系统,并将采集信息数据通过NRF24L01无线传输模块传送给计算机,利用计算机对其进行实时显示、存储,以便进行数据分析。
【资源下载】下载地址如下(872):/doc/DTlRSd01BZXNpRUxl
#include <reg52.h>#include <intrins.h>typedef unsigned char uchar;typedef unsigned char uint;//****************************************NRF24L01端口定义***************************************sbit MISO =P1^4;sbit MOSI =P1^3;sbit SCK =P1^3;sbit CE =P1^0;sbit CSN =P1^1;sbit IRQ =P1^5;sbit LCD_RS =P2^5;sbit LCD_RW =P2^6;sbit LCD_E =P2^7;sbit DQ =P3^0;//************************************按键***************************************************sbit KEY1=P3^1;sbit KEY2=P3^3;sbit KEY3=P3^5;//************************************数码管位选*********************************************sbit led1=P3^2;sbit led2=P3^4;sbit led3=P3^6;//*********************************************NRF24L01*************************************#define TX_ADR_WIDTH 5 // 5 uints TX address width#define RX_ADR_WIDTH 5 // 5 uints RX address width#define TX_PLOAD_WIDTH 20 // 20 uints TX payload#define RX_PLOAD_WIDTH 20 // 20 uints TX payload#define LCD_DATA P0uint const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //本地地址uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //接收地址//***************************************NRF24L01寄存器指令*******************************************************#define READ_REG 0x00 // 读寄存器指令#define WRITE_REG 0x20 // 写寄存器指令#define RD_RX_PLOAD 0x61 // 读取接收数据指令#define WR_TX_PLOAD 0xA0 // 写待发数据指令#define FLUSH_TX 0xE1 // 冲洗发送 FIFO指令#define FLUSH_RX 0xE2 // 冲洗接收 FIFO指令#define REUSE_TX_PL 0xE3 // 定义重复装载数据指令