第11章 89C51单片机与DA转换器,AD转换器的接口
第11章STC89C52与AD、DA转换器的接口教材
Tankertanker Design
由于ADC0809片内无时 钟,可利用单片机提供 的地址锁存允许信号 ALE经D触发器二分频后 获得,ALE引脚的频率 是STC89C52单片机时钟 频率的1/6。如果单片 机时钟频率采用6MHz, 则ALE引脚的输出频率 为1MHz,再二分频后为 500kHz,符合ADC0809 对时钟频率的要求。当 然,也可采用独立的时 钟源输出,直接加到 ADC的CLK脚。
Tankertanker Design
(3)量化误差 量化过程引起的误差称为量化误差。是由于有限位数 字量对模拟量进行量化而引起的误差。理论上规定为一个 单位分辨率的-1/2 - +1/2LSB ,提高A/D位数既可以提高 分辨率,又能够减少量化误差。
(4)转换精度
转换精度定义为一个实际A/D转换器与一个理想A/D转 换器在量化值上的差值,可用绝对误差或相对误差表示。
Tankertanker Design
28引脚双列直插式封装图
Tankertanker Design
由于芯片内有三态输出缓冲电路,因而可直接与各种 典型的8位或16位的单片机相连,AD1674片内集成有高精
度的基准电压源和时钟电路,从而使该芯片在不需要任何
外加电路和时钟信号的情况下完成A/D转换,使用非常方 便。 AD1674是AD574A/674A的更新换代产品。它们的内 部结构和外部应用特性基本相同,引脚功能与AD574A/
Tankertanker Design
2. STC89C52与ADC0809的接口 单片机读取ADC的转换结果时,可采用查询和中断控制两 种方式。 (1)查询方式 查询方式是在单片机把启动信号送到ADC之后,执行其 他程序,同时对ADC0809的EOC脚不断进行检测,以查询ADC 变换是否已经结束,如查询到变换已经结束,则读入转换 完毕的数据。
MCS-51单片机与DA转换器的接口和应用
A/D和D/A转换接口技术难点•DAC0832工作方式•ADC0809工作方式要求掌握:•MCS-51单片机与D/A转换器的接口连接•MCS-51单片机与A/D转换器的接口连接•初始化编程及应用了解:•典型D/A转换器芯片DAC0832的管脚功能•典型A/D转换器芯片ADC0809的管脚功能3.1 MCS-51单片机与D/A转换器的接口和应用3.1.1典型D/A转换器芯片DAC0832DAC0832是一个8位D/A转换器芯片,单电源供电,从+5V~+15V均可正常工作,基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。
其内部结构如图9.1所示,它由1个8位输入寄存器、1个8位DAC寄存器和1个8位D/A转换器组成和引脚排列如图1所示。
图1 DAC0832引脚功能该D/A转换器为20引脚双列直插式封装,各引脚含义如下:(1)D7~D0——转换数据输入。
(2)——片选信号(输入),低电平有效。
(3)ILE——数据锁存允许信号(输入),高电平有效。
(4)——第一信号(输入),低电平有效。
该信号与ILE 信号共同控制输入寄存器是数据直通方式还是数据锁存方式:当ILE=1和=0时,为输入寄存器直通方式;当ILE=1和=1时,为输入寄存器锁存方式。
(5)——第2写信号(输入),低电平有效.该信号与信号合在一起控制DAC寄存器是数据直通方式还是数据锁存方式:当=0和=0时,为DAC寄存器直通方式; 当=1和=0时,为DAC寄存器锁存方式。
(6)——数据传送控制信号(输入),低电平有效 。
(7)Iout2——电流输出“1”。
当数据为全“1”时,输出电流最大;为全“0”时输出电流最小。
(8)Iout2——电流输出“2”。
DAC转换器的特性之一是:Iout1 +Iout2=常数。
(9)R fb——反馈电阻端既运算放大器的反馈电阻端,电阻(15KΩ)已固化在芯片中。
因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,R fb 即为运算放大器的反馈电阻,运算放大器的接法如图2所示。
51单片机(AD及DA转换器)PPT优秀课件
例2 产生锯齿波
MOV A,#00H ;起始值
MOV DPTR,#0FEFFH
MM:MOVX @DPTR,A ;送转换
INC A
NOP
NOP
NOP
;决定坡度
SJMP MM
15
DAC0832编程应用举例:例3产生三角波
MOV A,#00H
MOV DPTR,#0FEFFH
SS1: MOVX @DPTR,A ;送转换
ALE
6
WR
P2.0
12MHz
INT1 RD
锁存器 74LS373
8D Q0
G
Q1 Q2
OE
≥1 ≥1
D0-D7 ADDA ADDB ADDC
CLK START ALE OE EOC
1、先送通道号地址到A、B、C,由ALE信号锁存通道号地址,然后让START有 效启动A/D转换。 即执行一条MOVX @DPTR, A指令产生WR信号,使ALE、START有效,锁存 通道号并启动A/D转换。A/D转换完毕,EOC端发出一正脉冲,表示转换结束。
NOP
NOP
NOP
SS2: INC A
;等速上升
JNZ SS1
SS3: DEC A
MOVX @DPTR,A
NOP
NOP
NOP
;等速下降
JNZ SS3
SJMP SS2
三角波
同样的编程思路,若要产生 如下的梯形波也很容易:
梯形波
16
例4
正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化 的幅值(-5V~+5V)按8位D/A分辨率分为256个数值列成表格,然后依次 将这些数字量送入D/A转换输出。只要循环不断地送数,在输出端 就能获得正弦波输出。
《单片机原理及接口技术》第10章 AT89S51与ADC、DAC的接口设计
第10章 AT89S51与ADC、DAC的接口设计
图10-1 ADC0809的引脚图
8
第10章 AT89S51与ADC、DAC的接口设计
ADC0809共有28个引脚,采用双列直插式封装。其主要 引脚的功能如下:
IN0~IN7: 8个通道的模拟信号输入端。输入电压范围为 0~+5V。
ADDC、ADDB、ADDA:通道地址输入端。其中,C为 高位,A为低位。
15
第10章 AT89S51与ADC、DAC的接口设计
A/D 转换后得到的是数字量的数据,这些数据还应传送给 单片机进行处理。数据传送的关键问题是如何确认 A/D 转换是 否完成,只有确认 A/D 转换完成后,才能进行数据传送。确认 A/D转换是否完成可采用传送、查询和中断三种方式。
1)传送方式 对于某个 ADC 来说,其转换时间作为一项技术指标是已知 和固定的。例如,ADC0809的转换时间为128μs,相当于晶体 振荡器频率为6MHz的单片机的64个机器周期。可据此设计一个 延时程序,在A/D 转换启动后即调用这个延时程序,延时结束 ,说明转换已经完成了,就可以进行数据传送。
#include<reg51.h> #include<stdio.h> #include<intrins.h>
22
第10章 AT89S51与ADC、DAC的接口设计
sbit OE=P2^3; sbit EOC=P2^2; sbit ST=P2^1; sbit CLK=P2^0; sbit ADDRA=P2^5; sbit ADDRB=P2^6; sbit ADDRC=P2^7; void DelayMS(unsigned int ms) {
D0~D7:8位数字量输出端。为三态缓冲输出形式,能够 和AT89S51单片机的并行数据线直接相连。
第11章AT89S51单片机与DAC、ADC的接口
11.1 单片机扩展DAC概述
2.主要技术指标
(3)转换精度 理想情况下,转换精度与分辨率基本一致,位数越多精 度越高。但由于电源电压、基准电压、电阻、制造工艺等各 种因素存在误差。严格地讲,转换精度与分辨率并不完全一 致。两个相同位数的不同的DAC,只要位数相同,分辨率则 相同,但转换精度会有所不同。例如,某种型号的8位DAC 精度为± 0.19%,而另一种型号的8位DAC精度为± 0.05%。
11.1 单片机扩展DAC概述 11.2 DAC工作原理
CONTENTS
目
11.3 单片机扩展并行8位DAC0832设计
录
11.4 ADC工作原理
11.5 单片机扩展并行8位ADC0809设计
11.3.1 8位并行DAC 0832简介
1.DAC0832的引脚及逻辑结构
01 分辨率为8位。
OPTION
D0
R 2
U REF 23 R
(23 D3
22 D2
21 D1
20
D0 )
U REF 24
(23 D3
22 D2
21 D1 20 D0 )
19
11.2 DAC工作原理
权电阻网络
优点:电路简单 缺点:电阻值相差太大,难于保证精度,且大电阻不宜于集成 在IC内部
20
11.2 DAC工作原理
U
第11章-1 89C51单片机与DA转换器AD转换器的接口
在不要求多路输出同步的情况下,可采用单缓冲方式。 单缓冲方式的接口如图11-4:
图11-4
图11-4中,WR2*和XFER*接地,故DAC0832的“8位DAC寄存器”
(见图11-2)处于直通方式。“8位输入寄存器”受CS*和WR1* 端控制,且由译码器输出端FEH送来(也可由P2口的某一根口 线来控制)。因此,89C51执行如下两条指令就可在WR1*和CS* 上产生低电平信号,使0832接收89C51送来的数字量。 MOV R0,#0FEH MOVX @R0,A ;DAC地址FEH→R0 ;WR*和译码器FEH输出端有效
现说明DAC0832单缓冲方式的应用。
例11-1 DAC0832用作波形发生器。试根据图11-4,分别写出 产生锯齿波、三角波和矩形波的程序。 ① 锯齿波的产生 ORG 2000H START:MOV R0,#0FEH MOV A,#00H LOOP: MOVX @R0,A INC A SJMP LOOP
D3
01 fb
D2
D1
n 1 i
D0
运放输出电压 V I R B Di 2
0
2 转换原理——利用电子开关形成T型电阻网络的输出电流 I01,再利用反相运算放大器转换成输出电压Vout。
B R fb
V
REF
R
1
n
2. DAC的的单、双极性的电压输出 接口电路与DAC的具体应用有关。 (1)DAC用作单极性电压输出 单极性模拟电压输出,可采用图11-4或图11-8所示接线。 输出电压Vout与输入数字量B的关系: Vout = -(B/256)*VRFE 式中,B=b7·7+ b6·6+……+ b1·1+ b0·0; 2 2 2 2 B为0时,Vout也为0,输入数字量为255时,Vout为最大值, 单极性。
DA转换器与单片机的接口技术.ppt
D/A转换器的性能参数
• 数据转换器的温度系数:温度系数用于说 明转换器受温度变化影响的特性。增益温 度系数定义为周围温度变化1℃所引起的满 量程模拟值变化的百万分数(10-6/℃)
D/A转换器的性能参数
• 建立时间:为在数字输入端发生满量程的 变化以后,D/A的模拟输出稳定到最终值 1/2LSB时,所需要的时间。
/soft/appid/16287.html
5.5 D/A转换器与单片机的接口技术
• • • • •转换精度 温度系数 建立时间
D/A转换器的性能参数
• 分辨率(Resolution):表明DAC对模拟值的 分辨能力,它是最低有效位(LSB)所对应 的模拟值,确定了能由DAC产生的最小模 拟量变化。
D/A转换器的性能参数
• 精度(Accuracy)D/A精度表明D/A转换 的精确程度。它可分为绝对精度和相对 精度。绝对精度(绝对误差)指的是在 数字输入端加有给定的代码时,在输出 端实际测得的模拟输出值(电压或电流) 与应有的理想输出值之差。相对精度是 指满量程校准以后,任一数字输入的模 拟输出与他的理论值之差。 • 注意:精度和分辨率是两个截然不同的 参数。分辨率取决于转换器的位数,而 精度则取决于转换器和各部件的精度和
DAC0832引脚图
• • • • • 主要特性如下: 分辨率—8位 建立时间—1微秒 增益温度系数—20*10-6/℃ 输入—TTL电平 功耗—20mw 8
D7~ D0
位 输 入 寄 存 器
8 位 D/A 寄 存 器
8 位 D/A 转 换 器
VREF IOUT2 IOUT1
ILE
&
LE1
LE1
Rfb
• • • • • • • • • • • •
4 MCS51与DA和AD转换器的接口.pps
4 MCS-51与D/A及A/D转换器接口4.1 概述4.2 D/A转换器及其接口4.3 A/D转换器及其接口4.1 概述典型计算机控制系统示意图如图4-1所示。
4.2 D/A转换器及其接口4.2.1 D/A转换器工作原理4.2.2 D/A转换器性能指标4.2.3 DAC0832及其接口设计4.2.1D/A转换器工作原理D/A转换器的原理:D/A转换器的作用是把二进制数字量转换成相应的模拟量。
基本要求:输出电压Vout应该与输入数字量成正比既:Vout =B×VRV R:参考电压;B为数字量,常为一个二进制数。
B=bn-1×2n-1+bn-2×2n-2+…+b1×21+b0×20式中,bn-1为B的最高位;b0为B的最低位。
原理:“按权展开,然后相加”数字量的权:20、21、22 、……..常用T型电阻网络型D/A转换器如图4-2 所示。
把输入数字量中每位都按其权值分别转换成模拟量,并通过运算放大器求和相加。
根据克希荷夫定律,如下关系成立:=-B×V REF/2nVout4.2.2 D/A转换器性能指标l分辨率(Resolution)辨率是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。
l转换精度(Conversion Accuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。
l偏移量误差(Offset Error)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。
l线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。
4.2.3 DAC0832及其接口设计1.DAC0832内部结构及引脚功能(1)内部结构DAC0832内部由三部分电路组成(如图4-3所示)。
“8位输入寄存器”、“8位DAC寄存器”、“8位D/A转换电路”由8位T型电阻网络和电子开关组成,(2)引脚功能DAC0832共有20条引脚,双列直插式封装。
第11章 51单片机与DA、AD 转换器的接口综述
15
(3)转换精度
理想情况下,转换精度与分辨率基本一致,位数越多 精度越高。 实际,由于电源电压、基准电压、电阻、制造工艺等 各种因素存在着误差。因此,转换精度与分辨率并不完全 一致。 位数相同,分辨率则相同,但相同位数的不同转换器转换
精度会有所不同。
例如,某种型号的8位DAC精度为0.19%,而另一种 型号的8位DAC精度为0.05%。
(4)EA 为片内、片外程序存储器的选择控制信号。
AT89S51的4个并行I/O口,如果用于片外系统并行扩展的 需要,真正作为数字I/O用,就剩下P1和P3的部分口线了。
8
A/D转换器(ADC) D/A转换器(DAC)用途
A/D转换器(ADC)--将模拟量转换成数字量的器件
用在单片机测控系统的前向通道中:
(2)数据总线(Data Bus,DB):用于单片机与外部存储
器之间或与I/O接口之间传送数据,数据总线是双向的。 (3)控制总线(Control Bus,CB):控制总线是单片机发 出的各种控制信号线。
5
1.P0口作为低8位地址/数据总线
AT89S51受引脚数目限制,P0口既用作低8位地址总线,又 用作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/O接口寄存器时: 先发出低8位地址送地址锁存器锁存,锁存器输出作为系统 的低8位地址(A7~ A0)。 随后,P0口又作为数据总线口(D7~ D0),如图11-2所示。 2.P2口的口线作为高位地址线
第11章
51单片机与D/A、 A/D 转换器的接口
1
第11章
目录
11.0 51单片机片外并行扩展(接口)结构 11.1 AT89S51单片机与DAC的接口
第9章 MCS-51单片机与DA、AD转换器的接口
DI0~DI7(DI0为最低位):8位数字量输入端。 VCC ILE:数据允许控制输入线,高电平有效。 ILE WR2 XFER CS :片选信号。 D14 WR1 :写信号1。 D15 D16 WR2 :写信号线2。 D17 XFER :数据传送控制信号输入线,低电平有效。 Iout1 Iout2 R :片内反馈电阻引出线
VREF In-1= n 2 R
第9章 MCS-51单片机与D/A、 A/D转换器的接口
流向运算放大器的反向端的总电流I为分代码为1的各支 路电流之和,即: n 1 n 1 VREF diVREF I=I0+ I1+ I2+… + In-2+ In-1= di I i = ni =D n 2 R 2 R i 0 i 0 经运算放大器转换成输出电压VO,即 VR RF VO = - IRF = -D n 2 R 取RF=R,则
+5V
U3:B
4
LM324
-5V
-5V
双缓冲方式的连接
第9章 MCS-51单片机与D/A、 A/D转换器的接口
2.DAC0832的应用 D/A转换器在实际中经常作为波形发生器使用,通过 它可以产生各种各样的波形。D/A转换器产生波形的原理如 下:利用D/A转换器输出模拟量与输入数字量成正比这一特
点,通过程序控制CPU向D/A转换器送出随时间呈一定规律
第9章 MCS-51单片机与D/A、 A/D转换器的接口
方波: ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV DPTR,#7FFFH LOOP:MOV A,#00H MOVX @DPTR,A ACALL DELAY MOV A,#0FFH MOVX @DPTR,A ACALL DELAY SJMP LOOP DELAY:MOV R7,#0FFH DJNZ R7,$ RET END
第11章 DA、AD转换的接口
(2)编写产生图11-5的三角波程序。
图11-5 DAC0832产生的三角波输出
20
产生三角波的程序如下:
#include <adsacc.h>
#define DAC0832 XBYTE[0x7fff] /* 0832端口地址*/ #define uchar unsigned char /*定义uchar代表单字节无符号数*/
13
2.AT89S51单片机与DAC0832的接口电路设计
设计接口电路时,常用单缓冲方式或双缓冲方式的单极性 输出。 (1)单缓冲方式 指DAC0832内部的两个数据缓冲器有一个处于直通方式, 另一个处于受AT89S51单片机控制的锁存方式。在实际应用 中,如果只有一路模拟量输出,或虽是多路模拟量输出但并
每一个上升斜边要分成256个小台阶,改变延时,则可以改变
锯齿波的频率。
17
图11-4 DAC0832产生的锯齿波输出
产生锯齿波的参考程序如下:
#include <adsacc.h> #define DAC0832 XBYTE[0x7fff] /* 0832端口地址*/ #define uchar unsigned char /*定义uchar代表单字节无符号数*/ #define uint unsigned int /*定义uint无符号字*/ void stair(void ); {uchar i; while(1) {for(i=0;i<255;i++);/*锯齿波输出值,最大为255*/ { DAC0832=i; /*DAC转换输出*/ } } }
时需要转换为模拟信号输出。数字量转换成模拟量的器件
称为D/A转换器(DAC)。
第11章 MCS-51单片机与AD、DA接口
8
第11章 MCS-51单片机与AD、DA转换器接口
并行输入D/A芯片及接口技术
并行输入D/A转换芯片——DAC0832
DAC0832是NS公司生产的DAC0830系列产品中的 一种8位CMOS数模转换芯片,其特点如下: ① 8位并行D/A转换; ② 片内二级数据锁存,提供数据输入双缓冲、单缓冲、 直通三种工作方式; ③ 电流输出型芯片(需外接运放) ,电流稳定时间为1μs,只 需在满量程下调整其线性度; ④ 单电源(+5 V~+15 V,典型值+5 V)供电; ⑤具有双缓冲控制输出; ⑥参考电压为-10~+10V
31
第11章 MCS-51单片机与AD、DA转换器接口
A/D转换器的选择
(2)A/D转换器转换速率的确定
如用转换时间为100s的集成A/D转换器,其转换速率 为10千次/秒。根据采样定理和实际需要,一个周期的波 形需采10个点,最高也只能处理1kHz的信号。把转换时间 减小到10s,信号频率可提高到10kHz。
第11章 单片机与A/D、D/A接口
11.1 MCS-51与DAC的接口
11.2 MCS-51与ADC的接口
11.3 MCS-51与V/F的接口
1
第11章 MCS-51单片机与AD、DA转换器接口
第11章单片机与A/D、D/A转换器的接口
主要内容: A/D、D/A转换器及其接口技术。通过本章 的学习,了解模拟输入/输出通道设计的基本原 理和方法,掌握常用A/D、D/A芯片及其与 MCS-51单片机的接口电路与程序设计。 重点和难点: 不同方式的A/D、D/A芯片与MCS-51的接 口及其程序设计。
28
第11章 MCS-51单片机与AD、DA转换器接口
STC89C52与AD、DA转换器的接口
11.1.2 STC89C52与并型8位A/D转换器 ADC0809的接口
1II.NN34ADC1208022987 芯片IINN21 ---逐•分次辨比率为较8型位ADC芯片
IN5 3
26
IN0
IN6 4
25
A
•转换时间100μ S
IN7 5
24
B
START 6
23
C
•工作量程为0~+5V
ADC0809
工作时序
START正脉冲启动AD转换
ALE锁存ADDA、ADDB、ADDC
EOC由高变低(AD启动后) 保持低电平(转换期间) 由低变高(转换结束)
OE正脉冲,打开三态门输出
2. STC89C52与ADC0809的接口
单片机读取ADC的转换结果时,可采用查 询和中断控制两种方式。
(1)查询方式
查询方式是在单片机把启动信号送到 ADC之后,执行其他程序,同时对ADC0809的 EOC脚不断进行检测,以查询ADC变换是否已 经结束,如查询到变换已经结束,则读入转 换完毕的数据。
第十一章 STC89C52与A/D、D/A转换器的接口
11.1 STC89C52与A/D转换器的接口 11.2 STC89C52与D/A转换器的接口
D/A转换器(Digital to Analog Converter)——能把数字 量转换为模拟量的电子器件(简称为DAC)。
A/D转换器(Analog to Digital Converter)——能把模拟 量转换成相应数字量的电子器件(简称为ADC)。
11.1 STC89C52与A/D转换器的接口
1.概述
A/D转换器把模拟量转换成数字量, 以便于单片机进行数据处理。A/D转换一般 要经过采样、保持、量化及编码4个过程。 在实际电路中,有些过程是合并进行的, 如采样和保持,量化和编码在转换过程中 是同时实现的。
第11章89C51单片机与DA、AD转换器的接口
1、D/A转换器概述
❖将数字量转换为模拟量,以便操纵控制对象。
单片机
D/A转换 控制对象
❖使用D/A转换器时,要注意区分:
* D/A转换器的输出形式; * 内部是否带有锁存器。 ❖D/A转换器集成电路芯片种类很多:
按输入的二进制数的位数分类,有八位、十位、十二位和十六位等。 按输出是电流还是电压分类,分为电压输出器件和电流输出器件。
MOV B,A
;存数
RETI
;返回
查询方式:
ORG 0000H
;主程序入口地址
AJMP MAIN
;跳转主程序
ORG 1000H
;中断入口地址
MAIN: MOV DPTR,#0007H ;指向0809 IN7通道地址
MOVX @DPTR,A ;启动A/D转换
L1: JB P3.3 L1
;查询
MOVX A,@DPTR ;读A/D转换结果
±2.5V,±5V和±10V; ✓内含高稳定的基准电压源,可方便地与4位、8位或16位微 处理器接口; ✓双电源工作电压:±12V~±15V。
二、A/D转换器接口
❖A/D转换器的概述 ❖典型芯片ADC0809 ❖ADC0809的应用 ❖与AD1674的接口设计 ❖与MC14433的接口设 计
1、A/D转换器的概述
多路同步输出,必须采用双缓冲同步方式。
1#DAC0832占有两个端口地址FDH和 FBH。 2#DAC0832的两个端口地址为FEH和 FBH
例11-2 设AT89C51单片机内部RAM中有两个长度为20的数据块, 其起始地址为分别为addr1和addr2,请根据图11-7所示,编写能把 addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。程序中 addr1和addr2中的数据,即为绘图仪所绘制曲线的x、y坐标点。
第8章 AT89S51与DA转换器、AD转换器的接口
8.1 8位DAC0832芯片介绍(续)
2. DAC0832的引脚
DI0~DI7:8位数字信号输入端
CS
片选端
ILE
数据锁存允许控制端
WR1
输入寄存器写选通控制端
当CS=0、ILE=1、WR1=0时 数据信号被锁存于输入寄存器
XFER 数据传送控制
WR2 IOUT1
Vcc DGND AGND
电源输入端,范围为+5V~+15V。 数字信号地
模拟信号地
8.1 8位DAC0832芯片介绍(续)
3. DAC0832的逻辑结构
用于存放CPU送 来的数字量,使 其得到缓冲和锁 存,由LE1控制。
存放待转换 的数字量, 由LE2控制。
由T型电阻网络和 电子开关组成, 输出和数字量成 正比的模拟电流。
图8-2 DAC0832的逻辑结构
8.2 AT89S51与8位DAC0832的接口
1. AT89S51与DAC0832的接口电路举例(总线方式)
8.2 AT89S51与8位DAC0832的接口(续)
2. DAC0832地址范围
P2 P2.6 P2.5 P2.4 P2.3 .7
0
10
1
0
P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
RET
8.4 AT89S51与ADC0809的接口
1. AT89S51与ADC0809的接口电路举例
9.4 AT89S51与ADC0809的接口
2. 程序清单
ADC: MOV MOV
DPTR,#0CFF8H ;端口地址送DPTR
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV
MOVX INC SETB
A,@R1
@RO,A R1 RS0
;addr1中数据送A
;addr1中数据送1#DAC0832 ; 修改addr1指针0区R1 ; 转1区。
R0,#0FEH ;1区R0指向2#DAC0832数字量 ;控制端口 MOV A,@R1 ;addr2中数据送A MOVX @R0,A ;addr2中数据送2#DAC0832 MOV INC INC R1 R0 ;修改addr2指针1区R1 ;1区R0指向DAC的启动D/A转换端口 ;启动DAC进行转换
(至0.01%)。
输入方式:双缓冲输入; 输出方式:电压输出,通过硬件编程可输出+5V,+10V, ±2.5V,±5V和±10V; 内含高稳定的基准电压源
可方便地与4位、8位或16位微处理器接口;
双电源工作电压:±12V~±15V。
1.引脚介绍
标准28脚双列直插式。图11-9为引脚图,表11-1为其引脚说明。 (1)内部功能结构及应用特性 图11-10是AD667内部功能结构框图。 应用特性: ① 模拟电压输出范围的配置 AD667通过片外引脚的不同连接,可获得不同的输出电压量程 范围。
第11章
89C51单片机与D/A转换器、 A/D转换器的接口
非电物理量(温度、压力、流量、速度等),须经传感器 转换成模拟电信号(电压或电流),必须转换成数字量,才能 在单片机中处理。 数字量,也常常需要转换为模拟信号。 A/D转换器(ADC):模拟量→数字量的器件。 D/A转换器(DAC):数字量→模拟量的器件。 只需合理选用商品化的大规模ADC、DAC芯片,了解引脚及 功能以及与单片机的接口设计。 11.1 11.1.1 89C51与DAC的接口 D/A转换器概述
MOVX @R0,A
CLR RS0 ;返回0区 DJNZ R2,NEXT ;若未完,则跳NEXT LJMP DTOUT ;若送完,则循环 END
3.DAC0832的单、双极性的电压输出
有些应用场合需要DAC0832为单极性模拟电压输出,而有些场合 则要求DAC0832双极性模拟电压输出,下面简单介绍。 (1)DAC用作单极性电压输出。 在需要单极性模拟电压环境下,可以按照图11-3所示接线。由
8位DAC精度为0.05%。
11.1.2
AT89C51与8位DAC0832的接口
1. DAC0832芯片介绍 (1)DAC0832的特性 美国国家半导体公司产品,具有两个输入数据寄存器的8位 DAC,能直接与89C51单片机相连。主要特性如下:
* 分辨率为8位; * 电流输出,稳定时间为1s;
* 可双缓冲输入、单缓冲输入或直接数字输入;
图11-5 ③ 矩形波的产生 ORG 2000H START: MOV R0,#0FEH
LOOP: MOV MOVX LCALL MOV
A,#data1 @R0,A ;置矩形波上限电平 DELAY1 ;调用高电平延时程序 A,#data2
MOVX LCALL SJMP
@R0,A DELAY2 LOOP
(2)DAC用作双极性电压输出。
在需双极性电压输出的场合下,可以按照图11-8所示接线。图 中,DAC0832的数字量由单片机送来,A1和A2均为运算放大器,
vo通过2R电阻反馈到运算放大器A2输入端,其他如图11-8所
示。G点为虚拟地,可由基尔霍夫定律列出方程组,并解得
由上式可知,在选用+VREF时,若输入数字量最高位b7为“1”, 则输出模拟电压vo为正;若输入数字量最高位为“0”,则输 出模拟电压vo为负。在选用-VREF时,vo输出值正好和选用 +VREF时极性相反。
“8位DAC寄存器” 存放待转换的数字量,由LE2*控制;
“8位D/A转换电路”由T型电阻网络和电子开关组成,T型电阻 网络输出和数字量成正比的模拟电流。因此,DAC0832通常需 要外接I-V转换的运算放大器电路,才能得到模拟输出电压。
2. AT89C51与DAC0832的接口电路设计 设计AT89C51单片机与DAC0832的接口电路时,常用单缓 冲方式或双缓冲方式的单极性输出。 (1)单缓冲方式
于DAC0832是8位的D/A转换器,由基尔霍夫定律列出方程组,
故可得输出电压vo与输入数字量B的关系为 式中,B = 27b7+ 26b6+…+21b1+20b0;VREF/256为一常数。 显然,vo和输入数字量B成正比。B为0时, vo也为0,输入数字 量为255时, vo为最大值,输出电压为单极性。
DAC0832的两个数据缓冲器有一个处于直通方式,另一个
处于受控的锁存方式。 在不要求多路输出同步的情况下,可采用单缓冲方式。
单中,WR2*和XFER*接地,故DAC0832的“8位DAC寄存器”
(见图11-2)处于直通方式。“8位输入寄存器”受CS*和WR1* 端控制,且由译码器输出端FEH送来(也可由P2口的某一根口 线来控制)。因此,89C51执行如下两条指令就可在WR1*和CS* 上产生低电平信号,使0832接收89C51送来的数字量。 MOV R0,#0FEH MOVX @R0,A ;DAC地址FEH→R0 ;WR*和译码器FEH输出端有效
效位)时所需的时间。电流输出时间较短,电压输出再加上I-V
转换时间,因此建立时间要长一些。快速DAC可达1s以下。 (3)精度 理想情况,精度与分辨率基本一致,位数越多精度越高。 但由于电源电压、参考电压、电阻等各种因素存在着误差,精
度与分辨率并不完全一致。
位数相同,分辨率则相同,但相同位数的不同转换器精度 会有所不同。例如,某型号的8位DAC精度为0.19%,另一型号的
图11-4
输入数字量从0开始,逐次加1,为FFH时,加1则清0,模拟
输出又为0,然后又循环,输出锯齿波,如图11-4。
每一上升斜边分256个小台阶,每个小台阶暂留时间为执
行后三条指令所需要的时间。
② 三角波的产生 ORG 2000H START: MOV R0,#0FEH MOV A,#00H UP: MOVX @R0,A ;三角波上升边 INC A JNZ UP DOWN: DEC A ;A=0时再减1又为FFH MOVX @R0,A JNZ DOWN ;三角波下降边 SJMP UP
现说明DAC0832单缓冲方式的应用。 例11-1 DAC0832用作波形发生器。试根据图11-3,分别写出
产生锯齿波、三角波和矩形波的程序。
① 锯齿波的产生
ORG
START:MOV MOV LOOP: MOVX INC SJMP
2000H
R0,#0FEH ;DAC地址FEH→ R0 A,#00H ;数字量→A @R0,A A LOOP ;数字量→D/A转换器 ;数字量逐次加1
数字量全为“0”时,IOUT1最小。
IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数。
Rfb:外部反馈信号输入端, 内部已有反馈电阻Rfb,根据需要
也可外接反馈电阻。 Vcc:电源输入端,可在+5V~+15V范围内。
DGND:数字信号地。
AGND:模拟信号地。 “8位输入寄存器”用于存放CPU送来的数字量,使输入数字 量得 到缓冲和锁存,由LE1*控制;
VREF vo ( B 128) 128
图11-8
11.1.3
89C51与12位电压输出型D/A转换器AD667的接口设计
8位DAC分辨率不够,可采用10位、12位、14位、16位的DAC。本 节介绍89C51与12位D/A转换器AD667的接口设计。 AD667是分辨率为12位的电压输出型D/A转换器,建立时间≤3s
为1#和2#DAC0832的数字量输入控制端口地址,而FFH为启动D/A
转换的端口地址。 图11-7中DAC输出的VX和VY信号要同步,控制X-Y绘图仪绘 制的曲线光滑,否则绘制的曲线是阶梯状。控制程序如下:
图11-7
例11-2 设AT89C51单片机内部RAM中有两个长度为20的数据块,
其起始地址为分别为addr1和addr2,请根据图11-7所示,编写 能把addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。
换电路。
(2)D/A转换器内部是否带有锁存器 由于D/A转换需要一定的时间,在这段时间内D/A转换器输入 端的数字量应保持稳定,为此应当在D/A转换器数字量输入端 的设置锁存器。目前的D/A转换器内部大多带有锁存器,有的 还具有双重或多重数据缓冲电路。
2.主要技术指标
(1)分辨率
输入给DAC的单位数字量变化引起的模拟量输出的变化,通 常定义为输出满刻度值与2n之比。显然,二进制位数越多,分 辨率越高。 例如,若满量程为10V,根据定义则分辨率为10V/2n。设8
位D/A转换,即n=8,分辨率为10V/2n =39.1mV,该值占满量程
的0.391%,用1LSB表示。 同理:10位 D/A:1 LSB=9.77mV=0.1% 满量程
12位 D/A:1 LSB=2.44mV=0.024% 满量程 根据对DAC分辨率的需要,来选定DAC的位数。
(2)建立时间
描述DAC转换快慢的参数,表明转换速度。 定义:为从输入数字量到输出达到终值误差(1/2)LSB(最低有
ORG 2000H addr1 DATA 20H ; 定义存储单元 addr2 DTOUT: MOV DATA 40H ; 定义存储单元 0区R1指向addr1 R1,#addr ;
MOV SETB MOV
CLR NEXT: MOV
R2,#20 ; 数据块长度送0区R2 RS0 ; 切换到工作寄存器1区 R1,#addr2 ; 1区R1指向addr2
单极性工作时,可以获得0~5V和0~10V的电压。