电脑桌面
添加大秘书到电脑桌面
安装后可以在桌面快捷访问

单片机的数据采集系统研讨分析

栏目:工矿企业发布:2007-06-09浏览:2594下载190次收藏

摘  要:本文以at89c51单片机为核心,设计一个基于单片机的数据采集系统。系统可以采集16路模拟量,精度为12位,16路开关量和2路脉冲量,并将采集到的数据每隔一分钟通过串口发送到pc机。

关键字:at89c51;数据采集;串口通讯 

作者简介:严怀龙(1972-),江苏省靖江人,内蒙古乌海市永红机电成套设备有限责任公司电子工程师。 

1  概述

在工业控制系统中,除了控制单元和执行单元外,还必须有反馈环节。在反馈环节中,最重要的就是对数据的采集。一般的工业控制中,数据有很多种形式,最常见的有电流电压的模拟量、以二进制形式输入的开关量以及以脉冲形式输入的脉冲信号。

本文设计一数据采集系统系统,系统以at89c51单片机为核心,at89c51是一个低电压,高性能cmos 8位单片机,片内含4k bytes的可反复擦写的flash只读程序存储器和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元。at89c51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,2个16位可编程定时计数器,1个全双工串行通信口[1],at89c51可以按照常规方法进行编程,也可以在线编程,这给开发带来方便。

如图1所示为设计的系统原理框图。系统选择一个串行的a/d转换芯片,用模拟开关作扩展,两个模拟开关即可扩展成16路的模拟量输入。开关量的采集可以直接用单片机的i/o,用两个并口即可完成16路的开关量采集。如图所示,at89c51单片机还有两个外部中断接口,即可用来测量脉冲量的输入,采集其输入频率。单片机可以通过串口与上位pc机进行通讯,把采集到的数据发送到上位机上。

   

图1  系统原理图

2  硬件电路设计

系统硬件可以分成四个部分,分别为模拟量采集电路、开关量采集电路、脉冲量采集电路以及单片机与pc的串口通讯电路。下面分别作简单的介绍。

2.1  模拟量采集电路

模拟量的采集要用到a/d转换芯片,而且精度为12位,这里选择max1241 a/d转换器。max1241是一种低功耗、低电压的12位逐次逼近型adc,最大非线性误差小于1lsb,转换时间9ms,内置快速采样/保持电路。max1241采用三线式串行接口,与单片机的接线简单,如图2所示[3]。图中两个电容是去藕电容,用以对电源进行滤波。vi是采集电压的输入端,vref是a/d转换器的参考电压。一般情况下可以接单片机的电源。

图2 max1241与单片机的接线图

 

系统要求对16路的模拟量进行采集,因此,只有一个a/d转换器就不够的,但如果用多个a/d转换器一方面会造成资源浪费,成本加大,另一方面单片机的i/o也不够,因此这里用两个8路模拟开关进行扩展,扩展成16路。如图1的原理图所示,系统选用两个cd4051模拟开关[3],并用单片机的四个i/o口控制两个模拟开关的通道选择端,在采集过程中,选择不同的通道进行数据采集。

 2.2  开关量采集电路

对开关量的采集电路相对比较简单,因为开关量的状态只有0和1两种,所以只要用两个单片机的并口就可以了,这里用的是p0口和p2口。但是有一点需要说明的是: 由于at89c51单片机的p0口内部没有上拉电阻,所以在电路中必须加入外部上拉电阻,阻值可以是4.7k~10k。而p2口内部自带上拉电阻,所以不需外加上拉电阻。采集输入电路如图1系统原理图所示。

2.3  脉冲量采集电路

脉冲量信号是周期变化的信号,at89c51单片机有两个外部中断int0和int1接口,利用这两个外部中断输入接口,可以对脉冲量信号进行测量,脉冲信号可以直接送到单片机的外部中断接口,也可以进行适当的整形后再送到单片机的外部中断接口,如加入带施密特功能的反向器74ls14。也可以用比较器进行整形,这样使单片机的采集测量更加可靠,更加精确。

2.4  通讯电路

该系统没有设计数据的显示系统,所以把采集到的数据发送到上位pc机上,与pc进行通讯。因为单片机与pc机的电平是不一样的,因此两者要进行数据交换,必须采用相应的电平转换电路。用得

解锁后支持完整在线阅读或下载编辑海量优质内容资源

单片机的数据采集系统研讨分析

点击下载
分享:
热门文章
    确认删除?
    回到顶部