实训课题七 d/a 与 a/d 转换

35
淮淮淮淮淮淮 淮淮淮 淮淮淮淮淮 D/A 淮 A/D 淮淮 DAC0832 淮淮淮淮淮淮淮淮 7. 1 ADC0809 淮淮淮淮淮淮淮淮淮 7. 2 DAC0832 淮淮淮淮 7. 2 7. 3 7. 4 ADC0809 淮淮淮淮

Upload: linus

Post on 19-Jan-2016

134 views

Category:

Documents


0 download

DESCRIPTION

实训课题七 D/A 与 A/D 转换. 7.2. DAC0832 及其单片机的接口. 7.1. DAC0832 应用举例. 7.2. 7.3. ADC0809 及其与单片机的接口. ADC0809 应用举例. 7.4. 7.1 DAC0832 及其与单片机的接口. 一、 芯片主要特性与结构. 引脚功能 : DI0 ~ DI7 : 8 位数字信号输入端 : 片选端,为低电平时,本芯片被选中。 I LE : 数据锁存允许控制端,高电平有效。 : 第一级输入寄存器写选通控制,低电平有效。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

实训课题七 D/A与 A/D 转换

DAC0832 及其单片机的接口 7.1

ADC0809 及其与单片机的接口

7.2

DAC0832 应用举例7.2

7.3

7.4 ADC0809 应用举例

Page 2: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

7.1 DAC0832 及其与单片机的接口 一、 芯片主要特性与结构

Page 3: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

输入

锁存器

DAC

寄存器

D/A

转换器

DI7~DI0

I LE

CS

WR1

WR2 XFER

VREF

IOUT2

IOUT1

Rfb

AGND

VCC

&&

&

LE1 LE2

Page 4: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

引脚功能:

DI0~DI7: 8 位数字信号输入端

:片选端,为低电平时,本芯片被选中。

ILE :数据锁存允许控制端,高电平有效。

:第一级输入寄存器写选通控制,低电平有效。

:第二级 DAC 寄存器写选通控制,低电平有效。

:数据传送控制,低电平有效。

VCC :电源输入端,在 +5V~+15V 范围内。

Rfb :内部反馈电阻引脚

DGND、 AGND :分别为数字信号地和模拟信号地 4

WR1

CS

XFER

2WR

Page 5: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

: 负跳变时锁存数据,正脉冲时,输入锁存器的输出随输入变化。

:作用与上面的类似。

IOUT1 :模拟电流输出 1 端,约等于

输入数字量全为“ 1” 时, IOUT1 最大约为 输入数字

量全为“ 0” 时, IOUT1 最小,为“ 0” 。

IOUT2 :模拟电流输出 2 端, IOUT2 + IOUT1 =  常数。

VREF: 基准电压输入端,可在 -10~+10V 范围内调节。

5

LE1

2LE

REFfb

VR

256

输入的数字量

REFfb

VR

256

255

Page 6: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

二、 D/A 转换器的主要性能指标

1 、分辨率 指单片机输入给 D/A转换器的单位数字量的变化,所引起的模拟量输出的变化,通常定义为输出满刻度值与 2n之比( n 为 D/A转换器的二进制位数)。

例如:对于 5V的满量程,采用8位的 DAC时,分辨率为 5V/256= 19.5mV;当采用 12位的 DAC时,分辨率则为 5V/4096= 1.22mV。显然,位数越多分辨率就越高。

Page 7: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

2 、建立时间 用于表明转换时间或转换速度的一个参数。电流输出型 DAC的建立时间短。电压输出型DAC的建立时间主要决定于运算放大器的响应时间。 根据建立时间的长短,可以将 DAC分成超高速(< 1μS)、高速( 10~ 1μS)、中速( 100~ 10μS)、低速(≥ 100μS)几档。

Page 8: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

DAC0832 主要特性

分辨率8位;电流建立时间1 μS ;数据输入可采用双缓冲、单缓冲或直通方式;输入逻辑电平与 TTL 兼容;单电源供电(+ 5V ~+ 15V );低功耗, 20m W。

Page 9: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

由于 DAC0832 为电流输出型,要想输出电压,可外接运放,下图是一种典型应用电路

Page 10: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

1 .直通方式:

CS 1WR 2WR 当引脚 、 、 、 直接接地, ILE 接电源, DAC0832 工作于直通方式,此时, 8 位输入寄存器和 8 位DAC 寄存器都直接处于导通状态, 8位数字量到达 , 就立即进行 D/A 转换。特点:转换速度快。

三、 DAC0832 与单片机的接口

XFER

80C51

CS

DAC0832

WR1

P1

XFER

8

WR2

D7 0~

+-

VO

Page 11: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

2 .单缓冲方式: 输入寄存器和 DAC 寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入 DAC 寄存器中; WR1 和WR2 同时进行,并且与 CPU的WR 相连, CPU对 0832 执行一次写操作,将数据直接写入DAC 寄存器中。 适用:只有一路模拟信号输出或几路模拟信号非同步输出。

80C51

P2.7

P0

WR

CS

XFER

WR1

WR2

ILE

VCC+5V

-+

Rfb

VO

DA

C08

32

IOUT1

IOUT2

1kΩ

1MΩDI0

DI7

DGNDVSS 1/4LM324VREF-5V

Page 12: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

3 .双缓冲方式:

输入寄存器和 DAC 寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。适用:同时输出几路模拟信号的场合,可构成多个 0832 同步输出电路。 当 8 位输入锁存器和 8 位DAC 寄存器分开控制导通时, DAC0832 工作于双缓冲方式,双缓冲方式时单片机对DAC0832 的操作分两步,第一步,使 8 位输入锁存器导通,将 8 位数字量写入 8 位输入锁存器中;第二步,使 8 位DAC 寄存器导通, 8 位数字量从 8 位输入锁存器送入 8 位DAC 寄存器。第二步只使 DAC 寄存器导通,在数据输入端写入的数据无意义。

Page 13: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

80C51

P2.7

P0

WR

CS

XFER

WR1

WR2

ILE

VCC

DA

C08

32(1

)

DI0

DI7

CS

XFER

WR1

WR2

ILE

VCC

+5V

DA

C08

32(2

)

DI0

DI7

P2.6

P2.5

Page 14: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

四、应用实例——简易锯齿波发生器

Page 15: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

程序:

#include<reg51.h>#include<absacc.h> // 绝对地址访问头文件#define uchar unsigned char#define unit unsigned int#define DAC0832 XBYTE[0x7fff]void delayms()// 延时函数( T1 定时实现){TH1=0xfc;TL1=0x18;TR1=1;

Page 16: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

while(!TF1);TF1=0;} void main() {uchar i; TMOD=0x10; while(1) {for(i=0;i<=255;i++) {DAC0832=i;delayms();} } }

Page 17: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

若将 for(i=0;i<=255;i++) {DAC0832=i;delayms();}改为: for(i=255;i>=255;i--) {DAC0832=i;delayms();}则示波器中观察到的波形有什么变化?

问答:如果改变锯齿波的周期和幅值?答:改变延时时间可改变波形周期;改变输出二进

制的最大值,可以改变波形的幅值。

Page 18: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

ADC0809 的结构与引脚 1 2 3 4 5 6 7 8 9 1011121314

28272625242322 21 20 19 18 17 16 15

IN3 IN4IN5 IN6IN7

STARTEOC D3OE

CLKVCC

VR(+)GNDD1

IN2IN1IN0ABCALED7D6D5D4D0VR(-)D2

AD

C08

09

7.3 ADC0809 及其与单片机的接口

IN0~ IN7: 8 路模拟信号输入端。D0~D7: 8 位数字量输出端。VR( + )、 VR (−):基准电压输入端。 A 、 B 、 C : 8 路输入通道的选择CLK: 为时钟信号输入端。ALE: 地址锁存允许信号OE :输出允许端START :为启动 A/D 转换的输入端,上升沿复位,下降沿开始转换。EOC: 转换结束信号输出端。转换结束后为高电平。

Page 19: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

IN7三态输出锁存器

8路模拟开关

地址锁存与译码

8位A/D转换器

IN0

CBA

ALE

3

D7

D0

D3

D5

D1D2

D4

D6

OE

EOC

VR(+) VR(-)

START CLK

Page 20: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

ADC0809A/D 转换器主要性能

分辨率为8位; 精度: ADC0809 小于 ±1LSB ; 单+5V 供电,模拟输入电压范围为 0 ~+ 5V ; 具有锁存控制的8路输入模拟开关; 可锁存三态输出,输出与 TTL 电平兼容; 功耗为 15mW ; 不必进行零点和满度调整; 转换时间约为 100µS (时钟频率 640KHz 时)。

Page 21: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

ADC0809 的工作流程1.输入 3位地址,并使 ALE=1,将地址存入地

址锁存器中,经地址译码器译码从 8路模拟通道中选通一路模拟量送到比较器。2.送 START一高脉冲, START的上升沿使逐

次逼近寄存器复位,下降沿启动 A/D转换,并使EOC信号为低电平。3.当转换结束时,转换的结果送入到输出三态锁

存器,并使 EOC信号回到高电平,通知 CPU已转换结束。4.当 CPU执行一读数据指令,使 OE为高电平,

则从输出端 D0~D1读出数据。

Page 22: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

START/ALE 地址锁存

ADDA/B/C

EOC

OE

D0~D7

启动

转换结束

读取结果

DATA

Page 23: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

ADC0809与MCS-51 单片机的接口

涉及 2 个问题:( 1 ) 8 路模拟信号通道选择;( 2 )A/D 转换完成后转换数据的传送。

转换数据的传送:①定时传送方式;(不需接 EOC 脚)②查询方式;(测试 EOC 脚的状态)③中断方式。( EOC 脚接 INTi 脚)

注意:(1)不能用无条件方式;(2)2个 ALE不能直接相接。

Page 24: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

ALE

WR

P2.7RD

INT0

+

+

+5V

GND

D0D1D2D3D4D5D6D7ADDAADDBADDCCLKALESTART

OE

EOC

IN0IN1IN2IN3IN4IN5IN6IN7

VREF+

VREF-

ADC0809

8051

分频器

Page 25: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

ADC0809 与单片机接口

EOC

ADC0809

D0~D7

74L

S37

3

OEG

ALE

80C51

D7::

D0

Q7::

Q0

P3.3

EA

P0

ABC

CK Q

D Q

1

≥ 1

≥ 1

STARTALEOE

CLK

WR

P2.7

RD

IN0

IN7

CK Q

D Q

Page 26: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

ADC0809 采样通道 3 输入的模拟量,转换后的结果显示在数码管上。

Page 27: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

#include<reg51.h>#define uchar unsigned char#define unit unsigned intuchar code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};unsigned char dispcount;sbit CLK=P3^0; // 时钟信号sbit ST=P3^3;//启动信号sbit OE=P3^1; // 输出使能sbit EOC=P3^2;// 转换结束信号

Page 28: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

void delayms(unit x)// 延时函数{uchar i,j;for(i=x;i>0;i--) for(j=0;j<120;j++);}void Display_Result(uchar d) //显示函数{P0=0xfb; //第 4 个数码管显示个位数P1=dispcode[d%100%10];delayms(5);P0=0xfd; //第 3 个数码管显示十位数P1=dispcode[d%100/10];delayms(5);

Page 29: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

P0=0xfe; //第 2 个数码管显示百位数P1=dispcode[d/100];delayms(5); }void main(void){TMOD=0x02; //T0 工作模式 2TH0=0xf0;TL0=0xf0;IE=0x82;TR0=1;P3=0x3f; // 选择 ADC0809 的通道 3

Page 30: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

while(1){ST=0; ST=1; ST=0; //启动 A/D 转换while(EOC==0); // 等待转换完成OE=1;Display_Result(P2);OE=0;}}//T0 定时器中断给 ADC0808提供时钟信号void Timer0_INT() interrupt 1{CLK=~CLK;}

Page 31: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

简易数字电压表要求:通过调整电位器,采集 0—5V连续可变的模拟电压信号,通过 ADC0809转换为数字信号 0x00-0xff后,送单片机处理,并在四位数码管上显示 0.000—5.000V。

Page 32: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

#include<reg51.h>#define uchar unsigned char#define unit unsigned intuchar code dispcode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed};uchar code dispcode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar ch1,ch2,ch3,ch4;sbit ST=P3^3;//启动信号sbit OE=P3^1; // 输出使能sbit EOC=P3^2;// 转换结束信号sbit CLK=P3^0;

Page 33: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

void delayms(unit x)//延时函数{uchar i,j;for(i=x;i>0;i--) for(j=0;j<120;j++) ; }void Display (uchar i,uchar d) {if(i==1) P1=dispcode1[d];else P1=dispcode2[d];delayms(10);}void sepr(uchar x){uchar ch;ch=x;ch1=ch/51; ch=ch%51;ch2=ch*10/51; ch=ch*10%51;ch3=ch*10/51;ch=ch*10%51;ch4=ch*10/51;}

Page 34: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

void main(void){uchar a;TMOD=0x02; //T0 工作模式 2TH0=0xf0;TL0=0xf0;IE=0x82;TR0=1;while(1){ST=0;delayms(1); ST=1;delayms(1); ST=0; //启动 A/D 转换

Page 35: 实训课题七   D/A 与 A/D 转换

淮南联合大学 方向红

while(EOC==0); // 等待转换完成OE=1; P2=0xff;a=P2;sepr(a);P0=0xfe; Display(2,ch4);P0=0xfd; Display(2,ch3);P0=0xfb; Display(2,ch2);P0=0xf7; Display(1,ch1);OE=0;}}void Timer0_INT() interrupt 1{CLK=~CLK;}