时间:2024-05-04
本文基于AT89C52单片机对蓄电池温度的检测,通过DS18B20实现6路温度的检测,由A/D转换器TCL1549,实现对电压检测的目的,同时,该系统具有报警功能。通讯电路可进行RS-232的通讯,执行上位机与PC机进行数据传输。上位机采用Labview编写,做到界面简洁。
【关键词】AT89C52 蓄电池 DS18B20 通讯电路 Labview
温度是工农业生产,科学研究和生活领域中一个非常重要的物理参数,目前对温度的测量已有许多方法,可以将其分为两类:一种是传统的接触式测量通过原始的玻璃管,热电阻和热电偶等等;另一种是目前流行的非接触式测量通过红外测温。然而非接触式测温只在医学领域得到应用,其应用最广的还是传统的测温方法,随着信息技术的迅猛发展,属于信息技术的前沿尖端产品传感器也朝着单片集成化,智能网络化和单片系统化迅速发展,尤其是被广泛用于工农生产,科学研究和生活等领域的温度传感器,其数量和发展速度高居各传感器之首。本文将介绍由DALLAS公司生产的DS18B20数字温度传感器以及它的设计。
1 系统总体设计
本系统是基于单片机的对蓄电池的温度检测系统设计,由DS18B20温度传感器和A/D转换器TLC1549分别完成对温度和电压的检测,电源电路实现为单片机提供稳定的电压,同时。单片机对温度和电压信号的数据进行采集并处理,控制LCD显示器来显示采集的温度,如果检测到的温度超过了单片机设定的上限值或者下限值,那么与单片机相连接的声光报警电路就会发出报警信号。本系统采用了RS-232通讯标准,实现了与上位机的通讯,将采集到的温度电压信号传送到PC机上进行显示,做到简单明了化。蓄电池温度检测系统的总体设计方案如图1所示。
2 电路设计
2.1 DS18B20的接口电路
DS18B20是美国DALLAS半导体公司生产的可组网数字式温度传感器,它使用1-Wire(单线)接口,这种总线只需要一条I/0线进行数据传输,这种集成化的智能温度传感器与模拟传感器最大的区别是将温度信号直接转化成数字信号,然后通过串行通信方式输出。DS18B20具有微型化,低功耗,高性能,抗扰能力强,易于与微处理器接口等优点适合用于各种温度测控系统。
DS18B20与微处理器的连接有两种方式,可以采用寄生电源方式,其VCC和GND端均接地;也可采用如本图所示的外接电源方式,其中VCC端用+3V~+5.5V电源供电。
在本设计中我们采用的是外接电源的工作方式。利用单片机的P20-P25引脚与DS18B20相连接,其电路如图2所示。
2.2 电压检测电路设计
测量电路输出信号是模拟信号,要经过A/D转换才能送到单片机进行处理。TLCl549是串行方式输出数据,它与单片机的接口电路如图3所示。
单片机的P0.3口与I/O CLOCK输入相连,它来控制I/O时钟;P0.4口与A/D转换结果输出相连,它将A/D转换结构输入到单片机里;P0.5口选相连,它来控制A/D转换器的选通。
2.3 RS-232通讯电路
在本文研究的检测系统中,计算机与上位机的通信就是通过RS-232总线来完成的。MAX232外围需要4个电解电容C1、C2、C3、C4 ,是内部电源转换所需电容,其取值均为1μF/25V。宜选用钽电容并且应尽量靠近芯片,C5为0.1μF的去耦电容。单片机与MAX232的串行通信接口电路如图4所示。
3 软件程序设计
软件设计采用模块化的方法,主要有主程序、键盘扫描以及按键处理程序、温度检测程序、电压检测、液晶显示程序、温度报警程序。开始时首先开定时器中断T0和外部中断INT0,LCD显示基本的画面,紧接着采集温度和电压,然后判断各个标志位进行相应的函数调用。
3.1 温度检测程序设计
温度检测部分主要是由以下几个部分构成:单片机和温度采集部分。其中单片机部分我们采用的是AT89C51,它是整个检测系统的控制中心,我们将AT89C51的P2.0脚与DS18B20相连接,采用的是外接电源工作方式。温度检测的流程如图5所示。
3.2 电压检测程序
在芯片选择CS无效情况下,TLCl549的最初被禁止且DATA OUT处于高阻状态。当串行接口把CS拉至有效时,转换时序开始允许I/O CLOCK工作,并使DATA OUT脱离高阻状态,串行接口然后把I/O CLOCK序列提供给I/O CLOCK,并从DATA OUT接收前次转换的结果。I/O CLOCK从单片机接口接收长度在10和16个时钟之间的输入序列。开始10个I/O时钟提供采样模拟输入的控制时序。在CS下降沿前次转换的MSB出现在DATA OUT端。10位数据通过DATA OUT被发送到单片机的接口。为了开始转换,最少需要10个时钟脉冲。如果I/O CLOCK传送大于10个时钟长度,那么在10个时钟的下降沿内部逻辑把DATA OUT拉至低电平,以确保其余位的值为零。在正常进行的转换周期内,规定时间内CS端高电平至低电平的跳变可终止该周期,器件返回初始状态输出数据寄存器的内容保持为前次转换结果。A/D转换的程序流程图如图6所示。
3.3 液晶显示程序设计
向液晶控制器送数据,显示所测的和所设置的数据。在编程时需经历LCD初始化编程和LCD显示编程两个过程。在LCD初始化流程设计时,首先是上电复位,延时大于40s以后进行功能设定,所选用的是8位接口控制字和基本指令级,中间插入延时。接着打开显示设置,选择整体显示开,游标显示关和正常显示。然后清除屏幕显示,选择设定DDRAM的地址计数器为00H;更新设置进入设定点将I/D设为1和游标右移AC加1。最后进入设定点控制字,选择游标右移,地址计数器加1。
4 图形化编程语言LabVIEW
LabVIEW(Laboratory Virtual Instrument Engineering Workbench实验室虚拟仪器工程平台)是一种图形化的编程语言(G语言)。LabVIEW程序包括三部分:前面板、框图程序和图标/接口部件。前面板模拟真实仪器的前面板,用于设置输入数据和观察输出量。输入量称为Controls,输出量称为Indicators。用户可以使用多种图标,如旋钮、开关、按钮、图表、文本框、图形等,使前面板直观易懂。
与传统的文本式程序设计一样,LabVIEW也有控制流程图功能执行的部分,它们包括sequence、case statement、for loop、while loop结构,它们被图形化地描述成边界结构,像在传统的线形化程序设计中可以插入代码段一样,可以把图标放在LabVIEW图形结构的界限内部。
5 结论
论文主要研究内容是DS18B20温度传感器检测问题,对蓄电池环境温度和电压进行实时检测和报警的设计,在论文的最后引入液晶显示模块,将采集到的数据送到LCD上,并将检测到的数据跟设定的上下限值显示出来,做到一目了然。
参考文献
[1]李广弟等.单片机基础[M].北京航空航天出版社,2001.
[2]刘宝元等.基于单片机的温湿度监控系统设计[J].中国科技核心期刊,2009.12(3):4-6.
[3]王洪业.传感器技术[M].长沙:湖南科学技术出版社,1995.
[4]阎石编著.数字电子技术基础[M].北京:高等教育出版社,1998.
[5]刘君华.基于LabVIEW的虚拟仪器设计[M].北京:电子工业出版社,2003.
作者简介
李佳怡(1986-),女,吉林省吉林市人。硕士学位。现为吉林化工学院助教。研究方向为控制工程、控制理论与控制系统仿真。
作者单位
吉林化工学院 吉林省吉林市 132022endprint
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!