无线温度采集与显示系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无线温度采集与显示系统的设计与实现
摘要:本论文提出一种利用单片机控制DS18B20温度传感器采集温度、控制LCD1602实时
显示温度值、控制NFR240L1进行数据的无线传输,并由单片机把温度数据传至计算机进行
存储的一种方案。
本系统中所用到的器件是STC 公司的STC89C52 单片机、温度传感器
DS18B20和无线通信模块NFR24L01,测量结果用液晶显示器LCD1602显示采集的数字信息,
并利用单片机串行口,通过RS-232 总线及通信协议将采集的数据传送到PC 机,并对测量结
果进行显示。
关键词:温度传感器;无线传输;单片机
绪论
当今社会已经进入信息时代,人们在关注对自己有用的信息同时,获取这些有用的信息数据
显得尤为的重要。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成
为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大
的作用。
温度是环境监测的重要参数,在一些特定的场合常常需要对温度进行监测。
本系统
是计算机测控系统中的一种。
所谓计算机测控,就是利用传感器将被检测的对象中的物理参
量(如温度、压力、液位、速度等)转换为电量(如电压、电流),将这些代表实际的物理
参量的电量输入装置中转换为计算机可识别的数字量,并且在计算机的显示器中以数字、图
形或曲线的方式显示出来,从而使操作人员能够直观的而需素的了解被监控对象的变化过程。
1 系统设计方案
本系统的温度采集部分、无线通信部分、显示部分、上位机计算机测控部分每一部分都有很
多种选择。
综合各种实验方案,本系统选择了DS18B20、LCD1602、NRF2401、VB串口通信MSComm控件。
2 系统的硬件设计
在单片机的控制下,温度传感器把温度数据传至发送端单片机,发送端单片机把收到的数据
进行处理,并控制NRF24L01发射模块把数据发射出去。
接收模块收到数据后,把数据通过SPI通信传至接收端单片机,接收端单片机在对数据进行处理。
最后接收端单片机再把有效的数据通过RS-232串口传至计算机,计算机对收到的数据进行采集和存储。
2.1单片机部分设计
单片机是本系统的主控部分,单片机的种类很多,许多厂商都在做自己的单片机。
如Atmei、Philips、NEC公司等。
各自生产商所生产的单片机型号更是层出不穷。
根据实际的需要,本系统只是对温度传感器的数据进行采样,在LCD1602上显示,该应用还
涉及单片机与上位机PC机的串口通讯。
因此选用的单片机还应有一个串口。
功能不是特别
复杂,实时性不太强,运算量不是太大,因此选用8位单片机。
满足这两个条件的单片机很多,根据实际情况,考虑到成本,本系统选用STC89C52单片机。
2.2温度传感器设计
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤。
每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
其详细内容将在本论文的软件设计部分出现。
2.3液晶显示电路设计
字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚)。
2.4无线传输模块设计
无线收发模块(NRF24L01)是一款工作在2.4~2.5GHz 世界通用ISM 频段的单片无线收发器
芯片无线收发器包括:频率发生器增强型SchockBurstTM 模式控制器、功率放大器、晶体振荡器、调制器解调器,输出功率频道选择和协议的设置可以通过SPI 接口进行设置极低的电流
消耗当工作在发射模式下发射功率为-6dBm,电流消耗为9.0mA,接收模式时为12.3mA,掉
电模式和待机模式下电流消耗更低。
3 系统软件设计
3.1数字温度传感器程序的设计
DS18B20的一线工作协议流程是:初始化、ROM操作指令、存储器操作指令、数据传输。
其工作时序包括:初始化时序、写时序、读时序。
3.2液晶显示的程序设计
1602液晶模块内部的控制器共有11条控制指令,通过编程设置相关的指令可以让LCD1602
工作在不同的状态。
条控制指令分别为:清屏指令,指令代码为01H、光标复位,光标返回
到地址00H、光标和显示模式设置、显示开关的控制、光标或显示移位、功能设置命令、字
符发生器RAM地址设置、DDRAM地址设置、读忙信号和光标地址、写数据(RS=1,RW=0时)、读数据(RS=1,RW=1时)。
3.3串口通信部分程序设计
串行口通信这部分经常用到波特率的计算,本系统用定时器T1作波特率发生器,选用串行
口工作方式1。
3.4上位机程序设计
在本系统中,为了让采集到的温度传到PC上位机中,对数据进行处理。
我采用了Visual Basic语言设计。
VB是程序设计人员在Windows环境下最常用的开发串口通信编程的程序的
编程语言。
在实践中,使用VB串口通信控件MSComm实现通信的方法比调用API函数的方法更加方便、快捷,而且用较少的代码可以实现相同的功能。
从而使编程效率大大提高。
4 结论
本设计的温度采集系统采取了软件与硬件相结合的开发方法,选用了STC89C52单片机,由
于它具有快速、指令简单,驱动能力强等优点,所以它可以对数据信号进行采样。
温度采集
部分选用了DS18B20 温度传感器,该传感器属于智能传感器可以直接把模拟电压信号转化为
数字信号。
还利用VB6. 0 的MSComm 控件完成了上层软件和界面的设计,该控件是专用的
串行通信控件,可以直接访问串口。
以便将来需要的时候使用,并且能控制单片机动作,界
面友好。
温度数据传输部分采用了2.4G无线频射技术,利用此技术可以很好地解决布线问题,为以后分布式温度采集系统的设计打下了基础。