基于微机控制通信的单片机通用数据采集系统研究

2018-02-28 19:55尚瑾
数字技术与应用 2017年12期
关键词:单片机

尚瑾

摘要:本文介绍了通用数据采集系统,分析了系统的设计思路与方法,研究了微机控制通信系统的编程。

关键词:微机控制通信;单片机;通用数据采集系统

中图分类号:TP274.2 文献标识码:A 文章编号:1007-9416(2017)12-0019-02

数据信息采集是当前工业生产、消防等领域,应用效果明显。在未来一段时间内,数据采集系统将得到进一步改进与完善,朝向智能化的方向发展。微机控制通信的单片机数据采集系统,为确保PC与PC,PC与单片机之间完成数据交換,则选择串行通信,实现数据交换。但,传统的数据采集系统往往是针对特定领域构建,容易造成数据采集系统的通用性受到制约。基于此,本文对数据采集系统展开研究,并对基于微机控制通信的单片机通用数据采集系统展开研究,详细内容如下。

1 通用数据采集系统

数据采集系统,是借助一种装置,从外部获取数据,并传递到系统内部。当前,人们对数据采集系统的重视程度相对较高,且对其的研究也较为深入,对推动系统功能提升打下基础。通常情况下,数据采集系统是借助单片机与PC构建的。系统能够的完成采集、处理、显示和控制等功能,并顺利完成PC与PC间通信,PC与单片机间的通信。此外,系统模拟量的转化,主要是借助A/D转换,器可有效将模拟量转为数字量。但是,一些数据采集系统构建中,往往以适合对应领域的设计方式,通用效果不够理想。通用数据采集系统,在实际应用中,可直接运用到其他领域,减少系统重构的繁琐程序,满足数据采集的需求,推动相关行业发展。

2 系统的设计思路与方法

2.1 实时性研究

正常情况下,单片机对输入的模拟量展开采集工作,并将采集的到信息传递到的PC端,游PC对采集的数据进行处理。鉴于串行通信的接线少和传输距离的特点,可用于数据采集的通信中。但,一旦为多路模拟量输入系统,则容易出现滤波和串行传送耗时的情况。数字滤波器是数据采集系统的关键,期主要是用于对数据信息进行过滤波的作用,其可保障数字量的平滑性与真实性。对于由单片机与PC组成的通信系统,单片机采集的数据信息不能不经过数字滤波。在具体的采集过程中,每采集一个模拟量所消耗的时间为μs级,在串行通信过程中,每组数据的发送时间为ms。如果未经过滤波处理,则会造成数据传递效率延时较为严重。

2.2 数据整合周期

现设有N路模拟量需进行采集,对N路模拟量展开采集和滤波展开整合处理,每一次整合所耗费的时间为一个整合周期。其受到A/D转换器一次转换时间和滤波方式等的影响。故此,如下以平均值滤波为例展开研究。现设共有8路的A/D转换,每路取6次平均,a(i)用于存放累加和,其中i=1,…8。现对具体的整合过程展开研究具体为:

(1)对所有模拟量进行一次扫描采集,再由A/D转换后的数据与前一次的整合值展开比较。(2)比较后,如果值正常,则用a(i),展开对位累加。(3)按照上述模式,连续扫描6次,得到结果,进而得到平均值滤波,最后得到采集数据为:

B(i)=a(i)÷6(i=1,2…6) (1)

设一路模拟量进行一次采集和处理时间可以理解为:t=200μs,其中整合周期可用如下公式表示:

T=t×路数×采集次数 (2)

按照上述方式展开计算,可以得到具体的整合周期为T=9600μs。且由整合周期可对系统的实时性具有直接影响,主要影响因素为整合周期长短。

2.3 串行通信方式选择

具体串行通信方式选择,本文选择适宜的利用方式,提升整合数据利用率。两种方案分别为:(1)单片机开放串行中断,如果单片机在当前整合周期完成后未申请中断,则进行下移轮整合周期。当微机需要数据时,则向单片机发送信号,接受到申请后,其停止整合,并进入中断处理子程序发送RAM中存储上一次整合数据。(2)后台微机也工作于串行中断方式。当整合完成后,向PC发送完成标志,且其处于待机状态。

将上述两种串行方式方案一单片机利用效率较低,且工作效率较低,A/D转换可被中断延时,干扰数据效果。对于方案2可更为适应多路数据采集系统。

3 微机控制通信系统的编程

单片机具有简单和控制效果显著,但是,单片机的数据处理、显示等的效果不够显著。故此,可借助计算机编程的方式,促使操作更为可靠。本文主要以Windows操作系统条件下,运用Visual C++进行编程。运用Windows API有关的串行通信函数结合Active X控件。具体的编程方式如:

(1)择取MFC构建基本对话框,使且支持Active X,设定名称,再添加控件,如表1所示。(2)完成后,再添加系统注册过Microsoft communications control,合理对其属性进行设置,其余参数选择默认值。(3)向Class Wizard中添加变量及函数。通过上述方式,可完成对多路温度检测,多路压力检测。其中由于Windows API提供了标准串行,能够得到系统的利用率和通用性,且能够完成对不同模拟量的采集,效果显著。本文主要选择AT89c51为核心,辅以TLC0838、X25045。具体的单片机程序流程图如图1所示。

4 结语

基于微机控制通信的单片机通用数据采集系统,可有效改善数据采集系统通用性,保障系统的整体功能,可实现多路数据采集和传递,增强采集的利用率和通用性,并对预先编制好的程序进行简单修改,则可完成移植,具有极高的重复利用价值。

参考文献

[1]杨新华.基于单片机的数据采集系统的研究[J].电子技术与软件工程,2015,(21):254.

[2]徐小明.基于单片机的数据采集系统的研究与实现[J].电工技术:理论与实践,2015,(4):88-89.

[3]王宇.基于单片机C8051的数据采集和控制系统设计[J].数字技术与应用,2017,(5):5-6.

Abstract:This paper introduces the general data acquisition system, analyzes the design ideas and methods of the system, and studies the programming of the microcomputer controlled communication system.

Key words:microcomputer controlled communication; single chip microcomputer; general data acquisition systemendprint

猜你喜欢
单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
基于单片机的平衡控制系统设计
基于单片机的三维LED点阵设计
Microchip推出两个全新PIC单片机系列
基于Proteus的单片机控制系统的仿真设计