APP下载

基于VB和单片机的多路数据采集系统设计

2016-12-05冯传均戴文峰

电子设计工程 2016年22期
关键词:上位串口单片机

冯传均,戴文峰,何 央

(1.中国工程物理研究院 流体物理研究所,四川 绵阳621900;2.中国工程物理研究院 脉冲功率科学与技术重点实验室,四川 绵阳 621900)

基于VB和单片机的多路数据采集系统设计

冯传均1,2,戴文峰1,2,何 央1,2

(1.中国工程物理研究院 流体物理研究所,四川 绵阳621900;2.中国工程物理研究院 脉冲功率科学与技术重点实验室,四川 绵阳 621900)

为了满足多路物理信号实时采集、存储和数据分析的要求,本文设计了一种基于VB(Visual Basic)和单片机的多路数据采集系统。该设计采用单片机为数据采集系统的控制芯片,控制A/D转换芯片实现多路数据实时采集,转换后的数据利用LCD显示器进行显示,并通过RS232串口将数据上传到上位机;利用VB软件编程的人机交互界面,实现对数据采集系统的远程监控。该系统具有界面友好,操作简单等优点。

单片机;Visual Basic;数据采集;串口通信;人机交互界面

数据采集是现代测量技术的基础之一。在科学实验中经常需要分析处理各种物理量,例如电压、电流、压力、温度等。实验过程中,这些物理信号通过专用的采集系统记录并输入到计算机,然后通处理、分析得到试验结果。在复杂的大科学实验中对多路数据采集系统除了准确性、稳定性的要求外,往往还提出了高效、简洁、实时的要求,以满足大量物理信号在采集、处理过程中复杂的时间、空间和逻辑关系需求。根据这些需求,文中设计了一种多路数据采集系统。系统由上位机和单片机组成,上位机实现完善的监控和管理功能,单片机实现快速及灵活的采集控制功能[1]。系统设计方案通过Proteus、Keil与VB(Visual Basic)联调的方式进行功能验证。

1 系统总体设计

多路数据采集系统主要包括:数据采集单元、数据传输电路和人机交互界面三部分。数据采集单元主要由单片机、A/D转换芯片、LCD显示器、矩阵键盘组成;数据传输电路采用RS-232串口通信协议进行数据交换;人机交互界面由上位机和VB软件组成。系统的总体框图如图1所示。

图1 系统的总体框图

2 数据采集单元设计

被测物理信号中的信息通过相应的传感器按照一定规律变换成为模拟电压信号。信号经过放大、滤波后由单片机控制A/D转换芯片进行模数转换,转换结果返回给单片机;单片机将采集数据在LCD显示器上显示,并通过RS232串口通信将结果发送给上位机。根据实验需要选用相应的传感器,即可以实现温度、压力、流量等不同物理信息的采集。数据采集电路如图2所示。

图2 数据采集电路

数据采集单元选择STC89C51RC单片机为现场控制芯片,该芯片是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机。单片机工作电压5 V,工作频率范围:0~40 MHz,自带EEPROM和看门狗功能。考虑到单片机I/O口很少,可采用锁存器74HC573对单片机进行I/O口扩展,通过一片单片机控制控制多片A/ D转换芯片,实现多路模拟信号的采集需求。数据显示选用LCD1602型液晶显示器,它具有体积小、质量轻、功耗低、抗干扰能力强、与单片机通信简单等特点。LCD1602可以显示两行字符,每行16个,显示容量为16×2个字符,可通过并行接口与单片机I/O口直接相连。第一行显示当前数据通道号,第二行显当前数据采集转换结果。

数据采集所需的A/D转换单元采用TI公司生产的TLC1543芯片,该芯片采用5 V供电,具有11高速路模数转换通道,10位精度 (最大±1LSB不可调整误差)的A/D转换器,并提供EOC(转换完成)信号,采用串行通信接口,易于和单片机接口。TLC1543工作过程分为两个周期:访问周期和采样周期。TLC1543的CS、CLOCK、ADDRESS、EOC、DATA OUT引脚与单片机相连接,工作状态由CS端使能或禁止。单片机输出低电平时,TLC1543开始数据转换,I/O、CLOCK、 ADDRESS使能,DATA OUT脱离高阻状态。单片机通过CLOCK计数向ADDRESS写入4位数据为通道地址。数据转换结束后,EOC由高电平变为低电平,单片机从DATA OUT读取10位数据,数据范围为0~1024,如图2所示当模拟电压等于+3.82 V时,A/D转换结果为0782;空闲时单片机控制CS脚置高电平,芯片禁止,DATA OUT置高阻状态。控制时序如图3所示。

3 数据传输电路设计

单片机与上位机之间的数据传输采用异步串口通信方式[2-4]。由于单片机的输入、输出电平为TTL电平,与上位机RS-232标准串行接口的电气规范不一致,因此要实现实现单片机与上位机之间的数据交换,必须进行电平转换[5],本系统采用MAX232芯片对单片机串口电平进行转换。上位机和单片机是主从关系,上位机发送握手信号给单片机,单片机收到后发送应答信号;上位机接收到应答信号后,判断应答信号是否正确,正确则向单片机发送命令信号,否则继续发送握手信号。串口参数设置为:波特率9 600 bps,1位起始位,1位停止位,8位数据位,无奇偶校验位。上位机和单片机之间的数据交换流程如图4所示。

图3 TLC1543工作时序

4 系统软件设计

单片机控制程序采用C语言编写,在Keil的uVision4开发环境中完成[6-11]。控制程序由一个主程序和四个子程序组成,子程序包括:UART通信模块、A/D控制模块、LCD显示模块、矩阵键盘模块等,主程序完成系统初始化和子程序的调用。

上位机软件采用Visual Basic软件开发工具,通过编程代码和调用控件[12-15],实现数据采集监控系统的可视化编程。软件通过调用Label(标签)、TextBox(文本框)、Button(按钮)等控件实现控制命令的发送;通过调用Mscomm控件实现上位机与单片机之间的串口通迅;通过调用CWGraph控件实现将数据曲线显示。数据采集系统监控界面包括:串口设置、控制命令、数据显示3部分组成。多路数据采集系统人机界面如图5所示。

图5 数据采集系统监控界面

5 结束语

基于TLC1543和单片机的数据采集单元,能够实现对多路模拟数据实时采集、显示和数据上传功能,采集的数据结果具有较高的精度。基于VB和上位机的人机交互界面,能够实现对数据采集单元的远程监控,实现数据实时显示、存储和曲线绘制。该系统具有广泛的使用价值。

[1]刘艳美,姜波.VB实现PC机与单片机(8051)的串口通讯[J].自动化技术与应用,2007,26(11):94-96.

[2]郭惠,吴迅.单片机C语言程序设计[M].北京:电子工业出版社,2008.

[3]宋志强,宁慧慧,余红英.基于VB的两路数据实时采集[J].电子测试,2009,9:70-73.

[4]刘风声.基于VB6.0的单片机与PC机通讯的实现与应用[J].计算机技术与发展,2007,10(17):202-208.

[5]马壮,吴铮,王永强.基于VB的PC与单片机串行通信系统研究与实现[J].唐山学院学报,2008,4(21):23-24.

[6]祝敬德,李杰,冯凯强,等.基于FT245RL和FPGA的6路数据采集系统设计[J].计算机测量与控制,2015,23(1):187-190.

[7]刘宇鸿,蒋留冰,车俐,等.基于FPGA的数据采集与回放系统设计[J].桂林电子科技大学学报,2015,35(1):31-34.

[8]闫慧兰,顾亮,候朝桢,等.AT89C52单片机与VB串行通信的实现[J].微计算机信息,2003,19(12):65-66.

[9]曾丽丽,刘心红,赵付,等.VB通信编程技术[M].北京:中国石化出版社,2014.

[10]李敏孜,刘志鸿,王宏.利用VB6.0实现PC机与MCS-51单片机之间的串行通信[J].内蒙古科技与经济,2004,24:66-67.

[11]陈三风,刘晓波.基于VB6.0与单片机串行通信的数据采集系统设计[J].计算机应用,2004(1):66-68.

[12]陈倩诒.VB与单片机语言串行通信技术[J].微型机与应用,2001(11):30-31.

[13]石永帅.基于VB的多路数据采集系统的实现[J].中国科技信息,2012(12):134-135.

[14]祁建广,李宝营,孙玉明.基于VB6.0的多路数据采集与处理系统[J].大连工业大学学报,2009,28(1):51-53.

[15]陈平,杨建,王炬城.基于FPGA的高速光纤数据传输板卡设计[J].信息通信,2015(1):79-80.

The design of a multi-channel data acquisition system based on VB and SCM

FENG Chuan-jun1,2,DAI Wen-feng1,2,HE Yang1,2
(1.Institute of Fluid Physics,CAEP,Mianyang 621900,China;2.Key Laboratory of Pulsed Power Science and Technology,CAEP,Mianyang 621900,China)

To acquire,store,and analyze multiple physical signals in real-time,this work presents a new design of multichannel data acquisition system.This design utilizes a SCM to control the A/D converter for multi-channel real-time data acquisition.The converted data is displayed in a LCD,and sent to the host computer through RS232.The human-machine interface is programmed with Visual Basic,which implements the remote control of the system.The interface is friendly and easy to operate.

single chip microcomputer;Visual Basic;data acquisition;serial communication

TN98

A

1674-6236(2016)22-0155-03

2015-11-15稿件编号:201511134

冯传均(1989—),男,四川广元人。研究方向:脉冲功率技术及测控技术。

猜你喜欢

上位串口单片机
浅谈AB PLC串口跟RFID传感器的通讯应用
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索