基于labView的温度采集系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于LabVIEW的温度采集系统设计
摘要:设计了基于LabV IEW的温度采集系统。它利用DS18B20数字温度传感器和STC公司生产的STC89C52单片机采集被测环境温度,将测得的数据经串口传给计算机。计算机利用LabV IEW的V ISA读取串口数据并进行处理和显示,实现基于V ISA的串口温度采集。
关键词:温度传感器;单片机;LabV IEW;温度采集
1引言
虚拟仪器(Virtual Instrument)是基于计算机的软硬件测试平台,它可代替传统的测量仪器。LabVIEW是由美国国家仪器公司(National Instruments Co.)推出的、主要面向计算机测控领域的虚拟仪器软件开发平台,是一种基于图形开发、调试和运行的集成化环境[1]。
利用LabVIEW设计的数据采集系统,可模拟采集各种信号,但是配备NI
公司的数据采集板卡比较贵,因此,可以选择单片机小系统作为前端数据采集系统,进行采集数据,然后通过RS-232串口通讯将数据送给计算机,在LabVIEW 开发平台下,对数据进行各种处理、分析并对信号进行存储、显示和打印,从而实现了一种在LabVIEW环境下的单片机数据采集系统。
2 温度采集系统设计
本系统采用STC公司生产STC89C52单片机作为温度数据采集和传输的主控芯片,温度传感器采用单总线方式的集成数字温度传感器DS18B20。采集得到的数据利用单片机经串口通信的方式传输至计算机的串口。计算机上位机软件采用数据处理能力超强的LabV IEW软件编写,利用其所带的V ISA驱动进行串口的数据采集和处理,实现了基于V ISA的串口温度采集。
2.1温度采集系统的硬件设计
本系统以AT89C51为中央处理单元,利用DS18B20数字温度传感器对温度信号进行采集,采集到的信号被送到AT89C51中, 将采集到的温度值在LCD上显示并通过串口发送到上位机,其原理图如1所示(见附录1)。
2.1.1 中央处理单元——STC89C51
本设计选用的中央处理单元是STC89C52单片机,STC89C52是一种带8K 字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Eras-able Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除。该器件采用ATMEL高密度非易失存储器制
造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[2]。其优点有三:
(1)低功耗、低价;
(2)高速、高可靠;
(3)抗静电、干扰能力强;
STC89C52标识分别解释如下:
STC—表示芯片为STC公司生产的的产品。
8—表示该芯片为8051内核芯片。
9—标示内部含Falsh E2 PROM存储器。
C—标示该器件为COMS产品。
5—固定不变。
2—表示该芯片内部程序存储空间大小,1为4KB。2为8KB,3为12KB。
2.1.2 DS18B20数字温度传感器
DSI8B20是DALLAS公司的最新单线数字温度传感器,它体积小、经济。是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念[3]。它的测量温度范围为-55~+125℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3~5.5 V 的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DSI8B20可以程序设定9~12位的分辨率,精度为±0.5℃。可以选择更小的封装方式,更宽的电压适用范围。分辨率设定及用户设定的报警温度存储在EPROM 中,掉电后依然保存。DS18B20的性能是新一代产品中最好的,性能价格比也非常出色,继“一线总线”的早期产品后,DSI8B20开辟了温度传感器技术的新概念。DS18B20和DS18B22使电压特性及封装有更多的选择,让用户可以构建适合自己的经济的测温系统。DS18B20内部结构主要由4部分组成:64位光刻R OM,温度传感器、非挥发的温度报警触发器T H和TL,配置寄存器。本次设计智能温度报警系统的温度采集就由DSI8B20完成。将DSI8B20的GND脚接地,VDD脚接高电平,而单总线DQ脚接单片机的外部中断1脚,具体的采集电路如图2所示。
图2 温度采集电路
2.1.3 LCD1602显示模块
本设计使用的1602液晶是一种点阵液晶显示器,电压驱动为5V,带背光,每行显示16个字符,一共可以显示两行。1602是字符型液晶,即只能显示ASCII 码字符,如数字、大小写字母、各种符号等,不能显示汉字。内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口。工作温度一般在-10到+50度,存储温度一般在-20到+70度。
2.2温度采集系统的软件设计
下位机软件采用C语言编写,包括DS18B20的读写和串口通信[4]两个主要部分。上位机软件采用当前测试测量应用最广泛的LabV IEW编写[5]。LabV IEW (L abo ra to ry V irtua l In st rum en t Eng ineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
2.2.1下位机软件软件设计
程序采用C语言进行编写,主要完成LCD1602初始化、DS18B20初始化从DS18B20读取数据、向DS18B20写数据及温度转化等子程序的编写。
此外,在进行程序的编写时,一定要严格保证DS18B20读写时序的正确性,否则无法读取测温结果。其初始化时序和写时序的程序分别如下:(1)DS18B20初始化时序
初始化时序包括一个主机发出的复位脉冲以及从机的应答脉冲,这一过程如图3所示,复位脉冲是一个480~960us的低电平,然后释放总线将总线拉至高电平,时间持续15~60us。之后,从机开始向总线发出一个应答脉冲,该脉冲是一个60us~240us的低电平信号,表示从机已准备好。在初始化过程中,主机接收脉冲的时间最少为480us。