基于ADC0809和51单片机的多路数据采集系统设计
ADC0809_多路数据采集和控制系统设计

1.设计目的本设计包括确定控制任务、系统总体设计、硬件系统设计、软件程序的设计等,使学生进一步学习理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能。
2. 设计内容设计一由微机控制的A/D数据采集和控制系统,该卡具有对八个通道上0-5V的模拟电压进行采集的能力,且可以用键盘选择装换通道,选择ADC0809作为A/D转换芯片。
并在显示器上动态显示采集的数据。
3. 设计要求(1)根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。
(2)画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。
(3)用protel软件绘制电路原理图。
(4)软件设计,给出流程图及源代码并加注释。
4. 系统总体设计步骤第一步:信号调理电路第二步:8路模拟信号的产生与A/D转换器被测电压要求为0~5V的直流电压,可通过电位器调节产生。
考虑本设计的实际需要,我选择八位逐次比较式A/D转换器(ADC0809)。
第三步:发送端的数据采集与传输控制器第四步:人机通道的借口电路第五步:数据传输借口电路用单片机作为控制系统的核心,处理来之ADC0809的数据。
经处理后通过串口传送,由于系统功能简单,键盘仅由两个开关和一个外部中断组成,完成采样通道的选择,单片机通过接口芯片与LED数码显示器相连,驱动显示器相应同采集到的数据。
串行通信有同步和异步两种工作方式,同步方式传送速度快,但硬件复杂;异步通信对硬件要求较低,实现起来比较简单灵活,适用于数据的随机发送和接受。
采用MAX485芯片的转换接口。
经过分析,本系统数据采集部分核心采用ADC0809,单片机系统采用8051构成的最小系统,用LED动态显示采集到的数据,数据传送则选用RS-485标准,实现单片机与PC机的通信。
数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。
基于51单片机和ADC0809多通道模数转换的设计与实现

目录摘要 (1)1、方案设计 (2)2、硬件电路的设计 (2)2.1单片机的最小系统设计 (2)2.2 ADC0809模数转换器设计电路 (3)2.2.1 ADC0809的结构功能 (3)2.2.2 ADC0809的工作时序 (6)2.2.3 ADC0809与AT89C52单片机的接口电路 (7)2.3 LCD1602显示电路 (8)2.4 键盘与单片机连接电路 (10)2.5系统整体电路图 (10)3、软件设计 (11)4、系统仿真和测试结果 (12)5、性能分析 (13)6、心得与体会 (14)7、参考文献 (14)附录一:源程序 (14)附录二:本科生能力拓展训练成绩评定表 (20)摘要本文介绍了基于单片机的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有非常重要的作用。
本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。
硬件部分是以单片机为核心,还包括A/D模数转换模块,LCD1602显示模块部分。
8路被测电压通过模数转换器ADC0809进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过LCD1602显示器来显示所采集的结果,并且可以通过按键来查看任意通路的电压值,整个系统具有操作方便、线路简单、测量误差小等优点。
关键词:单片机AT89S52、模数转换器ADC0809、数据采集、LCD1602显示器1、方案设计根据设计要求,采用的方案如下:硬件部分实现对8路数据采集和显示的功能,包括MCS-51单片机、ADC0809、LCD1602;软件部分实现单片机对8路输入数据的采集以及对LCD1602的显示操作。
主要设计思想:单片机P1与ADC0809相连,P0与LCD1602连接。
模拟信号通过IN0——IN7输入到ADC0809中转换为数字信号,P1获得此值后,经过处理得到每位的数据后,通过P0口写数据到LCD 屏上。
基于ADC0809和51单片机的多路数据采集系统设计

基于ADC0809和51单片机的多路数据采集系统设计“数据采集”是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。
本文的主要任务是对0~5V的直流电压进行测量并送到远端的PC机上进行显示。
由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,可以直接将直流电压转换为计算机可以处理的数字量。
同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。
终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,提高系统的抗干扰能力。
软件设计方面则采用功能模块化的设计思想;键盘模数转换等采用中断方式来实现,从而大大提高了单片机的效率以及实时处理能力。
1 数据采集系统的硬件结构数据采集系统的硬件结构一般由信号调理电路、多路切换电路、采样保持电路、A/D转换器以及单片机等组成。
本文主要完成功能的系统硬件框图。
2 ADC0809模数转换器简介2.1 ADC0809的结构功能本数据采集系统采用计算机作为处理器。
电子计算机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要模/数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟量转换成数字量输出的接口电路,即A/D转换器就是现实信号转换的桥梁。
目前,世界上有多种类型的A/D转换器,如并行比较型、逐次逼近型、积分型等。
本文采用逐次逼近型A/D转换器,该类A/D转换器转换精度高,速度快,价格适中,是目前种类最多,应用最广的A/D转换器。
逐次逼近型A/D转换器一般由比较器、D/A转换器、寄存器、时钟发生器以及控制逻辑电路组成。
51单片机使用ADC0809采样

void delayms( uint time )
{
unsigned int j=0;
for(;time>0;time--)
{
for(j=0;j<125;j++);
}
}
/************************************************************ //功能:实现将 AD 的值在数码管和 LED 灯上显示出来;
{ *ad=520;
//开始转换;
delayms(1);
xdp=0x8888; P1=*xdp; temp=*xdp;
//读外部 ADC; //使用 P1 口显示;//将转换Fra bibliotek的数给 temp;
a=temp/100; b=temp%100; c=b/10; d=b%10;
//百位;
//十位; //个位;
//入口参数:无 //出口参数:无
************************************************************/
void main ()
{
unsigned char temp,a,b,c,d;
ad=0x8000;
//ad 指向 IN0 通道;
while(1)
temp=ADdata[a]; //当前显示的段码;
xp=0x9004;
//数码管的地址;
*xp=temp;
//段码写入数码管:
temp=ADen[0]; //当前显示的位码; xp=0x9002; //数码管地址; *xp=temp; //位码写入数码管;
delayms(1);
temp=ADdata[c]; //当前显示的段码;
51单片机加CPLD驱动ADC0809的多路数据采集系统

信号,从Po送出的data为其提供ADDR通道选择地址。
例如启动ADCl.关键代码为:
MOV A#01H
MOvDPPR#addr//此处addr与地址分配有关
MOVX@DPTRA
对应C51代码为:
unsigned char xdata ADC_aL
0xt234;//定义ADC
堑叠
囤2 A[1C,OS09启动转换
P0
_4.输入按键输出显示电路一■
片机P3
4、P3
_-≥二¨=I
口为数据总线.要接ADC0809数据输出端D.同时 POIq低3bit接通道选择地址A、B、C.而其它控制信 号需要通过CPLD实现时序的匹配.其中ADC0809时 钟CLK由MCU ALE信号经CPLD8分频后提供。 CPLD内部电路如图8所示.MCU ALE经过8分 频(22 1184M/6/8=460K)adc clk做ADC0809的时 钟CLK,译码地址Y0与WR或非后做adc stad(接 ADC0809的ALE和START).Y0与RD或非后做
ADc=CH
Ⅳ外∞中断0目n化
IT0=1WT&镕触&
本篇结合具体AD0809器件与MCU的接1:3设
计,详细分析了ADC0809的控制时序图,设计了满足
t/外部中断自敬
void exIjnl。(voidlinterrupt0 using
ADC0809接口需要的硬件电路,整合Mini51板上按键、 数码管资源,通过CPLD内部电路设计.实现MCU对
_麓:__曼≥j
ADC0809启动受START、ALE和ADDR信号控制
详细解读程序代码,给出完整设计方案。
ADC0809是8位A/D转换器、8路多路开关以及 徽处理机兼容的控制逻辑的CMOS组件。它是透次逼 近式A/D转换器.容易和单片机总线模式接13。圈1 是ADC0809芯片的实物图和引脚图。 IN0一IN7:8路模拟量输人:
ADC0809与51单片机接口电路及应用程序

ADC0809与51单片机接口电路及应用程序最近研究了下ADC0809这个芯片,做了个电路,和大家分享电路原理图如下:500)this.width=500;" border=0>说明:D0~D7接51单片机的P2口(P2.0~P2.7)ADIN1和ADIN2为通道IN0和IN1的电压模拟量输入(0~5V)应用程序如下:#include"reg52.h"#define uchar unsigned charsbit ST=P1^0;sbit EOC=P1^1;sbit OE=P1^2;sbit CLK=P1^3;sbit ADDCS=P1^4;uchar AD_DATA[2]; //保存IN0和IN1经AD转换后的数据/**********延时函数************/void delay(uchar i){uchar j;while(i--){for(j=125;j>0;j--);}}/*********系统初始化***********/void init(){EA = 1; //开总中断TMOD = 0x02; //设定定时器T0工作方式 TH0=216; //利用T0中断产生CLK信号 TL0=216;TR0=1; //启动定时器T0ET0=1;ST=0;OE=0;}/***********T0中断服务程序************/void t0(void) interrupt 1 using 0{CLK=~CLK;}/***********AD转换函数**********/void AD(){ST=0;ADDCS=0; //选择通道IN0delay(10);ST=1; //启动AD转换delay(10);ST=0;while(0==EOC);OE=1;AD_DATA[0]=P2;OE=0;ST=0;ADDCS=1; //选择通道IN1 delay(10);ST=1; //启动AD转换delay(10);ST=0;while(0==EOC);OE=1;AD_DATA[1]=P2;OE=0;}/*****************主函数**************/。
基于51单片机的ADC0809多路测量

IT0=1;
TR0=1;
while(1)
{
clk=~clk;P1=ad_data0;
}
}
void int0(void)interrupt 0 using 0
{
switch(channel)
{
case 0:
{ channel+=1;
ad_data0=IN0;
IN1=0; //启动下一次AD转换
TL0=(65535-46083)%256;
count++;
if(count==2)
{ count=0;
IN0=0;//1s后再次启动下一轮AD转换
}
}
}break;
case 4:
{ channel+=1;
ad_data4=IN4;
IN5=0; //启动下一次AD转换
}break;
case 5:
{ channel+=1;
ad_data5=IN5;
IN6=0;
}break;
case 6:
{ channel+=1;
ad_data6=IN6;
IN7=0; //启动下一次AD转换
buf5[time]=ad_data5;
buf6[time]=ad_data6;
buf7[time]=ad_data7;
time++; if(time>=20) time=0;
}break;
default:break;
}
}
void time0()interrupt 1 using 0
{
TH0=(65535-46083)/256;
ADC0809多路数据采集和控制系统设计说明

图5-4-1ADC0809管脚图及51单片机芯片管脚图
ADC0809模数转换器的引脚功能:
IN0~IN7:8路模拟量输入。
组合选择八路模拟量输入。
ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。
数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。系统框图如4-1所示
图4-1 总体设计的系统框图
5.硬件系统的设计
5.1信号调理
信号调理的任务:将被测对象的输出信号变换成计算机要求的输入信号。
多路数据采集输入通道的结构图如下图:
被测电压要求为0~5V的直流电压,可通过电位器调节产生。
考虑本设计的实际需要,我选择八位逐次比较式A/D转换器(ADC0809)。
第三步:发送端的数据采集与传输控制器
第四步:人机通道的借口电路
第五步:数据传输借口电路
用单片机作为控制系统的核心,处理来之ADC0809的数据。经处理后通过串口传送,由于系统功能简单,键盘仅由两个开关和一个外部中断组成,完成采样通道的选择,单片机通过接口芯片与LED数码显示器相连,驱动显示器相应同采集到的数据。
3.设计要求
(1)根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。
(2)画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。
(3)用protel软件绘制电路原理图。
(4)软件设计,给出流程图及源代码并加注释。
4.系统总体设计步骤
第一步:信号调理电路
第二步:8路模拟信号的产生与A/D转换器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于ADC0809和51单片机的多路数据采集系统设计“数据采集”是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。
本文的主要任务是对0~5V的直流电压进行测量并送到远端的PC机上进行显示。
由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,可以直接将直流电压转换为计算机可以处理的数字量。
同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。
终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,提高系统的抗干扰能力。
软件设计方面则采用功能模块化的设计思想;键盘模数转换等采用中断方式来实现,从而大大提高了单片机的效率以及实时处理能力。
1 数据采集系统的硬件结构数据采集系统的硬件结构一般由信号调理电路、多路切换电路、采样保持电路、A/D转换器以及单片机等组成。
本文主要完成功能的系统硬件框图。
2 ADC0809模数转换器简介2.1 ADC0809的结构功能本数据采集系统采用计算机作为处理器。
电子计算机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要模/数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟量转换成数字量输出的接口电路,即A/D转换器就是现实信号转换的桥梁。
目前,世界上有多种类型的A/D转换器,如并行比较型、逐次逼近型、积分型等。
本文采用逐次逼近型A/D转换器,该类A/D转换器转换精度高,速度快,价格适中,是目前种类最多,应用最广的A/D转换器。
逐次逼近型A/D转换器一般由比较器、D/A转换器、寄存器、时钟发生器以及控制逻辑电路组成。
ADC0809就是一种CMOS单片逐次逼近式A/D转换器,其内部结构。
该芯片由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等电路组成。
因此,ADC0809可处理8路模拟量输入,且有三态输出能力。
该器件既可与各种微处理器相连,也可单独工作。
其输入输出与TTL兼容。
ADC0809是8路8位A/D转换器(即分辨率8位),具有转换起停控制端,转换时间为100μs采用单+5V电源供电,模拟输入电压范围为0~+5V,且不需零点和满刻度校准,工作温度范围为-40~+85℃功耗可抵达约15mW。
ADC0809芯片有28条引脚,采用双列直插式封装,图3所示是其引脚排列图。
各引脚的功能如下: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具有较高的转换速度和精度,同时受温度影响也较小。
2.3 ADC0809与MCS-51单片机的接口电路 ADC0809与MCS-51系列单片机的接口电路。
图中,74LS373输出的低3位地址A2、A1、A0加到通道选择端A、B、C,可作为通道编码。
其通道基本地址为0000H~0007H。
8051的WR与P2.7经过或非门后,可接至ADC0809的START 及ALE引脚。
8051的RD与P2.7经或非门后则接至ADC0809的OE端。
ADC0809的EOC经反相后接到8051单片机的P3.3(INT1)。
3 单片机与PC机的互连目前的串行通信接口标准都是在RS-232标准的基础上经过改进而形成的。
RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发通信协议。
它适合于数据传输速率在0~20000b/s范围内的通信。
这个标准对串行通信接口(如信号线功能、电器)特性都作了明确规定。
由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
3.1 电气特性 EIA-RS-232C 对电器特性、逻辑电平和各种信号线功能都作了规定。
在TxD和RxD上,逻辑1(MARK)电平为-3V~-15V,逻辑0(SPACE)电平为+3~+15V;而在RTS、CTS、DSR、DTR和DCD等控制线上,信号有效(接通,ON状态,正电压)电压为+3V~+15V,信号无效(断开,OFF状态,负电压)电压为-3V~-15V。
以上规定说明了RS-323C标准对逻辑电平的定义。
对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是说,当传输电平的绝对值大于3V时,电路才可以有效地检查出来,介于-3~+3V之间的电压无意义。
低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在±(3~15)V之间。
对于EIA-RS-232C与TTL的转换,由于EIARS-232C 是用正负电压来表示逻辑状态,它与TTL以高低电平表示逻辑状态的规定不同。
因此,为了能够同计算机接口或与终端的TTL器件连接,就必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。
实现这种变换的方法可用分立元件,也可用集成电路芯片。
3.2 DB-9连接器 DB-9连接器作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。
它只提供异步通信的9个信号。
由于DB-9型连接器的引脚分配与DB-25型引脚信号完全不同。
因此,若要与配接DB-25型连接器的DCE设备进行连接,就必须使用专门的电缆线。
设计时对电缆长度的要求是在通信速率低于20kb/s时,RS-232C所直接连接的最大物理距离应为15m(50英尺)。
根据RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间的最大传输距离为15m(50英尺)。
由于这个最大距离是在码元畸变小于4%的前提下给出的。
因此,为了保证码元畸变小于4%的要求,本接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。
3.3 单片机与MAX232的连接 MAX232是一种双组驱动器/接收器,该芯片可完成TTL←→EIA双向电平转换。
其片内含有一个电容性电压发生器,可以在单+5V伏电压供电时提供EIA/TIA-232-E电平。
每个接收器都应将EIA/TIA-232-E电平转换为5VTTL/CMOS电平。
这些接收器具有1.3V的典型门限值及0.5V的典型迟滞,而且可以接收30V输入。
每个驱动器都应将TTL/CMOS输入电平转换为EIA/TIA-232-E电平。
所有的驱动器,接收器及电压发生器都可以在德州仪器公司的元件库中得到标准单元。
MAX232的工作温度范围为0~70℃。
图6所示是MAX232芯片的工作电路图。
在实际应用中,该器件对电源的噪声很敏感。
图中的四个取同样数值的电解电容(1.0μF/16V),用以提高抗干扰能力。
本设计可从MAX232芯片中的两路发送接收器中选用一路作为接口,但设计时应注意发送与接收的对应。
4 结束语本文给出了一个基于AD0809和单片机的多路数据采集系统的硬件实现方法,该方法在终端采用8051单片机为核心来控制数据采集及数据上传工作,并通过A/D转换器将0~5V 的直流电压转换为计算机可以进行处理的数字信号,然后经过单片机对其进行处理,从而完成在终端显示以及将数据上传等功能。
系统中的上位机完成对所采集的数据进行显示及对下位机的控制等功能。