摘要:本文提出了一种以51单片机为主控器和射频nRF905为无线收发模块的智能温室控制系统的总体设计方案和实现方法。系统设置了一个主机和两个从机,通过无线通信方式,实现了两个节点的温湿度数据采集。主机通过从机预设的不同地址来实现区分两个节点发送来的温湿度数据。本设计采用nRF905射频模块为无线传输模块,DS18B20为温度传感器模块,DHT11为湿度采集模块从而实现温室的温湿度监测与控制。51单片机和nRF905之间通过模拟高速串口SPI实现双向通信, SPI支持高速数据传输,从而满足了温室温湿度数据的实时传输。用VB6.0中的MScomm控件编写了温湿度接收界面,通过串口将采集到的温湿度数据显示在PC机上。
关键词 STC89C51; nRF905; DS18B20; DHT11
目录
摘要
Abstract
1 绪论-1
1.1 背景及意义-1
1.2工作原理-1
2 系统总体设计-2
2.1 系统的整体结构-2
2.2课题需要完成的任务-2
3 系统硬件设计-3
3.1主控制器的选用-3
3.2无线传感器nRF905模块-3
3.2.1芯片结构-3
3.2.2 接口电路管脚说明-3
3.2.3 nRF905工作方式-5
3.2.4 nRF905模块配置-6
3.2.5 nRF905与单片机的硬件连接原理图-6
3.3 温度传感器DS18B20-7
3.3.1 DS18B20主要特性-7
3.3.2 DS18B20的外部结构-7
3.3.3 DS18B20的数据处理-7
3.3.4单片机与DS18B20的硬件连接原理图-9
3.4湿度传感器DHT11-9
3.4.1 DHT11接口说明-9
3.4.2 DHT11与单片机的硬件连接-10
3.5LCD1602液晶显示模块-10
3.5.1控制器接口说明-10
3.5.2基本时序操作-11
3.5.3显示数据存储器(DDRAM)-11
3.5.4 LCD1602控制命令字设置-11
3.5.5单片机与LCD1602的硬件连接原理图-11
3.6控制执行单元的设计-12
3.7 PC机与单片机之间的RS485通信-13
4系统软件设计-14
4.1主机软件设计-14
4.1.1主程序设计-14
4.1.2 nRF905软件设计-14
4.1.3主机串口软件设计-17
4.2从机软件设计-18
4.2.1从机主程序设计-18
4.2.2 DS18B20温度采集软件设计-18
4.2.3 DHT11湿度采集软件设计-18
4.2.4LCD1602软件设计-21
5上位机软件设计-22
5.1 VB6.0特点-22
5.2 MSComm控件-22
5.2.1 MSComm控件的主要属性-22
5.3 VB程序设计-22
5.3.1 程序详细设计-22
5.3.2 系统界面-22
6调试-24
6.1LCD1602液晶显示模块在设计过程中遇到的问题和解决方法-24
6.2串口设计过程中遇到的问题和解决方法-24
6.3 DS18B20设计过程中遇到的问题和解决方法-24
6.4控制执行单元设计过程中遇到的问题和解决方法-24
结论-25
致谢-26
参考文献-27
附录-28
附录1 硬件原理图-28
附录2源程序代码-29