1. 提高温湿度控制器测温精度和分辨力
传统的测温系统采用的热敏电阻精度低,采用8为A/D转换器,电路复杂,可靠性不高,分辨率不高。目前,国内外都采用精度和分辨率很高的智能温湿度传感器,他们可靠性和安全性也很好,其分辨力一般可达0.5~0.0625°C。
2.功能的多元化发展
新型的智能温湿度检测系统的测试功能得到了不断增强,同时也可以加入湿湿度的监控形成完善的监控系统,另外内部能够集成E2PROM芯片,可以存储用户的命令。
致 谢
大学三年马上就要过去了,回想在大学学习的时光我们满载而归,在这里我们不仅学到了知识,更重要的是学到了做人的道理,还有庆幸的是认识了很多好朋友、好同学、好老师。非常感谢他们陪伴我度过了我人生最美好的一段时光,那些美好的回忆将是我这一生中宝贵的财富。
在这里首先要感谢我的指导老师康燕萍老师。老师平时本来由于上课就十分繁忙,但在我们做实习设计的一个个月中,从图书馆和网上搜集资料到初步方案的确定,中期的修改,后期的完善等整个过程中都十分耐心地帮助我们。老师细心地纠正我学习中的错误。其次要感谢和我一起做实习设计的同学们,他们的陪伴和建议同样给了我很大的帮助,同时他们也帮我解决了一些技
26
术上的难题。同样我要感谢大学里的所有老师们,他们不仅教给我们专业知识,同时也教育我们做人的道理。
最后我向我的同学和各位老师表示诚挚的感谢,谢谢你们!
参 考 文 献
[1] nRF24L01无线收发模块开发指南[S](V3.2)
[2] 周远举,基于AT89S52和NRF24L01的无线温度监测系统[J]. 2012年第2期
[3]郭刚,李思敏. 基于nRF24E1开发的短距离无线数据传输系统.桂林电子工业学院学报,2004,24 (3).
[4]李会聪. DS18B20多点测温方法探讨[J]. 微计算机信息, 2010(26).
[5] 英庆,王代华,张志杰.基于nRF24L01的无线数据传输系统[J].现代电子技术,2008,31(7):68-82.
[6] 丁永红,孙运强.基于nRF2401的无线数传系统设计[J].国外电子测量技术,2008,27(4):45-47
[7] 朱玉颖,蔡占辉.基于NRF24L01的远程温度检测系统设计[J] .通信与信息处理,2010,29(5):56-58.
[8] 潘勇,管学奎,赵瑞. 基于NRF24L01的智能无线温度测量系统设计[J].电子测量技术,2010年2月.
[9] 李文仲,段朝玉.短距离无线数据通信入门与实战[M].北京航空航天大学出版社,2006,80~259
[10] 喻金钱,喻斌.短距离无线通信详解:基于单片机控制[M].北京:北京航空航天大 学出版社,2009,125~246
附录一:总原理图
27
28
附录二:(1)发送程序如下:
//宏定义
#define uchar unsigned char #define uint unsigned int
//头函数
#include
#include \
#include \#include \
//LED 管脚定义 sbit TXLED_R=P1^3; sbit RXLED_Y=P1^5;
//主机询问命令
uchar CMD[]={0xaa,0xbb,0xcc,0xdd};
//主函数 void main() {
TXLED_R=0; //初始化LED RXLED_Y=0;
init_io(); //无线初始化IO RX_Mode(); //设置为接收模式 TXLED_R=1; RXLED_Y=1; //循环执行 while(1) {
sta = SPI_Read(STATUS); //读状态寄存器
if(RX_DR) //判断是否接受到数据 {
SPI_Read_Buf(RD_RX_PLOAD, RX_BUF, TX_PLOAD_WIDTH); //从RX FIFO读出数据
flag = 1;
RXLED_Y=0; //打开接收指示灯 }
SPI_RW_Reg(WRITE_REG + STATUS, sta); //清除RX_DS中断标志
29
if(flag) //接受完成 {
flag = 0; //清标志 //命令为主机询问
if(RX_BUF[0]==CMD[0]&&RX_BUF[1]==CMD[1]&&RX_BUF[2]==CMD[2]&&RX_BUF[3]==CMD[3])
{
//打开接收成功指示
//无线答应信号湿度 温度
RH(); //DHT11读取 TX_BUF[0]=0xaa; //T温度
TX_BUF[1]=U8T_data_H; //RH湿度
TX_BUF[2]=U8RH_data_H; TX_BUF[3]=0xdd; delay_ms(100);
RXLED_Y=1; //关闭接受射指示灯 TXLED_R=0; //打开发射指示灯
TX_Mode(TX_BUF); // 把nRF24L01设置为发送模式并发送数据 Check_ACK(1); // 等待发送完毕,清除TX FIFO delay_ms(100); //发送成功指示
TXLED_R=1; //关闭发射指示灯
RX_Mode(); // 设置为接收模式 } } } }
(2)接收程序如下:
//宏定义
#define uchar unsigned char #define uint unsigned int
//头函数
#include
#include \//无线模块
#include \
30