第 9 章 数/模及模/数转换器接口

49
9-1 D/A 转转转转转转转转 9-2 A/D 转转转转转转转转 9 9 转 转 转 转 / / 转转转 转转转 / / 转转转转转转 转转转转转转

Upload: valentine-hyde

Post on 31-Dec-2015

187 views

Category:

Documents


0 download

DESCRIPTION

第 9 章 数/模及模/数转换器接口. 9-1 D/A 转换器接口及应用. 9-2 A/D 转换器接口及应用. 扩展 I/O 电路的功能:. 1 、速度协调; 2 、输出数据锁存; 3 、输入数据三态; 4 、数据转换: 模拟量→数字量:由 A/D 转换完成; 数字量→模拟量:由 D/A 转换完成。. 单片机和被控实体间的接口示意图. 举例 1 :温度测控系统. 举例 2 :速度测控系统. A. 1. BISS0001. 16. 1 OUT. 1 IN-. V 0. 2. 15. RR 1. 3. 14. 1 IN+. RC 1. - PowerPoint PPT Presentation

TRANSCRIPT

9-1 D/A转换器接口及应用

9-2 A/D转换器接口及应用

第第 99 章 数章 数 // 模及模模及模 // 数转换器接口数转换器接口

扩展扩展 I/OI/O 电路的功能:电路的功能:

11 、速度协调;、速度协调;22 、输出数据锁存;、输出数据锁存;33 、输入数据三态;、输入数据三态;44 、数据转换:、数据转换: 模拟量→数字量:由模拟量→数字量:由 A/DA/D 转换完成;转换完成; 数字量→模拟量:由数字量→模拟量:由 D/AD/A 转换完成。转换完成。

单片机和被控实体间的接口示意图单片机和被控实体间的接口示意图

举例举例 11 :温度测控系统:温度测控系统

放大

A/ D单

机打印输出

光隔驱动

电热箱 温度传感器 模 数设定值

控制信号

电热丝

电源

双向可控硅

调节电压 控温

~

举例举例 22 :速度测控系统:速度测控系统

A/ D PI D D/ A =/ M

G

转速给定

P0 P1

纸长拨盘给定

转速反馈

纸长反馈

脉冲发生器

测量转速

电机可控硅触发器

单片机系统+ -

单片机控制系统原理框图

红外线传感器集成芯片红外线传感器集成芯片 BISS0001BISS0001 特点特点

(( 11 )用)用 CMOSCMOS 工艺,功耗低。工艺,功耗低。(( 22 )具有独立的高输入阻抗运算放)具有独立的高输入阻抗运算放

大器,可与多种传感器匹配。大器,可与多种传感器匹配。(( 33 )双向鉴幅器可有效抑制干扰信)双向鉴幅器可有效抑制干扰信

号。号。(( 44 )内设延时和封锁定时器,性能)内设延时和封锁定时器,性能

稳定,调节范围宽。稳定,调节范围宽。(( 55 )内置参考电源。)内置参考电源。(( 66 ) 工 作 电 压 范 围 宽 () 工 作 电 压 范 围 宽 ( 33VV ~~

5V5V)。)。

BISS0001

1

2

3

4

5

6

7

8 9

10

11

12

13

14

15

16A

V0

RR1

RC1

RC2

RR2

Vss

VRF/RESET Vc

IB

VDD

2OUT

2IN-

1IN+

1IN-

1OUT

9-19-1 D/AD/A 转换器接口及应用转换器接口及应用9-1-1 9-1-1 D/AD/A 转换概述转换概述

一、 D/A( Digit to Analog )转换器: 为把数字量转换成模拟量,在 D/A转换芯片中要有解码网络:① 权电阻网络;②倒 T 型电阻网络。

TT 型电阻网络型型电阻网络型 D/AD/A 转换器:转换器:

D/AD/A 转换器的原理:转换器的原理: 把输入数字量中每位都按其权值分别转换成模拟量,并通把输入数字量中每位都按其权值分别转换成模拟量,并通过运算放大器求和相加。根据克希荷夫定律,如下关系成立:过运算放大器求和相加。根据克希荷夫定律,如下关系成立:

II00=2=200 II11=2=21 1 I I22=2=22 2 I I33=2=233

nn 位数字量与模拟量的关系式:位数字量与模拟量的关系式:VVOO =—V =—VREFREF×× (数字码 (数字码 / 2/ 2nn ))

(V(VREFREF —— —— 参考电压参考电压 ))

二、 D/A 输出形式:① 电压;② 电流 运算放大器 电压。

注:因使用反相比例放大器来实现电流到电压的转换,所以输出模拟信号 (VO)的极性与参考电压 (VREF) 极性相反。

三、注意区分三、注意区分 D/AD/A 内部是否带有锁存器:内部是否带有锁存器:

与与 PP11、、 PP22 接口:不需加锁存器,直接接口。接口:不需加锁存器,直接接口。 无锁存器无锁存器 与与 PP00 接口:因接口:因 PP00 的特殊功能,需加锁存器。的特殊功能,需加锁存器。D/AD/A 内 如:内 如: DAC800DAC800、、 AD7520AD7520、、 AD7521AD7521 等。等。 有锁存器:最好与有锁存器:最好与 PP00 直接接口。直接接口。 如:如: DAC0832DAC0832、、 DAC1230DAC1230 等。等。

四、性能指标:四、性能指标:11 、、分辨率分辨率(( ResolutionResolution ))是指是指 D/AD/A 转换器能分辨的最转换器能分辨的最

小输出模拟增量,取决于输入数字量的二进制位数。小输出模拟增量,取决于输入数字量的二进制位数。 22 、、建立时间建立时间(( Establishing TimeEstablishing Time ))是描述是描述 D/AD/A 转换转换

速度的快慢。速度的快慢。33 、、转换精度转换精度(( Conversion AccuracyConversion Accuracy ))指满量程时指满量程时

DACDAC 的实际模拟输出值和理论值的接近程度。的实际模拟输出值和理论值的接近程度。 44 、、偏移量误差偏移量误差(( Offset ErrorOffset Error ))偏移量误差是指输入偏移量误差是指输入

数字量为零时,输出模拟量对零的偏移值。数字量为零时,输出模拟量对零的偏移值。 55 、、线性度线性度(( LinearityLinearity ))线性度是指线性度是指 DACDAC 的实际转换的实际转换

特性曲线和理想直线之间的最大偏移差。特性曲线和理想直线之间的最大偏移差。

主要技术指标:主要技术指标:11 、分辨率、分辨率(( ResolutionResolution ):): 对对 D/AD/A 转换器输入量变化敏感程度进行描述,转换器输入量变化敏感程度进行描述,与输入数字量的位数有关。与输入数字量的位数有关。• 若数字量的位数为若数字量的位数为 nn ,,则分辨率为则分辨率为 22 -- nn。。• 数字量位数越多,分辨率就越高。数字量位数越多,分辨率就越高。• 应用时,应根据分辨率的需要选定转换器的位数。应用时,应根据分辨率的需要选定转换器的位数。注:注: BCDBCD 码输出的码输出的 A/DA/D 转换器用位数表示分辨率。转换器用位数表示分辨率。22 、、建立时间建立时间(( Establishing TimeEstablishing Time ):):(转换速(转换速

度)度) 描述描述 D/AD/A 转换速度的快慢。转换速度的快慢。• 输出形式为电流的转换器比电压的建立时间短。输出形式为电流的转换器比电压的建立时间短。• D/AD/A 转换速度远高于转换速度远高于 A/DA/D 转换。转换。33 、、转换精度转换精度(( Conversion AccuracyConversion Accuracy ):): 指满量程时指满量程时 DACDAC 的实际模拟输出值和理的实际模拟输出值和理

论值的接近程度。论值的接近程度。

一、内部结构:一、内部结构: DAC 0832DAC 0832 :: 8 位双缓冲器结构的 D/A 转换器。

9-1-2 9-1-2 D/AD/A 转换芯片转换芯片DAC0832DAC0832

DAC 0832DAC 0832 内部结构框图内部结构框图(请见(请见 P242P242图图9.39.3 ))

DI0 ~ 7 :转换数据输入( 8 位); CS :片选信号(输入);ILE :数据锁存允许信号(输入); XFER :数据传送控制信号(输入);WR1 :第一写信号(输入),与 ILE 共同控制输入寄存器是数据直通方式还是 数据锁存方式;WR2 :第 2 写信号(输入),与 XFER 共同控制 DAC 寄存器是数据直通方式还是 数据锁存方式;

8 位DAC

DAC寄存器

输入寄存器 -

+IOUT2

IOUT1

Rfb

VODI0 ~

7

AGND

ILE

CS

WR1

WR2

XFER

LE1LE2

LE1LE1(( LELE22 )) ==

00 :锁存;:锁存;11 :直通。:直通。

DACDAC 的应用:的应用:

    DACDAC 用作单极性电压输出用作单极性电压输出;;    DACDAC 用作双极性电压输出用作双极性电压输出;;    DACDAC 用作控制放大器。用作控制放大器。

双极性输出电压与输入数字量的关系双极性输出电压与输入数字量的关系输入数字量 B

b7 b6 b5 b4 b3 b2 b1 b0

Vout (理想值)+VREF 时 -VREF 时

1 1 1 1 1 1 1 1 |VREF|-LSB -|VREF|+LSB

┆ ┆ ┆1 1 0 0 0 0 0 0 |VREF|/2 -|VREF|/2

┆ ┆ ┆1 0 0 0 0 0 0 0 0 0

┆ ┆ ┆0 1 1 1 1 1 1 1 -LSB LSB

┆ ┆ ┆0 0 1 1 1 1 1 1 -|VREF|/2-LSB |VREF|/2+LSB

┆ ┆ ┆0 0 0 0 0 0 0 0 -|VREF| |VREF|

双极性双极性 DACDAC 的接法 的接法 ::

双极性双极性 DACDAC 的另一种接的另一种接法法 ::

控制放大器用控制放大器用 DAC0832:DAC0832:

二、二、 DAC 0832DAC 0832 与单片机的接口:与单片机的接口:有有 33 种工作方法:直通方式、单缓冲方式和双缓冲方式。种工作方法:直通方式、单缓冲方式和双缓冲方式。

11 、直通方式:、直通方式: 输入寄存器和 输入寄存器和 DACDAC 寄存器共用一个地址,同时选通输出;寄存器共用一个地址,同时选通输出; WRWR11 和和WRWR22 同时进行,并且不与同时进行,并且不与 CPUCPU 相接。相接。 特点:转换速度快。 特点:转换速度快。

80C51

CS

DAC0832

WR1

P1

XFER

8

WR2

D7 0~

+-

VO

MOV MOV PP11,, AA

举例:举例:例:例: D/AD/A 转换程序,用转换程序,用 DAC0832DAC0832 输出输出 00 ~~ +5+5VV 锯齿波,锯齿波, 电路为电路为直通方式直通方式。设。设 VVREFREF=-5V=-5V ,,若若 DAC0832DAC0832 地址地址 为为 0000FEHFEH ,,脉冲周期要求为脉冲周期要求为 100100msms。。

100ms

DACSDACS:: MOVMOV DPTRDPTR,, #00FEH#00FEH;; 08320832 I/OI/O 地址地址MOVMOV AA,, #00H#00H ;;开始输出开始输出 00VV

DACLDACL:: MOVXMOVX @DPTR@DPTR,, AA;; D/AD/A 转换转换INCINC AA ;;升压升压ACALLACALL DELAYDELAY ;;延时延时 100100ms/256ms/256 ::决定锯决定锯

齿波的周期齿波的周期AJMPAJMP DACLDACL ;;连续输出连续输出

DELAYDELAY …:…: ;;延时子程序延时子程序

22 、单缓冲方式:、单缓冲方式: 输入寄存器和 输入寄存器和 DACDAC 寄存器共用一个地址,同时选通输出,输入数据寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入在控制信号作用下,直接进入 DACDAC 寄存器中;寄存器中; WRWR11 和和WRWR22 同时进行,并且与同时进行,并且与 CPUCPU的的WRWR 相连,相连, CPUCPU 对对 08320832执行一次写操作,将数据直接写入执行一次写操作,将数据直接写入 DACDAC 寄存器中。寄存器中。 适用:适用:只有一路模拟信号输出或几路模拟信号非同步输出。只有一路模拟信号输出或几路模拟信号非同步输出。

80C51 CS

DAC0832

WR1

P1

XFER

WR2

D7 0~ +-

VO

74LS373P0

WR

ALE

80C51

G A7 0~

A0

8

单缓冲方式下的单缓冲方式下的 DAC0832DAC0832

80C51

举例:举例:例:例: D/AD/A 转换程序,用转换程序,用 DAC0832DAC0832 输出输出 00 ~~ +5+5VV 三角波,三角波, 电路为电路为单缓冲方式单缓冲方式。设。设 VVREFREF=-5V=-5V ,,若若 DAC0832DAC0832 地地 址为址为 0000FEHFEH ,,脉冲周期要求为(脉冲周期要求为( 100100msms)。)。

100ms

ORGORG 2000H2000HSTARSTAR:: MOVMOV DPTRDPTR,, #00FEH#00FEH;; DAC0832DAC0832 地址地址

MOVMOV AA,, #00H#00H ;;开始输出开始输出 00VVUPUP : : MOVXMOVX @DPTR@DPTR,, AA;; D/AD/A 转换转换

INCINC AA ;;产生上升段电压产生上升段电压JNZJNZ UPUP ;;上升到上升到 AA 中为中为 FFHFFH(( A≠0A≠0跳)跳)

DOWNDOWN:: DECDEC AA ;;产生下降段电压产生下降段电压MOVXMOVX @DPTR@DPTR,, AAJNZJNZ DOWNDOWN ;;下降到下降到 AA 中为中为 0000HHSJMPSJMP UPUP ;;重复重复

注:注:若想改变波形的周期(频率),只需在若想改变波形的周期(频率),只需在 SJMP UPSJMP UP 前插入延时程序即可。前插入延时程序即可。

C51C51 程序:程序:#include<absacc.h>#include<absacc.h>#include<reg51.h>#include<reg51.h>#define DAC0832 XBYTE[0x00FE]#define DAC0832 XBYTE[0x00FE]#define uchar unsigned char#define uchar unsigned char#define unit unsigned int#define unit unsigned int void stair(void)void stair(void) {{

uchar i;uchar i; while(1) {while(1) { for(i=0;i<=255;i=i++) for(i=0;i<=255;i=i++)

/*/* 形成锯齿波输出值,最大形成锯齿波输出值,最大 255*/255*/ {DAC0832=i;{DAC0832=i; /*D/A/*D/A 转换输出转换输出 */*/ }}}}

}}

33 、双缓冲器方式:、双缓冲器方式: 输入寄存器和输入寄存器和 DACDAC 寄存器分配有各自的地址,可分别选通用同时输出多寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。路模拟信号。 适用:适用:同时输出几路模拟信号的场合,可构成多个同时输出几路模拟信号的场合,可构成多个 08320832 同步输出电路。同步输出电路。

80C51

CSDAC0832

WR1

P1

XFER

WR2

D7 0~ +-

VO

74LS3738P0

WR

ALE

80C51

G A7 0~

A0

CS

DAC0832

WR1

XFER

WR2

D7 0~

+-

VO

A1

A2

A1

1#

2#

X

Y

图形显示器

A2

举例:举例:例:例:用用 DAC0832DAC0832 实现驱动绘图仪,电路为实现驱动绘图仪,电路为双缓冲方式双缓冲方式。。 1#1# 和和 2#2#DAC0832DAC0832 地址分别为地址分别为 0000FEHFEH 和和 0000FDHFDH。。 则绘图仪的驱动程序为:则绘图仪的驱动程序为:

ORGORG 2000H2000HMOVMOV DPTRDPTR,, #00FEH #00FEH ;;选中选中 1#08321#0832 (的输入寄存器):(的输入寄存器): AA00=0=0

MOVMOV AA,, #Datax#DataxMOVXMOVX @DPTR@DPTR,, AA ;; DataxDatax写入写入 1#08321#0832 输入寄存器输入寄存器MOVMOV DPTRDPTR,, #00FDH #00FDH ;;选中选中 2#08322#0832 (的输入寄存器):(的输入寄存器):

AA11=0=0

MOVMOV AA,, #Datay#DatayMOVXMOVX @DPTR@DPTR,, AA ;; DatayDatay写入写入 2#08322#0832 输入寄存器输入寄存器MOVMOV DPTRDPTR,, #00FBH #00FBH ;选中;选中 1#1#和和 2#08322#0832的的 DACDAC 寄存器: 寄存器:

AA22=0=0

MOVXMOVX @DPTR@DPTR,, AA ;; 1#1# 和和 2#2#输入寄存器的内容同时输入寄存器的内容同时 传送到传送到 DACDAC 寄存器中寄存器中

C51C51 程序:程序:#include<absacc.h>#include<absacc.h>#include<reg51.h>#include<reg51.h>#define INPUTR1 XBYTE[0x00FE]#define INPUTR1 XBYTE[0x00FE]#define INPUTR2 XBYTE[0x00FD]#define INPUTR2 XBYTE[0x00FD] #define DACR XBYTE[0x00FB]#define DACR XBYTE[0x00FB]#define uchar unsigned char#define uchar unsigned char void dac2b(data1,data2)void dac2b(data1,data2) uchar data1,data2;uchar data1,data2;{{

INPUTR1=data1;INPUTR1=data1; /*/* 数据送到一片数据送到一片 DAC0832*/DAC0832*/INPUTR2=data2;INPUTR2=data2; /*/* 数据送到另一片数据送到另一片 DAC0832*/DAC0832*/DACR=0;DACR=0; /*/*启动两路启动两路 D/AD/A 同时转换同时转换 */*/

}}

三、三、 DAC1208DAC1208 内部框图内部框图

80C5180C51与与 DAC1208DAC1208 的接口的接口

80C51

PC/XTPC/XT的的 D/AD/A 接口使用接口使用 DAC0832DAC0832 。其有关信号接。其有关信号接线如图所示,其输出电压线如图所示,其输出电压 VoVo 和输入数字量和输入数字量 DI7-DI0DI7-DI0 之间之间呈线性且如表所示。现要求呈线性且如表所示。现要求 VoVo从零开始按图示波形周期从零开始按图示波形周期变化(周期可自定)。试用汇编语言编写其控制部分程序。变化(周期可自定)。试用汇编语言编写其控制部分程序。

译码器

DB7-DB0

+5V

A9-A0

AEN

I OW

POT0

POT1

DI 7-DI 0I LE

CS

XFERWR1

WR2

I OUT1

I OUT2

DAC0832

v0/ V

t

+5V

0

-5Vv0

输入 输出

00H7FHFFH

-5V0V+5V

9-29-2 A/DA/D 转换器接口及应用转换器接口及应用

A/DA/D 接口设计要点:接口设计要点:11 .选择合适的系统采样速度;.选择合适的系统采样速度;22 .减小.减小 A/DA/D 转换的孔径误差;转换的孔径误差;33 .合理选用.合理选用 A/DA/D 转换器。转换器。

一、转换原理:一、转换原理:A/D 转换是把模拟量信号转化成与其大小成比例的数字信号。A/D 转换电路主要分成:1 、双积分式(速度慢,精度高:用于速度要求不高的场合);2 、逐次逼近式(速度较快,精度较高:常用)。 常用芯片:常用芯片: MC14433( 3 ½ 位) 双积分式 ICL7135( 4 ½ 位) ICL7109( 12 位) ADC0808、 ADC0809( 8 位) 逐次逼近式 ADC1210( 12 位) AD574( 12 位)

11 、双积分型、双积分型 A/DA/D 转换器工作原理:转换器工作原理:

双积分型双积分型 A/DA/D 转换是一种间接转换是一种间接 A/DA/D

转换技术。首先将模拟电压转换成积分时转换技术。首先将模拟电压转换成积分时间,然后用数字脉冲计时方法转换成计数间,然后用数字脉冲计时方法转换成计数脉冲数,最后将此代表模拟输入电压大小的脉冲数转换成脉冲数,最后将此代表模拟输入电压大小的脉冲数转换成二进制或二进制或 BCDBCD 码输出。因此,双积分型码输出。因此,双积分型 A/DA/D 转换器转换时转换器转换时间较长,一般要大于间较长,一般要大于 4040~~ 50ms50ms 。。

双积分双积分 ADCADC 电路原理图电路原理图

MC14433MC14433与与 80C5180C51 直接连接的接口直接连接的接口

80C51MC14433

ICL7109ICL7109与与 80C5180C51 的接口电路图的接口电路图

80C51

22 、逐次逼近、逐次逼近 A/DA/D 转换原理:转换原理:

时序与控制逻辑电路

D/ A转换器输出缓冲器

N位寄存器

比较器

时钟

启动EOC

VX

VN

OE

N位数字量输出

A/ D逐次逼近 转换器原理图

N 位寄存器用来存放 N 位二进制数码。当 VX≥VN ,则保留 DN-1=1 ,否则清 0 。其余类推。

11 、结构:、结构: 一个一个 88 位逐次逼近式位逐次逼近式 A/DA/D 转换器、转换器、 88 路模拟转换开关、路模拟转换开关、 3-83-8 地址锁地址锁

存译码器和三态输出数据锁存器存译码器和三态输出数据锁存器(详见(详见 P249P249))。。

22 、引脚:、引脚:(( 11 )) 88 路模拟量路模拟量分时分时输入信号端:输入信号端:

IN0IN0~~ IN7IN7;;(( 22 )) 88 位数字量输出信号端:位数字量输出信号端:

DD00~~ DD77;;

(( 33 )通道选择地址信号输入端:)通道选择地址信号输入端: ADDADDAA、、 ADDADDBB、、 ADDADDCC;;

(( 44 )基准参考电压为)基准参考电压为 VVRR(( ++ ))和和 VVRR(( -- )):: 决定输入模拟量的范围。决定输入模拟量的范围。 典型值分别为典型值分别为 +5+5VV 和和 00VV。。(( 55 )转换结束信号)转换结束信号 EOCEOC:: 00 ::正在进行转换;正在进行转换; 11 :一次转换完成。:一次转换完成。(( 66 ))时钟信号输入端:时钟信号输入端: CLKCLK ((其内部无时钟电路)其内部无时钟电路)。。

多路转换开关

A B C

IN0

IN1

IN7

A/D 转换

二、二、 ADC0809ADC0809 与单片机的接口:与单片机的接口: ADC 0809/0808 为 8 路输入通道、 8 位逐次逼近式 A/D 转换器,可分时转换 8 路模拟信号。

33、、 ADC 0809ADC 0809 与单片机连与单片机连接:接:

转换数据的传送:转换数据的传送:①①定时传送方式;定时传送方式;(不需接(不需接 EOCEOC脚)脚)②②查询方式;查询方式;(测试(测试 EOCEOC脚的状态)脚的状态)③③中断方式。中断方式。(( EOCEOC脚接脚接 INTINT脚)脚)注:注:(( 11 )不能用无条件方式;)不能用无条件方式;(( 22 )) 22 个个 ALEALE 不能相接。不能相接。

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

ADC0809 的口地址: FEFFH;8 路模拟通道的地址: FEF8H~FEFFH。

IN0 ~ 7

AD0 ~ 7

ALE

INT

WR

P2.0

RD

D0 ~ 7

ADDABC

CLK

EOC

START

ALE

OE

≥1

1

MCS-51MCS-51

ADC0809ADC0809

8

3

≥1

A/DA/D 转换程序:(延时等待方转换程序:(延时等待方法)法)MOV DPTRMOV DPTR,, #0FEFFH #0FEFFH ;; ADC0809ADC0809 地址地址MOV AMOV A,, #00H#00H ;;选中选中 ININ00

MOVX @DPTRMOVX @DPTR,, AA ;;启动启动 A/DA/D 转换转换LCALL DELAYLCALL DELAY ;;等待转换结束等待转换结束MOVX AMOVX A,,@DPTR@DPTR ;;读转换结果读转换结果RETRET

不用接 EOC 脚,采用定时传送方式。

例:例: P252P252 应用举应用举例例

初始化程序:(中断方式)初始化程序:(中断方式) MOV RMOV R00,, #0A0H #0A0H ;;数据存储区首地址数据存储区首地址 MOV RMOV R22,, #08H#08H ;; 88路计数器路计数器 SETB IT1SETB IT1 ;;边沿触发方式边沿触发方式 SETB EASETB EA ;;中断允许中断允许 SETB EX1SETB EX1 ;;允许外部中断允许外部中断 11 中断中断 MOV DPTRMOV DPTR,, #0FEF8H#0FEF8H ;;指向指向 ADC0809ADC0809首地首地

址址LOOPLOOP:: MOVX @DPTRMOVX @DPTR,, AA ;;启动启动 A/DA/D 转换转换HEREHERE:: SJMP HERESJMP HERE ;;等待中断等待中断 DJNZ RDJNZ R22,, LOOPLOOP ;;巡回,未完继续巡回,未完继续

CLR EACLR EA ;;结束,关中断结束,关中断 SJMP $ SJMP $ ;结束停止;结束停止

设有一个 8 路模拟量输入的巡回检测系统,采样数据依次存放在外部 RAM 0A0H~ 0A7H 单元中, ADC0809 的 8 个通道地址为 0FEF8H~0FEFFH。

中断服务程序:MOVX A,@DPTR ;读数MOVX @R0, A ;存数INC DPTR ;指向下一模拟通道INC R0 ;指向数据存储区下一单元RETI

C51C51 程序:程序:#include<absacc.h>#include<absacc.h>#include<reg51.h>#include<reg51.h>#define uchar unsigned char#define uchar unsigned char#define IN0 XBYTE[0xFEF8]#define IN0 XBYTE[0xFEF8] /*/* 设置设置 ADC0809ADC0809 的通道的通道 00 地址地址

**//sbit ad_busy=P3^3;sbit ad_busy=P3^3; /*/*即即 EOCEOC状态状态 **//void ad0809(uchar idata * x)void ad0809(uchar idata * x) /*/*采样结果放指针中的采样结果放指针中的 A/DA/D采集函数采集函数

**//{ uchar i;{ uchar i;

uchar xdata * ad_adr;uchar xdata * ad_adr; ad_adr=&IN0;ad_adr=&IN0; for(i=0;i<8;i++)for(i=0;i<8;i++) /*/*处理处理 88 通道通道 **// {{ *ad_adr=0;*ad_adr=0; /*/*启动转换启动转换 **//

i=i;i=i; /*/* 延时等待延时等待 EOCEOC 变低变低 **//i=i;i=i;while(ad_busy==0);while(ad_busy==0); /*/*查询等待转换结束查询等待转换结束 **//x[i]=*ad_adr;x[i]=*ad_adr; /*/* 存转换结果存转换结果 **//ad_adr++;ad_adr++; /*/* 下一通道下一通道 **//

}}}}void main(void)void main(void){{ static uchar idata ad[10];static uchar idata ad[10];

ad0809(ad);ad0809(ad); /*/*采样采样 ADC0809ADC0809 通道的值通道的值 **//}}

三、三、 AD574AAD574A 与与 MCS-51MCS-51 单片机接单片机接口口

80C51

AD574AAD574A 逻辑控制真值表逻辑控制真值表

11、、 D/AD/A 转换原理、内部结构、信号输出形式转换原理、内部结构、信号输出形式 和主要技术指标。和主要技术指标。22、、 DAC0832DAC0832 内部结构、管脚、内部结构、管脚、 33 种工作方种工作方 法及其对应接口的特点、电路和应用程序。法及其对应接口的特点、电路和应用程序。33、、 A/DA/D 转换原理和常用转换原理和常用 ADCADC 芯片。芯片。44、、 ADC0809ADC0809 的内部结构及管脚、转换数据的内部结构及管脚、转换数据 传送方式及其对应接口图和程序。传送方式及其对应接口图和程序。

小 结小 结

应用举例:应用举例:11 、用、用 88 位位 DACDAC 芯片组成双极性电压输出电路,其参考电芯片组成双极性电压输出电路,其参考电压为压为 -5V-5V~~ +5V+5V ,求对应以下偏移码的输出电压:,求对应以下偏移码的输出电压:

①①0100 00000100 0000 ②1111 1110②1111 1110

解:解: VVOUT1OUT1=-V=-VREFREF..

VVOUT2OUT2=-(V=-(VREFREF+2V+2VOUT1OUT1))

① ① VVOUT1OUT1=-V=-VREFREF.. =-1.25V=-1.25V~~ +1.25V+1.25V

VVOUT2OUT2=-(V=-(VREFREF+2V+2VOUT1OUT1) =-2.5V) =-2.5V~~ +2.5V +2.5V

② ② VVOUT1OUT1=-V=-VREFREF.. =-4.96=-4.96~~ +4.96V+4.96V

VVOUT2OUT2=-(V=-(VREFREF+2V+2VOUT1OUT1) =-4.92V) =-4.92V~~ +4.92V +4.92V

256

254

256

D

256

64

22 、某、某 1212位位 A/DA/D 转换器的输入电压为转换器的输入电压为 00 ~~ +5V+5V ,,求出当输入模拟量为下列值时输出的数字量:求出当输入模拟量为下列值时输出的数字量:

① ①1.25V1.25V ②②3.75V3.75V

解:解:

①①

②②

12

)()(

2

5

2

n

REFREF VVq量化单位:

q

VVD

D

V inin

in .5

2

2

5 12

12数字量

HBq

D 400000100000000102425.1

HCBq

D 00001100000000307275.3

33 、某梯度炉温变化范围为、某梯度炉温变化范围为 00 ~~ 1600℃1600℃ ,经温度变,经温度变送器输出电压为送器输出电压为 11 ~~ 5V5V ,再经,再经 ADC0809ADC0809 转转换,换, ADC0809ADC0809 的输入范围为的输入范围为 00 ~~ 5V5V ,试计算当,试计算当采样数值为采样数值为 9BH9BH 时,所对应的梯度炉温是多少?时,所对应的梯度炉温是多少?

解:解: 9BH=155D 9BH=155D

04.3255

155)05(0809 xAADC 的输入值

CAx

81615

104.31600,对应梯度炉温