第 9章 A/ D,D/ A转换接口
9.1 概述
9.2 D/ A转换接口 DAC0832
9.3 模/数转换器 ADC0809
退出
9.1 概述将模拟量转换成数字量,是模/数转换,或称 A/ D
( Analogue/ Digital) 转换 。 将数字量转换成模模拟量,是数/模转换,或称 D/ A( Digital / Analogue)
转换 。 完成 A/ D转换的器件,叫 A/ D转换器 (ADC),
完成 D/ A转换的器件,叫 D/ A转换器 (DAC)。
微机控制系统原理框图如图 9-1所示 。
9.2 D/ A转换接口 DAC0832
DAC0832是带有两级数据输人缓冲锁存器的 8位 D
/ A转换器 。 其引脚如图 9-2所示 。
DAC0832具有数字量的输入锁存功能,可以和单片机的 P0口直接相连 。 以下指令可将数字量转换成模拟量 。
MOV A,DATA ;
要转换的数字量送 A
MOV DPTR,#addr ;
DAC0832地址送 DPTR。
MOVX @DPTR,A ;
数字量送入 DAC0832并转换成模拟量
9.2.2 MCS- 51与 DAC0832的接口单片机与 DAC0832的接口,可根据需要按二级缓冲器方式,单级缓冲器方式和直通方式联接 。
1,单缓冲器连接方式
DAC0832以单缓冲器方式与 8051的接口电路图 9-4
所示 。
用该连接产生一个锯齿波信号的程序如下:
WAVE,MOV DPTR,#addr ;输入寄存器和 DAC
寄存器地址
MOV A,DATA0 ;数字量初值
LOOP,MOVX @DPTR,A
CJNE A,DATAEND,MORE
SJMP WAVE
MORE,INC A
SJMP LOOP
上述程序输出的波形如图 9-5所示 。
2,双缓冲器连接方式采用双缓冲器连接方式时,DAC0832的数字量输入锁存和 D/ A转换输出分两步完成 。 首先,将数字量输入到各路 D/ A转换器的输入寄存器,然后,控制各路 D/ A转换器,使各路 D/ A转换器输入寄存器中的数据,同时进入 DAC寄存器,并转换输出 。 所以,在这种工作方式下,DAC0832占用两个 I/ O地址,输入寄存器和 DAC寄存器各占一个 I/ O地址 。
图 9-6是 8051和二片双缓冲器方式 DAC0832的接口电路 。 利用此电路可以输出一对同步信号,如从 X,Y
输出一组同步的锯齿波和正弦波信号 。
下面是从 X,Y同步输出不同电压的程序:
M()V DPTR,#addr1 ; 1#输入寄存器地址
MOV A,DATA1 ;数字量1送 A
MOV @DPTR,A ;数字量1送 1#输入寄存器
MOV DPTR,#addr2 ; 2#输入寄存器地址
MOV A,DATA2;数字量2送 A
MOV @DPTR,A ;数字量2送2#输入寄存器
MOV DPTR,#addr3 ; 1#,2#DAC寄存器地址
MOV @DPTR,A ; 1#,2#输入寄存器的数字量
1,2分别同时送 1#、; 2#DAC寄存器,并同时转换,同步输出
9.2.3 D/A 转换器的主要技术指标
1,分辨率
2,转换误差
3,线性误差
4,转换速度
5,接口形式
9.3 模/数转换器 ADC0809
ADC0809是一种典型的 A/ D转换器,是 8位 8通道的
A/ D转换器,其引脚如图 9-7所示 。
9.3.1 ADC0809的结构
ADC0809由一个 8位 A/ D转换器,一个 8路模拟量开关,8路模拟量地址锁存/译码器和一个三态数据输出锁存器组成,其内部结构如图 9-8所示 。
9.3.2 MCS-51与 ADC0809的接口
ADC0809与 805l之间的接口电路如图 9-9所示 。
ADC0809时钟信号由单片机的 ALE信号2分频获得 。
ADC0809通道地址由 P0 口的低 3位直接与 ADC0809的
A,B,C相连 。
下面采用查询的方法,对 N(N≤8)路模拟信号进行
A/ D转换,转换后的 N个数据顺序存放到起始地址为
data_addr数据存区 。
ADST,MOV R1,#data_addr ;置数据区首地址指针
MOV DPTR,#addr_ch1 ;指向第1个通道
MOV R2,#0NH ;通道个数
LOOP,MOVX @DPTR,A ;启动 A/ D转换
..,;延时
MOVX A,@DPTR ;读取转换结果
MOV @R1,A ;结果转存到数据区
INC DPTR ;指向下一通道
INC R1 ;修改数据区指针
DJNZ R2,LOOP ;若 N路未转换完则继续转换下面采用中断方式,对 N( N≤8)路模拟信号进行
A/ D转换。
初始化程序:
ADST,MOV R1,#dat_addr ;数据暂存区首地址
MOV R2,#0NH ;共 N路
SETB ITl ; INT1下降沿触发
SETB EA ;中断允许
SETB EX1 ;开中断 1
MOV DPTR,#addr_ch1;指向第 1通道
MOVX @DPTR,A ;启动 A/ D转换
MOV A,R2 ;通道数送 A
LOOP,JNZ LOOP ; N路未转换完等中断中断服务程序:
MOVX A,@DPTR ;读取 A/ D转换结果
MOVX @R1,A ;存 A/ D转换结果
INC DPTR ;下一个通道
INC R1 ;下一个数据存放单元
MOVX @DPTR,A ;启动下一个通道
DEC R2 ;通道数减 1
MOV A,R2
RETI ;中断返回
9.3.2 A/ D 转换器的主要技术指标
1、分辨率
2、转换误差
3、转换速度