APP下载

基于单片机实现数据采集的设计

2017-04-13郭琳琳

中文信息 2017年2期
关键词:数据采集

郭琳琳

摘 要: 本论文的目的就是设计实现一个具有一定实用性的实时数据采集系统。本文介绍了基于单片机的数据采集的硬件设计和软件设计。数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有非常重要的作用。数据采集与通信控制采用了模块化的设计,数据采集与通信控制采用了单片机AT89C51来实现,硬件部分是以单片机为核心,还包括A/D模数转换模块,显示模块,和串行接口电路。本系统能够对8路模拟量,8路开关量和1路脉冲量进行数据采集。被测数据通过TLC0838进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过串行口MAX232传输到上位机,由上位机负责数据的接受、处理和显示,并用LCD显示器来显示所采集的结果。对脉冲量进行采集时,通过施密特触发器进行整形后再送入单片机。本文对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。

关键词:数据采集 AT89C51单片机 TLC0838 MAX232

中图分类号:TP274 文献标识码:A 文章编号:1003-9082(2017)02-0298-01

前言

数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛应用在各个领域。近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。本文设计的数据采集系统,它的主要功能是完成数据采集、处理、显示、控制以及与PC机之间的通信等。在该系统中需要将模拟量转换为数据量,而 A/D是将模拟量转换为数字量的器件,他需要考虑的指标有:分辨率、转换时间、转换误差等等。而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。本系统对数据采集系统体系结构及功能进行分析,设计并实现采用单片机为核心,扩展电源电路、复位电路、LCD接口电路等,并配有标准RS-232串行通信接口。系统软件采用C语言编写,软件设计采用模块化结构数据采集系统。数据采集系统需采用硬件和软件方面的抗干扰措施。

一、系统主要功能

本系统对8路模拟信号,8路开关信号和1路脉冲信号进行采集并处理,系统设计了2个按键,当按键1按下时,系统开始工作,采集数据,当按键2按下时,系统检查是否通过RS-232连接PC机,若连接成功,则执行传输命令,把所采集的数据送入PC机进行处理。

二、单片机与PC机相连结构

系统选择一个串行的A/D转换芯片,可采集8路的模拟量。开关量采集可以直接用单片机的I/O,单片机还有两个外部中断接口,即可用来测量脉冲量的输入,采集其输入频率。单片机可以通过串口与上位PC机进行通讯,把采集到的数据发送到上位机上。PC机有非常强大的运算能力,由PC机处理采集到的数据,PC机处理数據速度快,界面友好直接,所以选择单片机通过MAX232与PC机相连,便于方便地处理数据。

三、数据采集系统的硬件设计

主控制器是本系统的核心部分,它负责数据的采集及处理。在本系统中主控制器我选择了单片机,单片机控制功能强,性价比优异,体积小巧,适用于本数据采集系统。

单片机就是单片微型计算机,单片机微型计算机的核心是微处理器MPU,与一般微型计算机所不同的是是它将微处理器,内存,I/O接口,中断逻辑,定时器/计数器集成在一个集成电路芯片上。

在本数据采集系统中,采用了MCS-51系列:AT89C51芯片。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器。单片机的可擦除只读存储器可以反复擦除100次,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

在本数据采集系统需要采集8路模拟信号,选用A/D转换器TLC0838,TLC0838是美国德州仪器公司生产的8位逐次逼近模数转换器。存全8位分辨率下,它允许任意小的模拟电压编码间隔。

对开关量的采集电路相对比较简单,因为开关量的状态只有0和1两种,所以只要用单片机的并口就可以了,本数据采集系统用的是P2口,各开关通过扩展输入口74LS244与单片机相连。开关合上时将P2口的相应引脚送低电平,反之,开关打开时送高电平。

74LS244为3态8位缓冲器,一般用作总线驱动器。74LS244没有锁存的功能。地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。

锁存器是一个很普通的时序电路。一般的,它在时钟上升沿或者下降沿来的时候锁存输入,然后产生输出,在其他的时候输出都不跟随输入变化,这就是所谓边缘触发的D触发器。

脉冲信号是周期变化的信号,AT89C51单片机有两个外部中断INT0和INT1接口,利用这两个外部中断输入接口,可以对脉冲量信号进行测量。脉冲量可以直接送到单片机的外部中断接口,本数据采集系统用施密特触发器进行整形后送入单片机。

利用施密特触发器状态转换过程中的正反馈作用,可以把边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。输入的信号只要幅度大于vt+,即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。 当输入电压由低向高增加,到达V+时,输出电压发生突变,而输入电压Vi由高变低,到达V-,输出电压发生突变,因而出现输出电压变化滞后的现象,可以看出对于要求一定延迟启动的电路,它是特别适用的。

四、数据采集系统的软件设计

本软件系统有一个主程序,七个子程序,七个子程序分别为向串口发送数据子程序、键盘扫描子程序、LCD数据显示子程序、模数转换子程序、开关量采集子程序、脉冲量采集子程序。

系统上电后首先进行自检,检查各功能模块电子器件是否正常工作,检查完毕后进行各功能模块初始化,扫描键盘,当有“按键1”按下时,系统可读到P0口为低电平,此时系统开始执行测量数据的工作,将采集到的数据储存到特定寄存器,当有“按键2”按下时,系统将检查是否与上位机已经建立连接,若连接成功则通过RS-232接口进行数据传送。

猜你喜欢

数据采集
Web网络大数据分类系统的设计与改进
基于大型嵌入式系统的污水检测系统设计
基于开源系统的综合业务数据采集系统的开发研究