基于ADC0809和51单片机的多路数据采集系统设计方案
摘要:给出了采用8051单片机为核心来实现多路数据采集与通信控制的设计方法。该方法将8路被测电压通过通用ADC0809模数转换来实现对采集到的数据进行模拟量到数字量的转换,然后由单片机对数据进行处理,再将数据通过串行口传输到PC机上,同时采用MAX232接口芯片来实现MCU与PC机间的电平匹配,最后由PC机完成数据的接收和显示。
关键词:多路数据采集;单片机;模数转换;串行通信
"数据采集"是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。
本文的主要任务是对0~5V的直流电压进行测量并送到远端的PC机上进行显示。由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,可以直接将直流电压转换为计算机可以处理的数字量。同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,提高系统的抗干扰能力。软件设计方面则采用功能模块化的设计思想;键盘模数转换等采用中断方式来实现,从而大大提高了单片机的效率以及实时处理能力。
1 数据采集系统的硬件结构
数据采集系统的硬件结构一般由信号调理电路、多路切换电路、采样保持电路、A/D转换器以及单片机等组成。本文主要完成功能的系统硬件框图如图1所示。
图1 数据采集系统硬件设计框图
2 ADC0809模数转换器简介
2.1 ADC0809的结构功能
本数据采集系统采用计算机作为处理器。电子计算机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要模/数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟量转换成数字量输出的接口电路,即A/D转换器就是现实信号转换的桥梁。
目前,世界上有多种类型的A/D转换器,如并行比较型、逐次逼近型、积分型等。本文采用逐次逼近型A/D转换器,该类A/D转换器转换精度高,速度快,价格适中,是目前种类最多,应用最广的A/D转换器。逐次逼近型A/D转换器一般由比较器、D/A转换器、寄存器、时钟发生器以及控制逻辑电路组成。
ADC0809就是一种CMOS单片逐次逼近式A/D转换器,其内部结构如图2所示。该芯片由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力。该器件既可与各种微处理器相连,也可单独工作。其输入输出与TTL兼容。
ADC0809是8路8位A/D转换器(即分辨率8位),具有转换起停控制端,转换时间为100μs采用单+5V电源供电,模拟输入电压范围为0~+5V,且不需零点和满刻度校准,工作温度范围为-40~+85℃功耗可抵达约15mW。
ADC0809芯片有28条引脚,采用双列直插式封装,图3所示是其引脚排列图。各引脚的功能如下:
图3 ADC0809的引脚排列图
IN0~IN7:8路模拟量输入端;
D0~D7:8位数字量输出端;
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路;
ALE:地址锁存允许信号,输入,高电平有效;
START:A/D转换启动信号,输入,高电平有效;
EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平);
OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平才能打开输出三态门,输出为数字量;
CLK:时钟脉冲输入端。要求时钟频率不高640kHz;
REF(+)、REF(-):基准电压;
Vcc:电源,单一+5V;
GND:地。
ADC0809工作时,首先输入3位地址,并使ALE为1,以将地址存入地址锁存器中。此地址经译码可选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位;下降沿则启动A/D转换,之后,EOC输出信号变低,以指示转换正在进行,直到A/D转换完成,EOC变为高电平,指示A/D转换结束,并将结果数据存入锁存器,这个信号也可用作中断申请。当OE输入高电平时,ADC的输出三态门打开,转换结果的数字量可输出到数据总线。
A/D转换器的位数决定着信号采集的精度和分辨率。对于8通道的输入信号,其分辨率为0.5%。8位A/D转换器的精度为:
2.2 ADC0809的工作时序
图4所示是ADC0809的工作时序图。从该时序图可以看出,地址锁存信号ALE在上升沿将三位通道地址锁存,相应通道的模拟量经过多路模拟开关送到A/D转换器。启动信号START上升沿复位内部电路,START的下降沿启动转换,此时转换结束信号EOC呈低电平状态,由于逐位逼近需要一定过程,所以,在此期间,模拟输入量应维持不变,比较器要一次次比较,直到转换结束,此时变为高电平。若CPU发出输出允许信号OE(输出允许为高电平),则可读出数据。另外,ADC0809具有较高的转换速度和精度,同时受温度影响也较小。
- 一种嵌入式时钟管理器的设计与实现(08-01)
- 基于C8051F340驱动与采集的CCD光电遥测垂线仪(02-01)
- ARM仿真器与嵌入式系统设计讲解(02-12)
- 基于单片机C8051F060的智能功率柜的设计应用(01-12)
- 基于单片机的存储设备转储器(05-03)
- 基于8位机嵌入式TCP通信速度研究方案(06-03)