第9章 80C51单片机模拟量接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章 80C51单片机的模拟量接口
9.1 并行D/A转换器与单片机的接口
1. D/A转换原理 D/A转换的目的是把输入的数字信号转换成 与此数字量大小成正比的模拟量
Vout C(Dn1 2n1 D2 22 D1 21 D0 20 )
其中C为一个常数。
Ifb D0 I0 D1 I1 D2 I2 D3 I3
VCC:电源,可在+5~+15V间选择。
GND:地信号。
输入数据值
Vout Iout1 R fb Vref
256
(2)DAC0832工作方式 ➢直通方式
➢单缓冲方式
使用DAC0832内部的锁存器或寄存器中任意一个
工作在锁存方式。
➢双缓冲方式
__
将ILE接高电平,将地址译码后控制CS引脚和
下图U2的CS*连接P2.5,其输入寄存器地址为 0DFFFH, U3的CS*连接P2.6,其输入寄存器地址为 0BFFFH, 两个DAC0832的XFER*连接在一起接到P2.7,其 地址为7FFFH。
ORG
0000H
AJMP MAIN_START
ORG
0100H
MAIN_START:
MOV DPTR,#7FFFH MOV A,#DATA MOVX @DPTR,A CJNE Rn,#DATA,REL
;2个机器周期,执行时间为2µs ;1个机器周期,执行时间为1µs ;2个机器周期,执行时间为1µs ;2个机器周期,执行时间为2µs
则以上程序的执行时间共为7个机器周期,即7µs, 需要三角波的周期为1kHz,则其周期为1ms,上升 时间为500µs。峰峰值为4V,则DAC0832的最大值 为4V,最小值为0V,参考电压为5V,4V对应的数字 量是4×256/5≈205。如果设置DAC0832每次更新输 出的间隔为10µs,从零开始,则每次增加4,则增加 50次后,数字量为200,对应输出为3.9V,然后再递 减到0,如此重复即可近似符合要求。
0Vout IfbRfb Vout R fb (D0 I 0 D1 I 1 D2 I 2 D3 I 3)
R fbI (D0 1/16 D11/ 8 D2 1/ 4 D3 1/ 2)
Vref 24
R fb (D0 D1 21 D2 22 D3 23 ) R
2. DAC主要性能指标
允许8位数据总线上的数据输入到输入锁存器中,为 高__,__锁存输入锁存器中的数据。 WR2:DAC数据寄存器写控制信号,低电平有效。 为低,且/XFER为低电平时,输入锁存器中的数据
传输到DAC数据寄存器中,并自动开始进行D/A转换。
X__F_E_R_:数据传输控制信号,低电平有效。与/WR2 一起控制输入数据锁存器和DAC数据寄存器之间的 数据传输。
DI7~DI0:8位数据输入总线。
Iout1:DAC电流输出1端。
Iout2:DAC电流输出2端。 Iout1 + Iout2 =DAC满输出电流。
Rfb:内部反馈电阻引脚。
Vref:参考电压输入端,可在-10V~+10V范 围内选择,参考电压直接影响D/A转换的精 度,需要外部提供稳定的电压,在精度要求 高的场合需要外接高精度稳压器件,要求不 高时,可以直接与到电源引脚连接。
MOV R0,#30H
;设置x数据指针
MOV R1,#50H
;设置y数据指针
MOV R2,#0
;清计数器为零
;输出x数据到DAC0832 U2的输入寄存器
GOON:
MOV DPTR,#0DFFFH
(1)D/A转换时间:D/A转换时间是指从一个数字量 加载到DAC的数据输入端到DAC输出电压达到 其最终电压±1/2LSB范围内的时间。一般在几 十纳秒到几百微秒的范围。 (2)分辨率:输出电压值之间的最小差值就是 DAC的分辨率。 (3)D/A转换精度:D/A转换器实际输出电压与理 论输出电压的偏差。通常以满输出电压VFS的百 分数给出。如,精度为±0.1%是指最大输出误 差为VFS的0.1%,如果VFS为5V,则最大输出误 差为5mV。
3. 8位D/A转换器DAC0832
(1)DAC0832简介
DAC0832是一个8位T形电阻网络D/A转换 器,转换时间为1µs,可以工作在双缓冲模式、 单缓冲模式和直通模式。输出为模拟电流,在 应用中需要外接运算放大器转成电压输出。
__ CS:片选信号输入端,低电平有效。
I_L_E_:_ 输入锁存使能信号,高电平有效。 WR1:输入锁存器写选通信号,低电平有效;为低,
NOP
;插入空操作,1个机器周期
NOP
;插入空操作,1个机器周期
NOP
;插入空操作,1个机器周期
NOP
;插入空操作,1个机器周期
CJNE R1, #51, UP;判断是否到达最大值,2个机器周期
开始输出三角波的下降沿
DOWN: CLR C SUBB A,#4
MOVX @DPTR, A
INC R1
____
__ ____
XFER引脚,但是需要给CS和XFER分配不同的地
____ ____
___
址,把WR1和WR2接到处理器的WR引脚。
(3)DAC0832与80C51单片机接口应用举例
1)单缓冲方式的应用举例 例: 在5V电压的工作系统中,通过80C51单片机 控制DAC0832输出峰峰值为4V,频率为1kHz的 三角波。
ORG 0000H
AJMP MAIN_START
ORG 0100H
MAIN_START:
MOV DPTR,#7FFFH;
MOV A,#0
MOV R1,#0
;开始输出三角波的上升沿
UP: MOVX @DPTR,A ;2个机器周期
ADD A,#4
; 1个机器周期
INC R1
;记录输出次数,1个机器周期
NOP
NOP
NOP
CJNE R1,#102,DOWN
MOV R1,#0
ቤተ መጻሕፍቲ ባይዱSJMP UP
2)双缓冲方式的应用举例 例: 有一种绘图仪,输入两个模拟量x,y则可以 在仪器上根据输入模拟量的变化绘制出x,y的关 系曲线图。 有20组x,y值分别存在地址30H,50H开始的数 据存储器中,编程绘制此组数据的关系曲线图。
相关文档
最新文档