基于8051单片机的远程温度检测系统设计
扫描二维码
随时随地手机看文章
在现代社会中温度在航空航天、工业自动化、家用电器、环境保护和安全生产等方面都是最基本的监测参数之一,但是在某些环境下温度检测比较危险。因而需要一个智能检测的监测系统来代替危险的工作,本文设计的系统就可以很好的解决此问题,不仅可以实时的对温度进行远程检测监控,还可以在十分恶劣的环境下工作,测量结果精度高,并且对所测数据可以直接通过无线模块发送出去,在接收方利用无线接收设备接收实时的数据;同时加报警装置,在温度不正常时给予提醒 ,从而将损失减少到最低。
1 系统组成
系统由单片机、温度传感器、串口通信模块和无线传输模块等几部分组成。测温系统将测得的温度通过单片机在数码管上实时显示,同时,通过串口通信部分和无线模块将数据发送给上位机。系统结构如图1所示。
该设计以Atmel公司生产的单片机AT89C51为核心,以数字温度传感器DS18B20作为温度采集,以SRWF-1无线模块作为无线数据传输,从而构成整体系统。
1.1 单片机系统
系统采用AT89C51作为核心控制,配备4位共阴极数码管显示电路。AT89C51是Atmel公司推出的一种低功耗、高性能CMOS 8位微处理器,具有8 KB系统可编程FLASH存储器;256 B RAM;32个I/O引脚,分为4个8位控制端口;看门狗定时器;2个数据指针;3个16位定时器/计数器;两级中断优先等级;可编程全双工串行传输端口;片内晶振及时钟电路;8个中断源。数码显示采用Ytt-410391K四位7段8线数码管,作为温度显示部分,并用最末一位显示小数。
1.2 数字温度传感器DS18B20
DS18B20是美国Dallas公司生产的一款可编程1-Wire数字温度计。具有精度高,全数字化,连线少等诸多优点。其可直接将采集到的温度转换成数字信号,通过单条数据线串行发送出去,只要严格遵循规定时序逻辑和脉冲间隔,就能舍去同步时钟信号线,做到通信期间引脚最少化,达到温度采集目的。
1.2.1 内部结构及外部管脚
数字式温度传感器DS18B20的内部结构如图2所示,其主要由四部分组成:64位ROM和单总线接口、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20 64位闪存ROM的开始8位是产品类型的编号,接着的48位为每个器件的惟一序号,最后8位是CRC校验码。用于存储用户设定温度上下限值的非易失性温度报警触发器TH和TL,使用时可通过软件写入、设定报警上下限值。DS18B20内部配有一个电可擦除的E2PROM,用于存储TH、TL值,用于确定温度值的数字转化分辨率。工作时按此寄存器中的分辨率将温度转化为相应精度的温度值。
DS18B20具有三引脚To-92小体积封装形式,如图3所示;温度测量范围为-55~+125℃,其工作电源既可在远端引入,也可使用寄生电源方式产生;CPU只需一根端口线就能与诸多DS18B20通信,由于其占用微处理器的端口较少,因此可节省大量的引线和逻辑电路。
DSB18B20各引脚介绍如下:GND为地;DQ为数据输入/输出端;VDD为外接供电电源输入端(在寄生电源接线方式时接地);NC为SOIC封装的,NC为空引脚。
1.2.2 工作原理
DS18B20内部的低温度系数振荡器能产生稳定的频率信号f0,而高温度系数振荡器则将被测温度转化成频率信号f.当计数器打开时,DS 18B20则对f0计数,计数器开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性给予补偿。其测量的结果将暂存在温度寄存器中,可使单片机方便的将温度读出。
DS18B20的核心是一个直接的数字化温度传感器,可将温度值按9 b,10 b,11 b,12 b分辨率进行量化,默认分辨率为12 b,对应的温度最小增量分别为0.5℃,0.25℃,0.125℃和0.062 5℃。当主机向DS18B20发出温度转化命令后,开始温度转换,检测的温度结果将存放在两个字节中,最低位LSB在前,最高位MSB为符号位。其数据格式如下:
其中,高位字节MSB的高5位为温度的符号位,当温度为正时,该5位为0,温度为负时,统一为1.高位字节MSB的低3位和低位字节LSB的高4位共同组成温度值的整数部分,低位字节LSB的低4位为小数位,采用二进制补码方式存储温度数据。例如,当温度为+125℃时,输出温度为07D0h;当温度为+85℃时,输出温度为0550h;当温度为+25.062 5℃时,输出温度为0191h;当温度为-10.125℃时,输出温度为FF5Eh;当温度为-55℃时,输出温度为FC90h.
1.2.3 硬件设计
将DS18B20的数据输入/输出端与单片机AT89C51的P3.7端口相连,并将温度值通过P1端口显示出来。硬件原理图如图4所示。
1.3 SRWF-1型无线数据模块
SRWF-1型微功率无线数传模块是上海桑锐电子科技有限公司自主开发的智能型产品,该产品支持1 200 b/s,2 400 b/s,4 800 b/s,9 600 b/s,19 200 b/s等多种接口波特率,也可根据需要提供其他非标准接口波特率。
SRWF-1型微功率无线数传模块具有最大10 dBm的微发射功率;可提供多种载频频率;高抗干扰能力和低误码率,在视距下,可靠传输距离大于300 m;支持多信道,可以根据需要扩展到16/32信道;双串口,三种接口方式;智能的数据控制,无需编制多余程序,较大的数据缓冲区,可一次传输无限长度的数据;两种接口收发等待时间,既能用于高速设备也可适用低速系统;看门狗实时监控,使设备永不死机。
1.3.1 外形尺寸结构图
SRWF-1的外形结构如图5所示。
1.3.2 接口定义
SRWF-1提供1个9针的连接器(CON1),其定义基于终端的连接方法如表1所示。
1.3.3 接口参数
SRWF-1的左下角有一组5位的短路跳线(J1),分别定义为ABCDE,设跳线开路(不插短路器)为状态0,跳线短路(插入短路器)为状态1.其配置方法为:
(1)信道频率
J1的ABC三位跳线提供8种选择,可通过设置ABC的短接状态确定使用0~7号信道,只要在通信网中,ABC的跳线方式相同,就可以相互通信,其对应的频道如表2所示。
(2)接口方式选择
SRWF-1提供两个串口,COM1(CON1的Pin3,Pin4)固定为TTL电平的UART串行口;COM2(CON1的Pin6,Pin7)可通过J1的D位来选择接口方式:
D=1(不接短路器)
COM2=RS 485,RS 485的A/B口
D=0(接短路器)
COM2=RS 232,RS 232的TXD/RXD
J1的E位是用来选择校验方式的:
E=0(不插短路器)8E1/801 带一位校验位
E=1(插短路器)8N1 不带校验位
(3)波特率设定
SRWF-1模块提供1 200/2 400/4 800/9 600 b/s等接口波特率,波特率的设定可通过改变模块反面的焊盘跳线(J2~J4)的状态来确定。假设焊盘断开为0,短路为1,焊盘跳线J4~J2的状态和波特率对应关系如表3所示。
(4)接口方式选择
本设计与单片机串口相连,采用标准RS232接口方式连接,将短路跳线D短接,其示意图如图6所示。其他引脚可悬空不接,以免引入干扰。
选取3号信道,将短路跳线B,C短接,信号发送和接收频率为431.4588MHz,将两个SRWF-1模块均选取此设置,则两个无线模块即可相互通信。
根据本设计的需要,将SRWF-1的焊盘跳线J3,J2短接,从而得到波特率为9 600 b/s.
2 软件设计
2.1 程序流程图
系统的程序流程图如图7所示。
2.2 部分程序
DS18B20初始化程序:
3 结语
单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装备、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。
DS18B20以其简单、精度高、测温范围广而被广泛应用;8051单片机以其抗干扰强、可靠性强、容易上手等优点而广泛使用;加上SRWF-1的使用,使系统在温度采集过程中,可通过无线发送数据,方便使用,减少工作量。