基于8051和ADC0809CCN的数据采集设计

更新时间:2023-08-20 09:05:01 阅读量: 高等教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据采集 设计

目 录

摘 要 ----------------------------------------------------------------------------------------------- - 2 - ABSTRACT --------------------------------------------------------------------------------------- - 3 - 前 言 ----------------------------------------------------------------------------------------------- - 4 - 第1章 任务分析与方案确定 ------------------------------------------------------------------- - 6 -

1.1 信号采集分析 --------------------------------------------------------------------------- - 6 -

1.1.1 信号采集 ------------------------------------------------------------------------- - 7 - 1.1.2 A/D转换器的选取 --------------------------------------------------------------- - 9 - 1.2 控制与显示方法分析------------------------------------------------------------------ - 10 -

1.2.1 单片机系统分析---------------------------------------------------------------- - 10 - 1.2.2 显示与键盘分析---------------------------------------------------------------- - 12 -

1.3 传输方式分析 -------------------------------------------------------------------------- - 14 - 第2章 系统硬件设计 --------------------------------------------------------------------------- - 15 -

2.1 信号调理电路 -------------------------------------------------------------------------- - 16 -

2.2 数据采集电路 -------------------------------------------------------------------------- - 16 - 2.2.1 A/D转换的一般步骤 ----------------------------------------------------------- - 16 - 2.2.2 ADC0809内部功能与引脚介绍----------------------------------------------- - 17 - 2.2.3 ADC0809与MCS-51系列单片机的接口方法 ------------------------------ - 19 - 2.4 控制器、振荡源和复位电路 --------------------------------------------------------- - 22 - 2.5 键盘与显示电路 ----------------------------------------------------------------------- - 23 - 2.6 通信电路-------------------------------------------------------------------------------- - 24 - 第3章 软件设计 -------------------------------------------------------------------------------- - 27 -

3.1 A/D转换--------------------------------------------------------------------------------- - 28 -

3.2 标度变换-------------------------------------------------------------------------------- - 30 - 3.3 数制转换-------------------------------------------------------------------------------- - 31 - 3.4 键盘程序-------------------------------------------------------------------------------- - 33 - 3.5 LED显示程序 -------------------------------------------------------------------------- - 34 - 3.6 通信程序 ------------------------------------------------------------------------------------- - 35 -

3.6.1 上位机程序 --------------------------------------------------------------------- - 35 - 3.6.2 下位机程序 --------------------------------------------------------------------- - 38 -

结论、讨论和建议 ------------------------------------------------------------------------------- - 40 - 致 谢 ---------------------------------------------------------------------------------------------- - 43 - 参考文献 ------------------------------------------------------------------------------------------ - 44 - 毕业设计小结------------------------------------------------------------------------------------- - 45 - 附录 ------------------------------------------------------------------------------------------------ - 46 -

数据采集 设计

摘 要

以ADC0809和8051为核心,该系统有三个部分:数据采集,数据处理和显示,终端接收。具体包括控制、显示、A/D转换器、电平转换接口、个人计算机等。设计中用ADC0809进行8路数据的采样,利用MCS-51单片机的串行口发送和接收数据。显示部分由8155、75452、7407和LED数码显示器构成。硬件设计应用电子设计自动化工具,软件设计采用模块化编程方法。

关键字:数据采集,EDA,串行口,模块化编程

数据采集 设计

ABSTRACT

………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ………………………………………………………………………………………. ……………………………………………………………………………………….

数据采集 设计

前 言

随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。

随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。

此外,计算机的发展对通信起了巨大的推动作用.计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。数据通信是计算机广泛应用的必然产物。

数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。

数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的

数据采集 设计

形式,以可输出的形态在输出设备上输出,例如打印,显示,绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示。

由于RS-232在微机通信接口中广泛采用,技术已相当成熟。在近端与远端通信过程中,采用串行RS-232标准,实现PC机与单片机间的数据传输。

在本毕业设计中对多路数据采集系统作了基本的研究。本系统主要解决的是怎样进行数据采集以及怎样进行多路的数据采集,并将数据上传至计算机。

数据采集 设计

第1章 任务分析与方案确定

根据系统基本要求,将本系统划分为如下几个部分: 信号调理电路

8路模拟信号的产生与A/D转换器 发送端的数据采集与传输控制器 人机通道的接口电路 数据传输接口电路

数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。系统框图如图1-1所示

1.1 信号采集分析

被测电压为0~5V直流电压,可通过电位器调节产生。

数据采集 设计

1.1.1 信号采集

多路数据采集系统多采用共享数据采集通道的结构形式。 数据采集方式有顺序控制数据采集和程序控制数据采集。

方案一:顺序控制数据采集,顾名思义,它是对各路被采集参数,按时间顺序依次轮流采样。原理如下图1-2所示,系统的性能完全由硬件设备决定。在每次的采集过程中,所采集参数的数目、采样点数、采样速率、采样精度都固定不变。若要改变这些指标,需改变接线或更换设备方能实现。数据采集时,控制多路传输门开启和关闭的信号来自脉冲分配器,在时钟脉冲的推动下,这些控制信号不断循环,使传输门以先后顺序循环启闭。

方案二:程序控制数据采集,由硬件和软件两部分组成。,据不同的采集需要,在程序存储器中,存放若干种信号采集程序,

选择相应的采集程序进行采集工作,还可通过编新的程序,以满足不同采样任务的要求。如图1-3所示。

程序控制数据采集的采样通道地址可随意选择,控制多路传输门开启的通道地址码由存储器中读出的指令确定。即改变存储器中的指令内容便可改变通道地址。

由于顺序控制数据采集方式

数据采集 设计

缺乏通用性和灵活性,所以本设计中选用程序控制数据采集方式。

采集多路模拟信号时,一般用多路模拟开关巡回检测的方式,即一种数据采集的方式。利用多路开关(MUX)让多个被测对象共用同一个采集通道,这就是多通道数据采集系统的实质。当采集高速信号时,A/D转换器前端还需加采样/保持(S/H)电路。

待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等环节的预处理。被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给A/D转换器,需对其进行必要的处理,即信号调理。如对信号进行放大、衰减、滤波等。

通常希望输入到A/D转换器的信号能接近A/D转换器的满量程以保证转换精度,因此在直流电流电源输出端与A/D转换器之间应接入放大器以满足要求。

本题要求中的被测量为0~5V直流信号,由于输出电压比较大,满足A/D转换输入的要求,故可省去放大器,而将电源输出直接连接至A/D转换器输入端。

多路数据采集输入通道的结构图1-4所示。

注:缓慢变化信号和直流信号,采样保持电路可以省略。

数据采集 设计

1.1.2 A/D转换器的选取 1.转换时间的选择

转换速度是指完成一次A/D转换所需时间的倒数,是一个很重要的指标。A/D转换器型号不同,转换速度差别很大。通常,8位逐次比较式ADC的转换时间为100us左右。由于本系统的控制时间允许,可选8位逐次比较式A/D转换器。

2.ADC位数的选择

A/D转换器的位数决定着信号采集的精度和分辨率。

要求精度为0.5%。对于该8个通道的输入信号,8位A/D转换器,其精度为

2

输入为0~5V时,分辨率为

8

0.39%

5 0.0196V2 12 1

FsN

8

v—A/D转换器的满量程值

Fs

N

—ADC的二进制位数

量化误差为

Q

N

Fs

(2 1) 2

5(2 1) 2

8

0.0098V

ADC0809是TI公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。

用它可直接将8个单端模拟信号输入,分时进行A/D转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为A/D转换电路的核心。

数据采集 设计

1.2 控制与显示方法分析

用单片机作为这一控制系统的核心,接受来自ADC0809的数据,经处理后通过串口传送,由于系统功能简单,键盘仅由两个开关和一个外部中断端组成,完成采样通道的选择,单片机通过接口芯片与LED数码显示器相连,驱动显示器显示相应通道采集到的数据。

1.2.1 单片机系统分析 1.复位电路

单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51的RST引脚是复位信号的输入端。复位电平是高电平有效,持续时间要有24个时钟周期以上。本系统中单片机时钟频率为6MHz则复位脉冲至少应为4us。 方案一:上电复位电路

上电瞬间,RST端的的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。复位电路的典型参数为:C取10uF,R取8.2k,故时间常数

=RC=10 10 6 8.2 103=82ms

以满足要求。 方案二.外部复位电路

按下开关时,电源通过电阻对外接电容进行充

数据采集 设计

电,使RES端为高电平,复位按钮松开后,电容通过下拉电阻放电,逐渐使RET端恢复低电平。 方案三:上电外部复位电路

典型的上电外部复位电路是既具有上电复位又具有外部复位电路,上电瞬间,C与Rx构成充电电路,RST引脚出现正脉冲,只要RST保持足够的高电平,就能使单片机复位。

一般取C=22uF,R=200,Rx=1k,此时

=22 10 6 1 103=22ms

当按下按钮,RST出现2.振荡源

10001200

5=4.2V时,使单片机复位。

在MCS-51内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1(19)、XTAL2(18)分别是此放大器的输入端和输出端。 方案一:内部方式

与作为反馈元件的片外晶体或陶瓷谐振器一起组成一个自激振荡器。 方案二:外部方式

外部振荡器信号的接法与芯片类型有关。CMOS工艺的MCU其XTAL1端接外部时钟信号,XTAL2端可悬空。HMOS工艺的MCU则XTAL2端接外部时钟信号,XTAL1端须接地。

在MCS-51单片机系列芯片中,用8051或8751芯片可以构成最小系统。因为8051和8751是片内有ROM/EPROM的单片机,用这种芯片构成的单片及最小系统简单、可靠。 8051构成的最小系统特点:

受集成度所限,只能用于小型控制单元。

数据采集 设计

有可供用户使用的大量的I/O口线。

仅有芯片内部的存储器,故存储器的容量有限。

8051的应用软件要依靠半导体掩膜技术植入,适于在大批量生产的应用系统中使用。

1.2.2 显示与键盘分析

对系统发出命令和输出显示测量结果,主要是由键盘和LED数码显示器组成。

缓慢变化信号和直流信号,要求用数码管适时地进行十进制显示,由于精度要达到0.5%,所以这里用5只LED数码显示器来表示该十进制数,用两只七段数码显示器表示通道号。为实现通道的选取,用键盘实现控制功能。 1.译码方法

用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。 方案一:硬件译码

硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。 方案二:软件译码

软件译码是用软件来完成硬件的功能,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式。 2.显示方法

在该单片机系统中,使用7段LED显示器构成8位显示器,段选线控制显示的字符,位选线控制显示位的亮或暗。 方案一:静态显示

静态显示,显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不用再管,直到下一次显示数据需要更新时再传送一次数据。

数据采集 设计

编程容易,管理简单,显示亮度高,显示数据稳定,占用很少的CPU时间。但引线多,线路复杂,硬件成本高。 方案二:动态显示

动态显示需要CPU时刻对显示器件进行数据刷新,显示数据会有闪烁感,占用的CPU时间多。

这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。

当显示装置中有多个多段LED时,通常采用动态扫描驱动电路,节省开销。

3.显示接口芯片的选择 方案一:8279接口芯片

8279是Intel公司的通用可编程键盘和显示器接口电路芯片,内部有显示RAM。8279可以实现对键盘和显示器的自动扫描,识别闭合键的键号,完成显示器的动态显示。从而大大节省了CPU处理键盘和显示器的时间,提高了CPU的工作效率。另外,8279与单片机的接口简单,显示稳定,工作可靠。但8279所需外围元件多(显示驱动、译码等)、命令字多,调试困难,占用电路板面积大、综合成本高,在中小系统中常常大材小用。 方案二:8155接口芯片

采用并行口扩展芯片扩展并行口的方法来设计显示系统。用做显示系统的传统的芯片有8155、8255、8279等。这种方式的优点是速度快,显示数据简单。缺点是,占用单片机口线多。如用8155,其内部集成有:256个字节的SRAM、一个14位二进制减法计数器和3个并行端口PA、PB和PC。但此方案同样需要驱动显示,同时显示扫描还需占用CPU大量时间。但为设计的简单化带来方便,所以采用该芯片作为显示接口芯片,A口为位选线,B口为段

数据采集 设计

选线。

4.键盘电路的确定

为了在控制系统中完成采集通道的选择,还需要为该系统设置键盘。由于功能要求简单,仅用两个按键即可完成选择功能,降低了系统的硬件开销,软件处理简单。

1.3 传输方式分析

1.传输方式的选择

串行通信有同步和异步两种工作方式。

方案一:同步方式要求发送与接受保持严格同步,由于串行传输逐位按顺序进行,为了约定数据是由哪一位开始传输,需设定同步字符。此方式传输速度快,但硬件复杂。

方案二:异步方式,规定了数据传输格式,每个数据均以相同的帧格式传送,每帧信息由起始位、数据位、奇偶效验位和停止位组成。帧与帧间用高电平分隔开,但每帧均需附加位,降低了传输效率。

异步通信依靠起始位、停止位保持通信同步。对硬件的要求低,实现起来比较简单、灵活,适用于数据的随机发送/接收,一般适用于50~9600bps的低速串行通信。 2.电平转换芯片选择

RS-232规定的电平和一般微处理器的逻辑电平不一致,必须进行电平转换。

方案一:采用MCl488和MCl489芯片的转换接口

MCl488和MCl489芯片为早期的RS-232至TTL逻辑电平的转换芯片,

数据采集 设计

需要±12V电压,并且功耗较大,不适合用于低功耗的系统。 方案二:采用MAX232芯片的转换接口

MAX232是MAXIM公司的产品,包含两路驱动器和接收器的RS-232转换芯片。芯片内部有一个电压转换器,可以把输入的+5V电压转换为RS-232接口所需的±10V电压,尤其适用于没有±12V的单电源系统。

由于RS-232信号电平与MSC-51型单片机信号电平(TTL电平)不一致,因此采用RS-232标准时,必须进行信号的电平转换。RS-232与TTL电平转换芯片各有特点,此处选用MAXIM公司的MAX232芯片。

小结:经简单的理论分析,本系统数据采集部分核心采用ADC0809,单片机系统选用8051构成的最小系统,用LED动态显示采集到的数据,数据传输则选用RS232标准,实现单片机与PC机的通信。

第2章 系统硬件设计

数据采集 设计

2.1 信号调理电路

信号调理的任务 将被测对象的输出信号变换成计算机要求的输入信号。 对于多通道数据采集系统的输入通道,设置多路选择开关,可降低硬件开销。如图2-1所示。为避免小信号通过模拟开关造成较大的附加误差,在传感器输出信号过小时,每个通道应设前置放大环节(本文可不加以考虑)。

2.2 数据采集电路

把连续变化量变成离散量的过程称为量化,也可理解为信号的采样。 把以一定时间间隔T逐点采集连续的模拟信号,并保持一个时间t,使被采集的信号变成时间上离散、幅值等于采样时刻该信号瞬时值的一组方波序列信号,即采样信号。 2.2.1 A/D转换的一般步骤 1.采样-保持

为了能不失真的恢复原模拟信号,采样频率应不小于输入模拟信号的频谱中最高频率的两倍,这就是采样定理,即

f

s

2f

Imax

由于A/D转换需要一定的时间,所以在每次采样结束后,

应保持采样电压

数据采集 设计

在一段时间内不变,直到下一次采样的开始。实际中采样-保持是做成一个电路。 2.量化与编码

模拟信号经采样-保持电路后,得到了连续模拟信号的样值脉冲,他们是连续模拟信号在给定时刻上的瞬时值,并不是数字信号。还要把每个样值脉冲转换成与它幅值成正比的数字量。

以上为A/D转换的一般步骤,在本电路中由ADC0809芯片完成。 2.2.2 ADC0809内部功能与引脚介绍

分辨率和精度在第一章中已作了相应的计算和分析。

ADC0809八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。8路转换开关能直接连通8个单端模拟信号中的任何一个。其内部结构如图2-2所示。

1.ADC0809主要性能

数据采集 设计

逐次比较型 CMOS工艺制造 单电源供电

无需零点和满刻度调整

具有三态锁存输出缓冲器,输出与TTL兼容 易与各种微控制器接口 具有锁存控制的8路模拟开关 分辨率:8位 功耗:15mW

最大不可调误差小于±1LSB(最低有效位) 转换时间(fCLK 500KHz)128us 转换精度: 0.4%

ADC0809没有内部时钟,必须由外部提供,其范围为10~1280kHz。

典型时钟频率为640kHz

2.引脚排列及各引脚的功能,引脚排列如图2-3所示。

各引脚的功能如下:

IN0~IN7:8个通道的模拟量输入端。可输入0~5V待转换的模拟电压。

D0~D7:8位转换结果输出端。三态输出,D7是最高位,D0是最低位。

A、B、C:通道选择端。当CBA=000时,IN0输入;当CBA=111时,IN7输入。

ALE:地址锁存信号输入端。该信号在上升沿处把A、B、C

的状态锁存到内部的多路开关的地址锁存

数据采集 设计

器中,从而选通8路模拟信号中的某一路。

START:启动转换信号输入端。从START端输入一个正脉冲,其下降沿启动ADC0809开始转换。脉冲宽度应不小于100~200ns。

EOC:转换结束信号输出端。启动A/D转换时它自动变为低电平。 OE:输出允许端。

CLK:时钟输入端。ADC0809的典型时钟频率为640kHz,转换时间约为100μs。 REF(-)、REF(+):参考电压输入端。ADC0809的参考电压为+5V。 VCC、GND:供电电源端。ADC0809使用+5V单一电源供电。

当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。在START上升沿时,所有的内部寄存器清零,在下降沿时,开始进行A/D转换,此期间START应保持低电平。在START下降沿后10us左右,转换结束信号变为低电平,EOC为低电平时,表示正在转换,为高电平时,表示转换结束。OE为低电平时,D0~D7为高阻状态,OE为高电平时,允许转换结果输出。

2.2.3 ADC0809与MCS-51系列单片机的接口方法

ADC0809与8051单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本题中选用中断接口方式。

由于ADC0809无片内时钟,时钟信号可由单片机的ALE信号经D触发器二分频后获得。ALE引脚得脉冲频率是8051时钟频率的1/6。该题目中单片机时钟频率采用6MHz,则ALE输出的频率是1MHz,二分频后为500Hz,符合ADC0809对频率的要求。

由于ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的A、B、C相连。通道基本地址为0000H~0007H。其对应关系如表2-1所示。

数据采集 设计

控制信号:将P2.7作为片选信号,在启动A/D转换时,由单片机的写信号和P2.7控制ADC的地址锁存和启动转换。由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。

在读取转换结果时,用单片机的读信号RD和P2.7引脚经或非门后,产生正脉冲作为OE信号,用一打开三态输出锁存器。 其接口电路如图2-4所示。

数据采集 设计

图 2-4 ADC0809与MCS-51的接口电路

START信号和OE信号的逻辑表达式为

当8051通过对0000H~0007H(基本地址)中的某个口地址进行一次写操作,即可启动相应通道的A/D转换;当转换结束后,ADC0809的EOC端向8051发出中断申请信号;8051通过对0000H~0007H中的某个口地址进行一次读操作,即可得到转换结果。

注:ADC0809的基准电压可通过基准电压芯片供给,如MAX875,可供给5V基准电压。

本文来源:https://www.bwwdw.com/article/0e3j.html

Top