ADC0809的A_D转换程序

合集下载

AD转换器ADC0809

AD转换器ADC0809

;每个通道采样24次 每个通道采样24次 每个通道采样24 ; 1→START: 启动转换 ;将0809某通道地址DX压入堆栈 某通道地址DX压入堆栈 将0809某通道地址DX ;8255PB口地址 8255PB口地址 8255PB ;读入PB0 检测EOC 读入PB0 检测EOC 读入PB0:检测 ; AL∧01H: EOC=PB0=1? ∧ ; EOC=PB0=0,循环等待 循环等待 数字量在PA ;PB0=1,ADC0809数字量在PA 口 ,ADC0809数字量在 PA口 ; PA口→ AL ;数字量存入内存 数字量存入内存 ; 恢复某通道地址 ; CX-1→CX, CX≠0:循环采样24次 CXCX≠0:循环采样24 ≠0:循环采样24次 ;取下一通道地址 取下一通道地址 ;修改大循环计数值 修改大循环计数值 ; BL≠0:循环采样取下一通道 BL≠0:循环采样取下一通道
二、8位A/D转换器ADC0809的工作原理 A/D转换器ADC0809的工作原理 转换器ADC0809
1、 ADC0809的内部组成 ADC0809的内部组成
⑴8路模拟开关及地址 锁存与译码电路—— 锁存与译码电路 选择8 选择8个模拟输入通道 信号之一完成A/D转换; A/D转换 信号之一完成A/D转换; ⑵8位A/D转换器(逐次 A/D转换器( 转换器 逼近型) 逼近型)——完成所选 完成所选 通道的模拟信号的A/D 通道的模拟信号的A/D 转换; 转换; 三态输出锁存缓冲— ⑶三态输出锁存缓冲 锁存A/D A/D转换后的数字 锁存A/D转换后的数字 结果; 结果; ⑷控制逻辑与时序— 控制逻辑与时序 控制芯片的工作并提供转换所需的时序。 控制芯片的工作并提供转换所需的时序。
主程序: 主程序: DATA1 SEGMENT ORG 2000H AREA DB 200 DUP(?) ( ) … DATA1 ENDS ;定义堆栈段 定义堆栈段 DB 50 DUP(?) ( ) … STACK1 ENDS ;定义数据段 定义数据段

7.2 并行输出A/D转换器ADC0809及接口

7.2 并行输出A/D转换器ADC0809及接口

第七章 A/D、D/A转换及键盘显示技术7.2 并行输出A/D转换器ADC0809及接口1. ADC0809 A/D转换器芯片内部结构:它由8路模拟开关、8位A/D转换器、三态输出锁存器以及地址锁存译码器等组成。

引脚功能:START: 启动信号EOC : 转换结束信号8位模拟开关功能表ADC0809与89C51的接口图7-6 ADC0809结构►引脚功能说明如下:▪IN0~IN7:8个输入通道的模拟输入端。

▪D0~D7:8位数字量输出端。

▪START:启动信号,加上正脉冲后,A/D转换开始进行。

▪ALE:地址锁存信号。

由低至高电平时,把三位地址信号送入通道号地址锁存器,并经译码器得到地址输出,以选择相应的模拟输入通道。

▪EOC:转换结束信号,是芯片的输出信号。

转换开始后,EOC信号变低;转换结束时,EOC返回高电平。

这个信号可以作为A/D转换器的状态信号来查询,也可以直接用作中断请求信号。

▪OE:输出允许控制端(开数字量输出三态门)。

▪CLK:时钟信号。

最高允许值为640 kHz。

▪V REF+和V REF−:A/D转换器的参考电压。

▪V CC :电源电压。

由于是CMOS芯片,允许的电压范围较宽,可以是+5~+15V。

►8位模拟开关地址输入通道的关系见表7-1。

ADDC ADDB ADDA 输入通道号0 0 0 IN00 0 1 IN10 1 0 IN2┇┇┇┇1 1 1 IN7 图7-7 ADC0809的时序图表7-1 8位模拟开关功能表2. ADC0809与89C51接口ADC0809与89C51连接可采用查询方式,也可采用中断方式。

由于ADC0809片内有三态输出锁存器,因此可直接与89C51接口。

图7-8 ADC0809与89C51的连接3. 8路巡回检测系统【例7-3】某粮库或某冷冻厂需对8点(8个冷冻室或8个粮仓)进行温度巡回检测。

要求设计一个单片机巡回检测系统,使其能对各冷冻室或各粮仓的温度巡回检测并加以处理。

AD芯片ADC0809

AD芯片ADC0809
A/D芯片ADC0809
0809是逐次逼近式转换芯片,所以在介绍此芯片之前, 先学习逐次逼近式A/D转换原理。
A/D转换芯片与 CPU 接口连接需要注意的问题
(1)启动信号:电平启动和脉冲启动 (2)转换结束与转换数据的读取: — 程序查询方式 — 中断方式 — CPU等待方式 — 固定的迟延程序方式
在中断方式下的A/D转换,程序设计比较简单。在主程 序,只要一条输出指令就可以启动A/D转换。假设A/D转换 器的端口号为PROTAD,则执行指令: O这个指令中AL的内容无关紧 要,执行这个指令主要是为了产生一个写脉冲以启动A/D转 换器。转换结束后,A/D芯片会产生一个转换结束信号 (EOC),此信号产生中断请求,并连接到8259A的IR0, 再通过8259A向CPU发出中断请求,CPU响应后,便转去 执行中断处理程序。该中断处理程序就是完成读取转换结 果,其主要是一条输入指令: IN AL , PORTAD 这条指令在执行时,使三态输出门打开,从而CPU获得数 据。
START: LEA BX, DATA CONV: OUT 37H,AL ; 启动转换 TEST: IN AL ,66H ;输入状态 AND AL ,80H ;检测DONE标记 JZ TEST ;未完成,等待 IN AL, 65H ;输入转换后的数据 MOV [BX], AL ;存入内存 RET ;结束

ADC0809实验

ADC0809实验

思考和练习
1.ADC0809的转换结果是否有误差? 若有,则当输入为
2.567V时,转换相对误差是多少?
2.当0通道的输入电压超过参考电压4.096V,如何才能利
用ADC0809测量该电压。
汇编 源程序 CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0 OE BIT P3.1 EOC BIT P3.2 ORG 00H LJMP START ORG 0BH LJMP T0X ORG 30H START: MOV CH,#0BCH MOV DPCNT,#00H MOV R1,#DPCNT
编程与调试
(一)0通道测量电压 1.程序说明 本实验由实验箱的右上角 的电压调节器调节输入电压 的Vx大小,并送入0809的0通 道。实验测得的电压值显示 在实验主板的LED上。
2.编程思路
开始 EPP接口、8255初始化 启动ADC0809
读取EOC状态值 EOC=1?
N
Y
读取ADC0809输出值 送CRT、LED显示 结束
256R 电阻分压器
11 13 12 16
ENABLE
Vcc GND VREF(+)
VREF(-)
转换原理
K7 K6 K5 K4 K3 K K1 K0 2.048 1.024 0.512 0.256 0.128 0.064 0.032 0.016
Ki = 1 ( i = 0,1,2,3,4,5,6,7 ) 例如: Vx = 2.567V, 则 K7=1, Vc = 2.048(V) < Vx , 故 K7 = 1 K6 = 1, Vc = 2.048 + 1.024 = 3.072(V),故 K6 = 0 K5 = 1, Vc = 2.048+ 0.512 = 2.560 (V) < 2.567(V) , 故 K5 = 1 同理, K4 = 0, K3 = 0, K2 =0, K1 = 0, K0=0 则转换结果为: 2.560 (V)

ADC0809程序

ADC0809程序

/*---------------------------------------------------------------------------------------------------程序说明:adc0809接到51单片机的P1口,P1口接有8个LED,每次转换结束都可以通过LED观察到转换结果(低电平亮),ADC参考电压与单片机的电源要一致通过验证:输入5v则LED全灭输入0v则LED全亮通过电位器控制输入0~5v则1602显示输出从0~255逐次增加------------------------------------------------------------------------------------------------------*/#include<reg52.h>#include<intrins.h>#include"1602.c"#define uchar unsigned char#define uint unsigned intsbit ADC_START=P2^0;sbit ADC_ALE =P2^1;sbit ADC_OE =P2^2;sbit ADC_EOC =P2^3;sbit D0=P1^0;sbit D1=P1^1;sbit D2=P1^2;sbit D3=P1^3;sbit D4=P1^4;sbit D5=P1^5;sbit D6=P1^6;sbit D7=P1^7;uchar ad_dat;/*---------------------------------函数名:delayus(i)功能:延时t=(12*i+14)us参数:i返回值:无备注: 晶振12MHz-----------------------------------*//*void delayus(i){for(i;i>0;i--);}*//*---------------------------------dac0809初始化----------------------------------*/void init0809(){ADC_START=0;ADC_OE =0;_nop_();ADC_ALE=0;_nop_();_nop_();_nop_();ADC_ALE=1; //ALE=1时地址进入锁存器_nop_();_nop_();_nop_();ADC_ALE=0; //ALE=0时地址被锁存住_nop_();_nop_();_nop_();}/*---------------------------------dac0809模数转换----------------------------------*/void ADC_0809(){ADC_START=1; //上升沿复位_nop_();_nop_();_nop_();ADC_START=0; //下降沿开始_nop_();_nop_();_nop_();while(!ADC_EOC); //等待转换结束ADC_OE =1;w_dat_1602(0x30+(uchar)D0);w_dat_1602(0x30+(uchar)D1);w_dat_1602(0x30+(uchar)D2);w_dat_1602(0x30+(uchar)D3);w_dat_1602(0x30+(uchar)D4);w_dat_1602(0x30+(uchar)D5);w_dat_1602(0x30+(uchar)D6);w_dat_1602(0x30+(uchar)D7);delayus(5);ADC_OE =0;}void main(){init0809();init_1602();delayus(10);while(1){w_com_1602(0x80);ADC_0809();}}#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit rs=P2^4; //1602io引脚sbit rw=P2^5; //1602io引脚sbit e=P2^6; //1602io引脚/*---------------------------------函数名:delayusus(i)功能:延时t=(12*i+14)us参数:i返回值:无备注: 晶振12MHz-----------------------------------*/ void delayus(i){for(i;i>0;i--);}/*---------------------------------函数名:w_com_1602(uchar com) 功能:写命令参数:uchar com返回值:无-----------------------------------*/ void w_com_1602(uchar com) {e=0;rs=0;rw=0;delayus(2);P0=com;e=1;delayus(2);e=0;delayus(2);}/*---------------------------------函数名:w_dat_1602(uchar dat)功能:写数据参数:uchar dat返回值:无-----------------------------------*/void w_dat_1602(uchar dat){e=0;rs=1;rw=0;delayus(2);P0=dat;e=1;delayus(2);e=0;delayus(2);}/*---------------------------------函数名:init_1602()功能:1602初始化参数:无返回值:无-----------------------------------*/void init_1602(){P0=0xff; //端口初始化w_com_1602(0x38); //功能设置w_com_1602(0x0f); //开光标但不闪烁w_com_1602(0x06); //设置输入方式w_com_1602(0x01); //清屏delayus(5);}投标人在《招标投标法实施条例》中应重点关注的19个法律问题《招标投标法实施条例》(以下简称《条例》)日前已公布,将于2012年2月1日起施行。

使用ADC0809的AD转换实验

使用ADC0809的AD转换实验

实验二 使用ADC0809的A/D 转换实验一、实验目的加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D 输入程序的设计和调试方法。

二、预备知识逐次逼近法A/D 也称逐次比较法A/D 。

它由结果寄存器、D/A 、比较器和置位控制逻辑等部件组成,如图5-1所示。

图5-1三、实验内容1 、实验原理本实验采用 ADC0809 做 A/D 转换实验。

ADC0809 是一种8路模拟输入、8位数字输出的逐次逼近法A/D 器件,转换时间约100us ,转换精度为±1/512,适用于多路数据采集系统。

ADC0809片内有三态输出的数据锁存器,故可以与8088微机总线直接接口。

IN-026msb2-1212-220IN-1272-3192-418IN-2282-582-615IN-312-714lsb2-817IN-42E OC7IN-53ADD-A 25IN-64ADD-B 24ADD-C 23IN-75ALE22ref(-)16E NABL E 9ST ART 6ref(+)12CLOCK 10UB43ADC0809123UB42A 74L S02456UB42B 74L S02E B4122U/16VCB41103RB41510IORIOWVCCADD0ADD1ADD2GNDGNDGNDVre f+5VIN6IN7IN1IN2IN3IN4IN5D7D0D1D2D3D4D5D6E OC/EOCIN0CS_0809CLK_080912UA32A 74L S04WA5110K VCCGNDRA51100V1Y61MHZ图中ADC0809的CLK 信号接CLK=,基准电压Vref(+)接Vcc 。

一般在实际应用系统中应该接精确+5V ,以提高转换精度,ADC0809片选信号0809CS 和/IOW 、/IOR 经逻辑组合后,去控制ADC0809的ALE 、START 、ENABLE 信号。

adc0809引脚图及功能

adc0809引脚图及功能

adc0809引脚图及功能
ADC0809是8位A / D转换器,它的转换方法为逐次逼近法。

ADC0809为CMOS工艺,其管脚为28脚,管脚排列如图所示。

各个管脚的功能如下:
INo ~ IN7:八个模拟量输入端。

START:启动A / D转换,当START为高电平时,开始A / D转换。

EOC:转换结束信号。

当A / D转换完毕之后,发出一个正脉冲,表示A / D转换结束,此信号可用做
A / D转换是否结束的检测信号或中断申请信号(加一个反相器)。

C、B、A:通道号地址输入端,C、B、A为二进制数输入,C为最高位,A 为最低位,CBA从000~111分别选中通道IN0 ~ IN7。

ALE:地址锁存信号,高电平有效。

当ALE为高电平时,允许C、B、A 所示的通道被选中,并把该
通道的模拟量接入A / D转换器。

CLOCK:外部时钟脉冲输入端,改变外接R、C可改变时钟频率。

D7~D0:数字量输出端。

D7为高位。

VREF(+),VREF(—):参考电压端子,用来提供D / A转换器权电阻的标准电平。

一般 VREF(+)=5V,
VREF(—)= 0V
Vcc:电源电压,+5V。

GND:接地端。

图 ADC0809 管脚排列图
ADC0809可以进行八路A / D转换,并且这种器件使用时无需进行调零和满量程调整,转换速度和精度属中高档,售价又不贵。

所以,一般控制场合采用这些ADC0809(或0800 系列)的A / D转换片是比较理想的。

实验三 A_D转换实验

实验三 A_D转换实验
#include<absacc.h>
//start由P2.3控制,用高位地址作为通道选择和AD片选
#define IN0 XBYTE[0xF0FF]
sbit AD_BUSY=P3^2; //转换结束引脚--EOC
unsigned char LED_seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段码
D7~D0:数据线,三态输出,由OE(输出允许信号)控制输出与否。
OE:输出允许,该引线上的高电平,打开三态缓冲器,将转换结果放到D0~D7上。
ALE:地址允许锁存,其上升沿将ADDA,ADDB,ADDC三条引线的信号锁存,经译码选择对应的模拟通道。ADDA,ADDB,ADDC可接单片机的地址线,也可接数据线。ADDA接低位线,ADDC接高位线。
本实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100μS,A/D转换结束后会自动产生EOC信号。
1)ADC0809引脚含义
IN0~IN7:8路模拟通道输入,由ADDA,ADDB,ADDC三条线选择。
ADDA、ADDB、ADDC:模拟通道选择线,比如000时选择0通道,111时选择7通道。
P1=LED_bit[i];
delay(100);
}
}
void main(void) //主函数
{
unsigned int a=0; 图8-4 AD变换流程图
convert(a);
display();
n=n/10;i++;
}
}
void display(void) //显示函数

实验十二 AD转换实验

实验十二 AD转换实验

实验十二A/D转换实验一、实验目的1.掌握A/D转换与单片机接口的方法。

2.了解A/D芯片0809转换性能及编程方法。

3.用AT89C51单片机控制ADC0809将模拟信号(0~5V)转换成数值量(0~255),再控制LED数码管以十六进制实时显示出来。

ADC0809为模/数(A/D)转换器。

4.用PROTEUS实现该接口的电路设计和程序设计,并进行实时交互仿真。

5.要求使用查询和中断两种方式编写程序。

二、电路设计1.从PROTEUS库中选取元件①AT89C51.BUS:总线式的单片机;②RES:电阻;③LED-BLUE:蓝色发光二极管;④CAP、CAP-ELEC:电容、电解电容;⑤CRYSTAL:晶振;⑥AD0808:8位A/D转换器;⑦74LS28:四路或非门;⑧NOT :非门;⑨74LS373:八 D 锁存器;⑩POT-LIN :滑动变阻器;○11RESPACK-8:8位排阻。

2.放置元器件3.放置电源和地4.连线5.元器件属性设置6.电气检测三、源程序设计、生成目标代码文件1.流程图2.源程序设计3.源程序编译汇编、生成目标代码文件通过菜单“sourc e →Build All ”编译汇编源程序,生成目标代码文件。

若编译失败,可对程序进行修改调试直至汇编成功。

四、PROTEUS 仿真1.加载目标代码文件2.仿真 单击按钮,启动仿真。

U1X1C1C2U4U5RV1U6U7:AU7:B D1U10D2D3D4U11U12U13D5U14D6D7D8U15U16U17RP1五、思考题:1.目前应用较广泛的A/D 转换器主要有哪几种类型?它们各有什么特点?2.在一个AT89C51单片机与一片ADC0809组成的数据采集系统中,ADC0809的8个通道的地址为7FF8H~7FFFH,试画出相应的接口电路图。

实验五 AD、DA转换实验

实验五 AD、DA转换实验

实验五A/D、D/A转换实验
一、实验目的及要求
1、了解A/D转换的基本原理,掌握A/D转换的连接方法;
2、熟悉一种ADC芯片ADC0809,掌握A/D转换芯片0809的编程方法;
3、了解D/A转换的基本原理,掌握D/A转换的连接方法;
4、熟悉一种DAC芯片ADC0832,掌握D/A转换芯片0832的编程方法。

二、实验重点与难点
重点:A/D、D/A转换的基本原理及编程应用。

难点:A/D、D/A转换的编程应用。

三、实验环境
硬件:单片机开发板,计算机一台;
软件:Keil uVsion4。

四、实验内容
1、ADC0809模数转换与显示
使用ADC0809采样通道3输入的模拟量(也可自行选择采用通道,设计相应电路图),通过T0定时器中断给ADC0809提供时钟信号,转换后的结果显示在数码管上。

2、DAC0832波形发生器
软件控制DAC输出波形,通过不同按键产生锯齿波、三角波和方波,按键的检测采用中断工作方式。

五、实验步骤及要求
1.描述出程序运行后的结果;
2.画出算法流程图;
3.加程序注释。

4.学生按实验内容和实验报告编写格式中的规范,认真做好实验记录以便编写实验报告。

ADC0809是什么?

ADC0809是什么?

ADC0809 是什么?
ADC0809 是美国国家半导体公司生产的CMOS 工艺8 通道,8 位逐次逼近式A/D 转换器。

其内部有一个8 通道多路开关,它可以根据地址码锁存译
码后的信号,只选通8 路模拟输入信号中的一个进行A/D 转换。

是目前国内
应用最广泛的8 位通用A/D 芯片。

1.ADC0809 的主要特性
1)8 路输入通道,8 位A/D 转换器,即分辨率为8 位。

2)具有转换起停控制端。

3)转换时间为100&mu;s(时钟为640kHz 时),130&mu;s(时钟为500kHz 时)
4)单个+5V 电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

6)工作温度范围为-40~+85 摄氏度7)低功耗,约15mW。

2.ADC0809 的内部结构
ADC0809 是CMOS 单片型逐次逼近式A/D 转换器,内部结构如图13.22。

adc0809工作原理

adc0809工作原理

adc0809工作原理A/D转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,其任务是将连续变化的模拟信号转换为数字信号,以便计算机等数字系统进行处理、存储、控制和显示;在工业控制和数据采集及许多其它领域中,它是不可缺少的重要组成部分。

目前用软件的方法虽然可以实现高精度的A/D转换,但占用CPU时间长,限制了应用。

而作为典型的A/D转换芯片ADC0809,具有转换速度快、价格低廉及与微型计算机接口简便等一系列优点,目前在8位单片机系统中得到了广泛的应用。

下面将介绍其的原理:1.主要特性(1)具有转换起停控制端;(2)转换时间为100μs;(3)单个+5V电源供电;(4)低功耗,约15mW;(5)8路8位A/D转换器,即分辨率8位;(6)工作温度范围为-40~+85摄氏度;(7)模拟输入电压范围0~+5V,不需零点和满刻度校准。

2.内部逻辑结构ADC0809的内部逻辑结构如图1所示,它主要由三部分组成。

第一部分:模拟输入选择部分,包括一个8路模拟开关、一个地址锁存译码电路。

输入的3位通道地址信号由锁存器锁存,经译码电路后控制模拟开关选择相应的模拟输入。

第二部分:转换器部分,主要包括比较器,8位A/D转换器,逐次逼近寄存器SAR,电阻网络以及控制逻辑电路等。

第三部分:输出部分,包括一个8位三态输出缓冲器,可直接与CPU数据总线接口。

图1 ADC0809内部逻辑结构图由于芯片性能特点是一个逐次逼近型的A/D 转换器,外部供给基准电压;分辨率为8位,带有三态输出锁存器,转换结束时,可由CPU打开三态门,读出8位的转换结果;有8个模拟量的输入端,可引入8路待转换的模拟量。

ADC0809的数据输出结构是内部有可控的三态缓冲器,所以它的数字量输出信号线可以与系统的数据总线直接相连。

内部的三态缓冲器由OE控制,当OE为高电平时,三态缓冲器打开,将转换结果送出;当OE为低电平时,三态缓冲器处于阻断状态,内部数据对外部的数据总线没有影响。

DAC0809

DAC0809

DAC0809芯片介绍(0809)关于ADC0809的介绍:1.主要特性1)8路8位A /D 转换器,即分辨率8位。

2)具有转换起停控制端。

3)转换时间为100μs4)单个+5V 电源供电5)模拟输入电压范围0~+5V ,不需零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW 。

2.内部结构ADC0809是CMOS 单片型逐次逼近式A /D 转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D /A 转换器、逐次逼近 ,寄存器、三态输出锁存器等其它一些电路组成。

因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。

输入输出与TTL 兼容。

IN0~IN7:8路模拟电压输入端,用与输入被转换的模拟电压。

D0~D7: A/D 转换后的数据输出端,与单片机的P0地址编码 被选中的通道C B A0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 IN0IN1IN2IN3IN4IN5IN6IN7)(+R V 、)(-R V :基准参考电压端,决定了模拟量的量程范围,在本实验中采用0~5V 的量程范围。

CLK :时钟信号输入端,决定A/D 转换时间,本实验中CLK=500KHz ,转换时间T=128uS ,最大允许值为800KHz 。

ALE :地址锁存允许信号,高电平有效,当此信号有效时,A 、B 、C 三位地址信号被锁存,译码选通对应模拟通道。

SC:启动转换信号,正脉冲有效。

本实验中与单片机的WR信号相连,控制启动AD转换。

EOC:转换结束信号,高电平有效。

表示一次AD转换已完成,可作为中断触发信号,本实验中采用查询方法检测转换是否结束。

OE:输出允许信号,高电平有效。

本实验中与单片机的RD相连,当单片机发出此命令时,单片机可以读取数据.0809的内部结构和时序图:工作时序图:由时序图知ADC0809的工作过程如下:送通道地址,以选择要转换的模拟输入;锁存通道地址到内部地址锁存器;启动A/D变换;判断转换是否结束;读转换结果A/D转换完成数据的输送A/D转换后得到的是数字量的模拟量,这些数据应传诵给单片机进行处理。

ADC0809_多路数据采集和控制系统设计

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 或其它设备)组成。

adc0809模数转换器用户手册

adc0809模数转换器用户手册

ADC0809模数转换芯片概述ADC0809是8位逐次逼近型A/D 转换器。

它由一个8路模拟开关、一个地址 锁存译码器、一个A/D 转换器和一个三态输出锁存器组成(见下图)。

多路开关 可选通8个模拟通道,允许8路模拟量分时输入,共用A/D 转换器进行转换。

三 态输出锁存器用于锁存A/D 转换完的数字量,当0E 端为高电平时,才可以从三 态输出锁存器取走转换完的数据。

ADC0809内部结构图ADC0809的工作原理图XX 是ADC0809的引脚图。

引脚功能说明如下:• IN0〜IN7: 8个输入通道的模拟输入端 • DO (2一8)〜D7 (2'1): 8位数字量输出端 • START :启动信号,加上正脉冲后,A/D 转换开始进行• ALE :地址锁存信号。

由低至高电平时,把三位地址信号送入通道号地址锁存器,并经译码器得到地址输出,以选择相应的模拟输入通道。

• EOC:转换结束信号,是芯片的输出信号。

转换开始后,EOC 信号变低: 转换结束时,EOC 返回高电平。

这个信号可以作为A/D 转换的状态信号 来査询,也可以直接用作中断请求信号。

• 0E :输出允许控制端(开数字星输出三态们)。

• CLK :时钟信号。

最高允许值为640kHzo地锁与码址存译8路二A/D____态 转输换----------------出器----------------存器▲ ▲IN3 EOCIN1DODiIN4 D2IN5D3D4D6 D7LVREFX*)VREFX-)8模 拟开 关• $EF+和%EF-:A/D 转换器的参考电压。

• Vcc-电源电斥。

由于是CMOS 芯片,允许电斥范鬧宽,可以是+5V 〜+15V 。

ADC0809两种封装形式8位模拟开关地址输入通道的关系见表XXo 模拟开关的作用和8选1的 CD4051作用相同表XX 8位模拟开关功能表ADDC ADDB ADDA 输入通道号 0 0 0 INO 0 0 1 INI 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 111IN7ADC0809芯片的转换速度在最高时钟频率卞为lOOus 左右。

AD转换电路(ADC0809)

AD转换电路(ADC0809)



D0~D7:8位数字量输出引脚。 IN3 IN0~IN7:8路模拟量输入引脚。 IN4 IN5 Vcc:+5V工作电源。 IN6 GND:地。 IN7 VREF(+):参考电压正端。 START VREF(-):参考电压负端。 EOC D3 START:A/D转换启动信号输入端。 OE ALE:地址锁存允许信号输入端。 CLK EOC:转换结束输出引脚。 V OE:输出允许控制端。 V (+) CLK:转换时钟信号。500kHz左右。 GND ADDA、ADDB、ADDC:地址输入线。 D1


主要参数: 分辨率 :表示A/D对模拟输入的分辨能力,由它确定能被A/D辨

别的最小模拟量,通常也用二进制位来表示。


量化误差:是在A/D转换中由于整量化所产生的固有误差。对于
舍入(四舍五入)量化误差在1/2LSB之间。
转换时间:是A/D转换完成一次所需要的时间。 绝对精度:是A/D转换器输出端所产生的数字代码中,分别对应

ADC0809与单片机接口
通道地址: 78H~7FH

程序清单:
START:
ORG MOV
LOOP: 约40us DELY:
0030H R0,#40H ;采样数据存放首址 MOV R1,#78H ;IN0通道地址 MOV R2,#08H ;模拟量通道数 CLR EX0 ;禁止中断 MOVX @R1 ,A ;启动A/D转换 MOV R3,#20H ;延时一会儿, DJNZ JB R3,DELY SETB P3.2 ;等待EOC信号变低 ;设置P3.2为输入
1
ADC574工 作时序表 1 1 1 1

模数(A/D)和数模(D/A)【ADC0809】

模数(A/D)和数模(D/A)【ADC0809】

291
292
微型机原理及应用
1.3 DAC0832 数/模转换器
D/A 转换器是指将数字量转换成模拟量的电路。数字量输入的位数有 8 位、12 位和 16 位等,输出的模拟量有电流和电压两种。
1.3.1 数/模转换器原理
VR 1R 2R 4R 8R d1 d2 d3 d4 S1 S2 S3 S4 I1 I2 I3 I4 Io ∑ A Vo RF
1.1 模数转换和数模转换概述
1.1.1 一个典型的计算机自动控制系统
一个包含 A/D 和 D/A 转换器的计算机闭环自动控制系统如图 11.1 所示。
传感器 μ V,mV 控制 传感器
放大滤波 几伏 放大滤波
多路 开关 MUX
采样 保持 S/H
模 拟
A/D
数 字
I/ O
转换
接口 计算机
对象
执行 部件
第 11 章 模数(A/D)和数模(D/A)转换 ④ 8 位锁存器和三态门
291
当输入允许信号 OE 有效时, 打开三态门, 将锁存器中的数字量经数据总线送到 CPU。 由于 ADC0809 具有三态输出,因而数据线可直接挂在 CPU 数据总线上。 图 1.2.2b 给出了 ADC0809 转换器的引脚图,各引脚功能如下: IN0~IN7:8 路模拟输入通道。 D0~D7: 8 位数字量输出端。 START:启动转换命令输入端,由 1→0 时启动 A/D 转换,要求信号宽度>100ns。 OE: 输出使能端,高电平有效。 ADDA、ADDB、ADDC:地址输入线,用于选通 8 路模拟输入中的一路进入 A/D 转 换。其中 ADDA 是 LSB 位,这三个引脚上所加电平的编码为 000~111,分别对应 IN0~IN7, 例如,当 ADDC=0,ADDB=1,ADDA=1 时,选中 IN3 通道。 ALE: 地址锁存允许信号。用于将 ADDA~ADDC 三条地址线送入地址锁存器中。 EOC: CLK: 转换结束信号输出。转换完成时,EOC 的正跳变可用于向 CPU 申请中断, 时钟脉冲输入端,要求时钟频率不高于 640KHZ。 其高电平也可供 CPU 查询。 REF(+) 、REF(-) :基准电压,一般与微机接口时,REF(-)接 0V 或-5V,REF(+) 接+5V 或 0V。

实验十一 A_D转换实验实验

实验十一  A_D转换实验实验

EDA实验报告之实验十一A/D转换实验1、实验目的(1)掌握A/D转换器与单片机接口的方法;(2)了解A/D芯片0809的转换性能及编程方法;(3)通过实验了解数据采集、处理的基本方法。

2、实验要求利用实验板上的ADC0809做A/D转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,在数码管的最高两位显示出数字量来。

另外要把模拟量值在数码管的最低三位显示出来。

例如显示“80 2.50”(其中80是采样数值,而2.50是电压值。

要求程序可连续运行以便测量不同的模拟电压(类似于电压表)(注意:多次采集求平均值可提高转换精度)3、实验说明1)原理图参看LAB6000使用手册、图示帮助等;2)连线方式与LAB6000给出的有所不同,这里的实验用数码管显示结果(原实验则用LED显示结果);3)EOC可接中断、其它引脚或不接,对应的获取数据方法为中断、查询、延迟,建议采用中断方法;4)注意ADC0809各连线接在了什么位置。

4、写出实验报告(包括6位LED显示的部分电路图)。

5、实验内容5.1 使用仪器、仪表,开发平台型号本实验用到了WAVE 6000软件平台,电脑一台,LAB6000实验箱,若干连线,串行数据线。

5.2 性能指标、技术要求、思路方案、流程图5.2.1性能指标、技术要求见实验目的和实验要求。

5.2.2 思路方案:先将所有中断使能位置位,然后启动A/D转换。

在主程序中显示缓冲区的内容,判断4次中断已满的标志位是否置位,是的话调用计算子程序计算数字平均值和模拟值,这个过程反复循环的进行。

5.2.3流程图:主程序:计算数字量和模拟量的子程序:中断子程序:5.3源程序;采样的数字值放在20H 开始的单元中,修改R6的值(4);可以控制采样的个数(为了方便我们选择2,4,8……等2的倍数),上限为256个ORG 0000HLJMP BEGIN ;ORG 0003H ;外部中断0LJMP INT0ORG 0030H;=================BEGIN:FLAG EQU 50H ;对应到16进制的是2A单元,四次中断是否满的标志位TRANS EQU 51H ;是否一次转换完毕的标志位MOV R0,#20H ;采样数据存储单元MOV R6,#4 ;采样4次求均值CLR FLAGCLR TRANSSETB EA ; 开所有中断SETB IT0 ; INT0边沿触发SETB EX0 ; 允许INT0中断MOV DPTR,#8000H ; 指向0809 IN0通道地址MOVX @DPTR,A;=================LOOP:LCALL DISPLAYJNB TRANS,LOOP ;判断是否发生EOC,为0时转移CLR TRANSJNB FLAG,CONTINUE ;为0时转移CLR FLAGLCALL COMPUTEECONTINUE:MOV DPTR,#8000HMOVX @DPTR,A ; 启动A/D转换,因为与A值无关,故不管ALJMP LOOP;================= ;中断服务程序INT0:MOVX A,@DPTR ; 读A/D转换结果MOV @R0,AINC R0DJNZ R6,RETURNSETBFLAGMOV R6,#4MOV R0,#20HRETURN:SETB TRANSRETI;=================DISPLAY:MOV R4,#02H;==============BEGIN0:MOV A,#01H ;位选择字节MOV R2,#5 ;5次MOV R1,#60H ;数据地址LOOOP:MOV DPTR,#9002H ;位选输出地址MOVX @DPTR,ARL A ;修改位信号PUSH AMOV DPTR,#9004H ;数据输出地址MOV A,@R1LCALL CHECK ;查表CJNE R1,#62H,PEIORL A,#80HPEI:MOVX @DPTR,ALCALL DELAYINC R1POP ADJNZ R2,LOOOPLCALL DELAY ;为了两轮显示间时间间隔久一些DJNZ R4,BEGIN0RET;================DELAY:MOV R5,#02HMOV R3,#09FHLOOPP:DJNZ R3,$DJNZ R5,LOOPPRET;================= ;计算数字平均值和模拟值COMPUTEE: ;计算采样值总和,放在BA单元,前者为高位MOV R1,#20H ;指向20H单元MOV R5,#4CLR CCLR AMOV B,ALLOOPP:ADD A,@R1JNC GOONINC B ;C为1是加一CLR CGOON:INC R1DJNZ R5,LLOOPP;====================MOV R5,#2 ;2的2倍是4次DIVISION: ;数字平均值最后在A中,B移位完后为0PUSH AMOV A,BCLR CRRC AMOV B,A ;暂存POP ARRC ADJNZ R5,DIVISION;===================== ;这部分程序是为了获得模拟值和将数字量分别存为两个字节里面PUSH APUSH AANL A,#0FHMOV 63H,APOP AANL A,#0F0HSWAP AMOV 64H,APOP AMOV B,#5MUL ABMOV 62H,BMOV B,#10MUL ABMOV 61H,BMOV B,#10MUL ABMOV 60H,BRET;==================CHECK:INC AMOVC A,@A+PCRETTABLE:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79HDB 71H5.4实验步骤,完成情况5.4.1在WAVE 6000中新建文件,并将代码写入文件中,保存为EXPERIMENT11.ASM;5.4.2在WAVE 6000中新建项目,并在模块文件中包含上述EXPERIMENT11.ASM文件,最后保存为EXPERIMENT11.PRG。

ADC0809功能简介

ADC0809功能简介

ADC0809 功能简介
ADC0809 是8 路8 位逐次逼近型A/D 转换CMOS 器件,在过程控制和
机床控制等应用中,能对多路模拟信号进行分时采集和A/D 转换,输出数字信号通过三态缓冲器,可直接与微处理器的数据总线相连接。

一:ADC0809 的内部结构和引脚共能
ADC0809 的内部结构原理如图10.3.1 所示,芯片的主要组成部分是一个8
位逐次比较型A/D 转换器。

为了实现8 路模拟信号的分时采集,片内设置了带有锁存功能的8 路模拟选通开关,以及相应的通道地址锁存和译码电路,可对8 路0~5V 的输入模拟电压进行分时转换,转换后的数据送入三态输出数据锁存器。

ADC0809 的主要特性如下:
(1) 辨率为8 位
(2) 最大不可调误差小于正负ULSB
(3) 可锁存三态输出,能与8 位微处理器接口
(4) 输出与TTL 兼容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档