第11章 AD与DA接口
- 格式:pdf
- 大小:864.10 KB
- 文档页数:105
24
25
26
27
28
10 CS 11 WR 12 13 14 15 16 17
U2
CS 1
WR 2
3
D3 4
+5V
D2 5 D1 6
D0 7
8
9
10
CS
VCC
WR1 ILE(BY1/BY2)
GND
WR2
DI3
XFER
DI2
DI4
DI1
DI5
DI0
DI6
VREF
DI7
RFB
IOUT2
GND
IOUT1
DAC0832
+5V
20 19 18 17 16 D4 15 D5 14 D6 13 D7 12 11
GND
11
4
+12V
U3
3 1
2 LM324
-12V
A B C D
#include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit daccs=P3^0; sbit dacwr=P3^1;
R3=2R
-
R2=2R
+A1 VOUT1
R4
-
+ A2
VOUT2
当D=0, VOUT2= -VREF 当D=80H, VOUT2= 0 当D=0FFH, VOUT2= 127VREF/128。
第11章 A/D和D/A接口技术
11.1.3 DAC0832与MCS-51单片机的接口 MCS-51单片机与DAC0832的接口有3种连接方式,即直
第11章 A/D和D/A接口技术
物理量
模拟电信号
传感器 1
A/D1
数字电信号
生
产 物理量
模拟电信号
数字电信号
或
传感器 n
A/Dn
计
实 验 过
物理量 执 行 部 模拟电信号
件
D/A1
算 数字电信号
机
程
物理量 执 行 部 模拟电信号
数字电信号
件
D/An
l计算机自动控制系统
第11章 A/D和D/A接口技术
表示分辨率。
第11章 A/D和D/A接口技术
(2)转换误差(conversion error) 指D/A转换器实际输出的模拟量与理论输出模拟量之间的差 值。 转换误差来源:各元件参数值的误差、基准电源的不稳 定、运算放大器的零漂等都是误差的来源。
D/A转换器的绝对误差(或绝对精度)是指加入最大数字量 (全1)时D/A转换器的理论值与实际值之差,该误差值应小 于LSB/2。
通常手册中给出的是 从输入从全0变为全 高或从全高变为全低 时转换的时间。
第11章 A/D和D/A接口技术
不同类型D/A转换器的建立时间多数是不同的,但一般 均在几十纳秒到几百微秒之间。
由于计算机的运行速度高于D/A转换器的建立时间,所 以无论是什么类型的D/A转换器,都必须在接口中安置锁存 器,锁存短暂的输出信号,为D/A转换器提供足够时间的、 稳定的数字信号。
AT89C51
+5V
第11章 A/D和D/A接口技术
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
(6) XFER :数据传送控制信号,输入,低电平有效。 (7)IOUT1:电流输出1,当DAC寄存器中各位为全“1”时,电
流最大;为全“0”时,电流为0。
第11章 A/D和D/A接口技术
(8)IOUT2 : 电 流 输 出 2, 电 路 中 保 证 IOUT1+IOUT2= 常 数。
(9)Rfb:反馈电阻端,片内集成的电阻为15kΩ。 (10)Vref:参考电压,可正可负,范围为-10~+10V。 (11)DGND:数字量地。 (12)AGND:模拟量地。
/CS、ILE和/WR1构成第一级输入锁 存。
图9-2 DAC0832引脚图
/WR2 : DAC 寄 存 器 写 选 通 输 入端,负脉冲有效。
当 /XREF = 0且 /WR2有效时 , 输入寄存器的数据被传送到 DAC寄存器中进行转换。
/XFER:数据传送控制信号, 低电平有效。与/WR2配合使 用,构成第二级锁存。
11.1.1 D/A转换器的主要技术指标 1) D/A转换器的主要参数
(1)分辨率 * 用输入二进制数码的位数给出。 如果数字量的位数为n,则可以说D/A转换器的分辨率为8
位。 ** 用D/A转换器能够分辨出来的最小电压。 若VREF=5V,n=8,则分辨率=5/256V=19.5mV。 显然,位数越多,分辨精度就越高。通常以其二进制位数
第11章 A/D和D/A接口技术
第11章 A/D和D/A接口技术
不管哪一种工作方式下,在已知DAC端口地址的情况下就可以 通过执行下面一个程序段,使DAC0832输出一个新的模拟量。
MOV DPTR,#0BFFFH ;送端口地址,假设为0BFFFH
MOV A,#data
;送欲转换的数据
MOVX @ DPTR,A
{
unsigned char a;
daccs=0;
while(1)
{ for(a=0;a<255;a++)
daccs=0; dacwr=0; while(1) { for (a=0;a<255;a++)
{ P0=a; delayms(1); }
for(a=255;a>0;a--) { P0=a;
delayms(1); } } }
//拉低 CS //拉低WR
//输出数据 //延时1ms
void main()
P2.6 DAC寄存器直通方式下的单缓冲连接方式
第11章 A/D和D/A接口技术
P2.5 输入寄存器直通方式下的单缓冲连接方式
第11章 A/D和D/A接口技术
P2.4 两个寄存器同时选通及锁存方式下的单缓冲连接方式
第11章 A/D和D/A接口技术
双缓冲型 双缓冲型主要用于同时输出多路模拟信号的场合。此 时,每一路模拟量输出需一片DAC0832,构成多个0832同步 输出系统。
vo
=
- VREF 24
( d3 23
+ d2 22
+ d121
+ d0 20
)
倒T形电阻网络D/A转换器
第11章 A/D和D/A接口技术
no
=
- V REF 2n
= - V REF 2n
n-1
( d n-1 2
+
d n-2 2 n-2
+
×××+
d121
+
d0 20
)
Dn
第11章 A/D和D/A接口技术
基本知识
D/A转换器的分类: 权电阻网络D/A转换器 倒梯形电阻网络D/A转换器 权电流型D/A转换器 权电容网络D/A转换器 开关树型D/A转换器
A/D转换器的分类: 直接A/D转换器 间接A/D转换器
权电阻网络D/A转换器
第11章 A/D和D/A接口技术
= -RF ( I0 + I1 + I2 + I3 ) = -RFiS
void delayms(uint xms) { uint i, j;
for(i=xms;i>0;i--) for(j=115;j>0;j--);
}
第11章 A/D和D/A接口技术
//定义/CS位 //定义/WR位
//延时约1ms
第11章 A/D和D/A接口技术
void main() { unsigned char a;
;写数据至端口
CPU执行MOVX @DPTR,A指令时,便产生写操作,更新了 DAC寄存器内容,输出一个新的模拟量。
第11章 A/D和D/A接口技术
根据CS、XFER和ILE是否连接于单片机的地址线,对 DAC0832的编程方法有两种。 (1)基于时序的编程方法
第11章 A/D和D/A接口技术
图11-6 DAC0832芯片的操作时序图
通方式、单缓冲方式及双缓冲方式。
直通型
接 高 电 平 接 低 电 平
第11章 A/D和D/A接口技术
第11章 A/D和D/A接口技术
单缓冲型 所谓单缓冲方式就是使DAC0832的两个输入寄存器中 有一个处于直通方式,而另一个处于受控的锁存方式,当然也 可使两个寄存器同时选通及锁存。
第11章 A/D和D/A接口技术
第11章 A/D和D/A接口技术
例11-1 使用DAC0832输出一个电压在0~5V的三角波(频 率任意),并在Proteus下仿真。
VOUT +5V
t 0
U1
19 XTAL1 18 XTAL2
9 RST
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
RP1
1
39 D0 2 38 D1 3 37 D2 4 36 D3 5 35 D4 6 34 D5 7 33 D6 8 32 D7 9
21
22
RESPACK-8