单片机A/D、D/A转换接口.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机A/D、D/A转换接口

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转换  

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档