单片机教案(第8章A-D、D-A转换接口)

上传人:lil****ar 文档编号:272057495 上传时间:2022-04-01 格式:DOC 页数:14 大小:186KB
返回 下载 相关 举报
单片机教案(第8章A-D、D-A转换接口)_第1页
第1页 / 共14页
单片机教案(第8章A-D、D-A转换接口)_第2页
第2页 / 共14页
单片机教案(第8章A-D、D-A转换接口)_第3页
第3页 / 共14页
单片机教案(第8章A-D、D-A转换接口)_第4页
第4页 / 共14页
单片机教案(第8章A-D、D-A转换接口)_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《单片机教案(第8章A-D、D-A转换接口)》由会员分享,可在线阅读,更多相关《单片机教案(第8章A-D、D-A转换接口)(14页珍藏版)》请在金锄头文库上搜索。

1、第九章 A/D、D/A转换接口 模/数、数/模转换技术在数字测量和数字控制技术中非常重要。本章着重从应用角度分析几种典型的A/D,D/A电路芯片及与8031的接口逻辑以及相应的程序设计。9-1 数模D/A转换器DAC08329.1.1 DAC0832芯片的结构原理一、芯片结构DAC0832是CMOS工艺制造的8位单片D/A转换器,芯片采用的是双列直插封装结构。二、 功能特点1、 分辨率为8位。2、 只需在满量程下调整其线性度。3、 可与所有的单片机或微处理器直接接口,也可单独使用。4、 电流稳定时间1ms。 5、 可以双缓冲(速度快),单缓冲可直通数据输入。6、 低功耗,200mW。7、 逻辑

2、电平输入与TTL兼容。8、 单电源供电(+5V或+15V)。三、引脚功能1、 DI0DI7:8位数字量数据输入端(内部为8位数据寄存器)。2、 AGND:模拟信号输出的接地端。3、 DGND:数字信号输入的接地端。4、 、:模拟电流信号输出端,与的和为常数且与DAC寄存器的内容线性变化。5、 :工作电源。6、 :反馈信号输入端。芯片内已有反馈电阻。在片外一般接运放的输出端。7、 :基准电压输入端。(由外部电路提供的,可在-10V+10V内选取)8、 ILE:数据锁存允许信号输入端,高电平有效。9、 :8位数据寄存器的选通信号输入端,低电平有效。10、:输入寄存器写选通信号输入端,低电平有效。1

3、1、:DAC寄存器写选通信号输入端,低电平有效。12、:数据转移控制信号输入端,低电平有效。13、:为内部两个寄存器的输入锁存端。 当=ILE=0时,8位输入寄存器的输出跟随输入变化;当=ILE=1时,数据锁存在输入寄存器中,不再变化。 当=0时,8位DAC寄存器的输出跟随输入变化; 当=1时,数据锁存在DAC寄存器中,不再变化。 因此:由ILE、确定,由、确定。四、工作原理1、DAC0832是电流型D/A转换电路,输入数字量,输出模拟量,通过运算放大器将电流信号转换成单端电压信号输出。2、由于输出的模拟信号,极易受到电源和数字信号的干扰而发生波动,因此为提高模拟信号的精度,一方面将“数地”和

4、“模地”分开(各自独立),另一方面采用了高精度的基准电源与“模地”配合使用。9.1.2 MCS-51单片机与DAC0832的接口 一般有两种接口方式:1、单缓冲器连接方式;2、双缓冲器连接方式。一、单缓冲器连接方式DAC0832内部的两个寄存器 (输入/DAC) 中的任一个都是处于常通状态的(即共用一个地址。见上图用P2.7同时做输入/DAC寄存器的地址7FFFH0111 1111 1111 1111B),相当于是一个寄存器。当数据进入了输入寄存器后,同时也写入了DAC寄存器,故称单缓冲器连接方式。单缓冲器软件编程实例 设计一个生成锯齿波的程序WAVE:MOV DPTR,#7FFFH ;提供一

5、个地址给输入/DAC寄存器MOV A,DATA0 ;取数字量的初值LOOP:MOVX DPTR,A ;将数字量送入DAC0832进行A/D转换CJNE A,DATAEND,MORE;不为最大值就转到MORE处;若为最大值程序往下执行SJMP WAVE ;转到WAVE处,继续转换MORE:INC A ;数字量加1,SJMP LOOP ;将增大的数字量继续送入DAC0832进行转移二、双缓冲器连接方式(以两片DAC0832为例)1、双缓冲器的工作特点 先将要转换的数字量保存在输入寄存器中,在适当的时候,再由输入寄存器送至DAC寄存器锁存并进行D/A转换输出。2、双缓冲器的连线特点 输入寄存器和DA

6、C寄存器各占用一个I/O地址,所以每片DAC0832芯片工作在双缓冲方式时需要两个地址。 1#DAC0832的输入寄存器用P2.7选通;(单独地址,设为1#地址7FFFH0111 1111 1111 1111B) 2#DAC0832的输入寄存器用P2.6选通;(单独地址,设为2#地址0BFFFH1011 1111 1111 1111B) 1#和2#DAC0832的DAC寄存器合用P2.5选通;(共用地址,设为3#地址0DFFFH1101 1111 1111 1111B)双缓冲器编程实例 对应上电路,试编写一个输出一组同步信号的程序设计思路:1、由于上电路的两个输入寄存器不同地址,因此可以将两组

7、不同的数字信号分时输入给这两个输入寄存器中;2、又由于上电路的两个DAC寄存器同地址,因此又可以同时将存放在输入寄存器中的数据下传给各自的DAC寄存器进行D/A转换,同步输出。 (即:两路数字信号输入不同步,而转换后的两路模拟信号输出同步)编制程序:MOV DPTR,#7FFFH ;提供1#输入寄存器的地址(P2.7=0)MOV A,DATA1 ;将一组数字信号送入累加器AMOV DPTR,A ;再转送到1#输入寄存器中MOV DPTR,#0BFFFH ;提供2#输入寄存器的地址(P2.6=0)MOV A,DATA2 ;将另一组数字信号送入累加器AMOV DPTR,A ;再转送到2#输入寄存器

8、中MOV DPTR,#0DFFH ;提供3#地址(即1#和2#DAC寄存器的地址P2.5=0)MOV DPTR,A ;同时转换后两路模拟量,实现同步输出9-2模数A/D转换器ADC08099.2.1 ADC0809芯片的结构原理一、芯片结构 ADC0809是COMS工艺、采用逐次逼近法的8位A/D转换芯片,共有28个引脚,双列直插式封装,片内除A/D转换部分外,还有多路模拟开关部分。二、功能特点1、 采用了8路模拟量的分时输入(模拟开关),最多允许8路模拟量分时输入。2、 共用一个A/D转换器进行模/数转换。3、 内部主要有四大部分组成: 8路模拟开关; 8位A/D转换器; 三态输出锁存器;

9、地址锁存译码器。三、引脚功能1、 IN0IN7:8个输入通道的模拟量输入端。2、 D0D7:8位数字量输出端。3、 START:转换的启动信号输入端。加上正脉冲后,A/D转换才开始进行。 (在正脉冲的上升沿,所有内部寄存器清0;在正脉冲的下降沿,开始进行A/D转换。在此期间START应保持低电平。)4、 ALE:地址锁存信号输入端。高电平时把3个地址信号A、B、C送入地址锁存器,并经过译码器得到地址输出,以选择相应的模拟输入通道。5、 A、B、C:转换通道的地址(8位模拟开关的地址)信号输入端。ALE锁存信号CBA接通的通道1000IN01001IN11010IN21011IN31100IN4

10、1101IN51110IN61111IN76、 EOC:转换结束信号输出端。在START下降沿后10左右,EOC为低电平,表示正在进行转换;转换结束时,EOC返回高电平,表示转换结束。EOC常用于A/D转换状态的查询或作中断请求信号。7、 OE:输出允许控制输入端。OE直接控制三态输出锁存器输出数字信息。OE输入0,数字输出口为高阻态;OE输入1,允许转换后结果输出。8、 CLK:时钟信号输入端。ADC内部没有时钟电路,故需外加时钟信号。其最大允许值为640KHz,在实用中,需将主机的脉冲信号降频后接入。9、 和:A/D转换器的参考电压输入端。10、Vcc:芯片的电源电压输入端。因为ADC08

11、09是CMOS芯片,所以允许的电压很宽,可以从+5V+15V。11、GND:接地端。9.2.2 MCS-51单片机与ADC0809芯片的接口一、8051与ADC0809的实用接口电路1、 ADC0809的时钟由8051输出的ALE信号二分频后提供。2、 ADC0809的通道地址A、B、C选由8051的P0口的低3位直接提供。3、 启动ADC0809的工作时序 先由P0口的低3位给出模拟通道的地址给A、B、C。 再由P2.0和联合(逻辑或)提供一个信号给ADC0809芯片的START端和ALE地址锁存端。 假定选中ADC0809的IN0通道,我们可知此时的通道地址由P2和P0组成(P2=1111

12、 1110,P0=1111 1000)即为:0FEF8H A/D转换完毕后,再由EOC发出一个正脉冲通知8051。 8051在收到EOC的正脉冲信号后,产生一个信号并与P2.0联合(逻辑或)提供一个信号给ADC0809芯片的OE端。 OE端有效后,打开输出锁存器三态门,8位数字信息就被读入CPU。 以上所有的动作都是在程序的导引下,一步一步的完成的。二、8051与ADC0809的实用接口电路的程序 有两种结构的程序:一种是采用查询方式结构的程序,另一种是采用中断方式结构的程序。1、 查询方式结构的程序 实例 将6路通道的模拟信号进行A/D转换,并把转换结果顺序存放到以0A0H为首地址的RAM中

13、。 设:数据暂存区的首地址为0A0H;需要进行A/D转换的模拟信号的通道个数N为6(N8)。ADST: MOV R1,#0A0H ;设置数据存储区的首地址MOV DPTR,#0EF8H ;设置第一个模拟信号通道IN0的地址指针MOV R2,#06H ;设置待转换的通道个数LOOP: MOVX DPTR ,A ;启动A/D转换器 ;延时至A/D转换完毕(约10)MOVX A,DPTR ;CPU读取转换结果MOV R1,A ;结果送入0A0H单元中INC DPTR ;指向下一个模拟信号通道INC R1 ;修改数据存储区的地址DJNZ R2,LOOP ;若还未转换完6路通道的信号则转至LOOP处继续转换。 以上程序仅对6路通道的模拟量进行了一次A/D转换,实用中则要反复多次的或者定时的循环检测转换。2、中断方式结构的程序 由主程序和中断服务程序合成,中断源设为。主程序(初始化程序) ADST: MOV R1,#0A0H ;设置数据存储区的首地址MOV R2,#06H ;设置待转换的通道个数SETB IT1 ;将中断源设为下降沿触发SETB EA ;设为允许中断(总允许)SE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号