基于VB和Access的温度采集系统的设计与实现

2011-06-04 10:12:36来源: 互联网
    随着现代信息技术的高速发展,数据采集方面的技术也在不断地向前发展,并在信息技术中占有重要地位,是否及时准确采集数据以及数据是何方式采集都成为关注的焦点。随着嵌入式技术的不断发展,各种数据采集系统不断应用于各个领域。温度采集智能家居工业控制、智能农业等方面都应用。本温度采集系统下位机采用STC89C52单片机为主控制器,采用DS18B20温度传感器采集温度,上位机使用VB编写程序,通过串口采集数据,存入Access数据库,并实时在界面上显示温度变化曲线。

1 系统的整体设计
    本温度采集系统的总体框图如图1所示,系统下位机即单片机系统采用的是现成的开发板,开发板上自带了DS18B20的温度传感器,开发板也自带了能够维持单片机正常工作的外围电路;上位机用的Microsoft Visual Basic 6.0中文版集成开发环境和Microsoft Office Access 2003数据库开发软件。

a.JPG



2 上位机的设计与实现
    上位机设计的主要重难点在于串口从下位机接收到数据和把数据送到数据库里并把数据实时用曲线显示出来。上位机总体设计流程图如图2所示。

b.JPG


    从串口接收数据主要采用Mscomm32.ocx控件,在Microsoft Visual Basic 6.0中添加该控件,需要设置COM口(可修改)、波特率(9600)、数据位(8)、停止位(1)、校验位(0)等,通过OnComm()事件驱动方式接收数据。
    数据库采用的是Microsoft Office Access 2003,先要建立数据库,建立的数据库如图3所示,有4个字段,分别是编号、温度、采集日期、采集时间,数据类型对应的为自动编号、数字、文本、文本。

c.JPG


    在Microsoft Visual Basic 6.0中编程对数据库Access进行操作,首先连接数据源,然后打开数据库并设置相应的数据操作,接着更新数据库,最后关闭数据库,在实际的操作中通过控件Adodc与控件Datagrid连接,以实现数据源与界面显示相联系。[page]

2.1 主要设计步骤
    1)先在VB开发环境下新建一个EXE工程,然后再在窗体上安放一些必须的控件,如按钮(Command)控件、文本框(Textbox)等;
    2)在添加部件里添加Microsoft conmm control 6.0、Microsoft datagrid control 6.0和Microsoft ADO data control 6.0在这3个控件;
    3)在数据库软件中新建数据库,并新建一个表temp;
    4)连接数据库Access,并测试是否连接成功;
    5)通过Adodc与Datagrid连接起来,实现数据源与界面显示联系起来;
    6)通过Command按钮与数据库的查找、删除、修改和添加联系起来,能够实现相应的功能;
    7)通过picturebox控件实现绘图的功能;
    8)使串口数据与数据库和picturebox控件连接起来。
2.2 上位机程序设计(程序段)
2.2.1 串口处理程序
d.JPG
2.2.2 将数据写到数据库中
    e.JPG
    f.JPG[page]

3 下位机的设计与实现
3.1 下位机硬件以及原理
    温度采集系统下位机采用STC89C52单片机为主控制器,采用DS18B20温度传感器采集温度,硬件电路图如图4所示。

g.JPG


    STC89C52单片机具有:
    1)它是MCS-51系列单片机的派生产品,在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051兼容均为Pin-to-Pin,使用时容易掌握;
    2)高速(最高时钟频率90 MHz)、低功耗、价格低、稳定可靠、应用广泛、通用性强,在系统/在应用可编程(ISP,IAP),不占用户资源。本系统利用STC89C52单片机的1个中断,2个定时器以及P0~P3 4个端口。采用外部11.059 2 MHz晶振,并使用30 pF的电容接地,以提高系统的稳定性和可靠性。
    DS18B20具有:1)只要求一个I/O口即可实现通信;2)在DS18B20中的每个器件上都有独一无二的序列号;3)实际应用中不需要外部任何元器件即可实现测温;4)测量温度范围在-55~125℃之间;5)数字温度计的分辨率用户可以从9位到12位选择;6)内部有温度上、下限告警设置。
    DS18B20的使用方法:DS18B20采用的是1—Wire总线协议方式,而对单片机STC89C52来说,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。
3.2 软件设计
    软件设计重点是把温度采集回来并正确的采集回来的温度通过串口发送出去,软件设计流程图如图5所示。

h.JPG


    软件开始初始化各种端口以及定时器、串口等,在判断是否有中断产生,如果接收到X,则开始发送数据,如果接收到字符S,则停止发送数据,否则判断是否到达0.5 s的间隔,如果达到,开始采集温度并将数据发送出去,否则继续判断是否有中断产生。

4 测试结果
    图6为本温度采集系统的实际运行的效果图。

i.JPG



5 结论与前景
    本温度采集系统通过单片机能够采集到DS18B20温度传感器采集到的数据,并用串口实时的传送到上位机;上位机有实时接收数据的能力,并将实时接收到的数据存入Access数据库里;能够实时地把温度曲线显示到界面上;数据库具有编号、日期、时间以及温度4个属性;数据库具有查找、修改、删除、添加以及查找首记录、下一条记录、上一条记录和末记录的功能;能够记录开始时间、结束时间和时间差;显示当前时间和日期。


 

 

关键字:温度采集  下位机  上位机  Access

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2011/0604/article_2595.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
温度采集
下位机
上位机
Access

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved