第9章DA、AD转换器及其与CPU的接口_第1页
第9章DA、AD转换器及其与CPU的接口_第2页
第9章DA、AD转换器及其与CPU的接口_第3页
第9章DA、AD转换器及其与CPU的接口_第4页
第9章DA、AD转换器及其与CPU的接口_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章D/A、A/D转换器及其与CPU的接口9.1概述9.2D/A转换器芯片及其与CPU的接口9.3A/D转换器芯片及其与CPU的接口9.1概述数/模(D/A)和模/数(A/D)转换技术主要用于计算机控制和测量仪表中。典型的闭环实时控制系统为:

9.2D/A转换器芯片及其接口技术`9.2.1D/A转换原理与基本参数

数字量是由一位一位的数位组成的,每个数位都代表一定的权。D/A转换时,就是把一个数字量的每一位代码按权的大小转换为相应的模拟量分量,然后用线性叠加原理将各位代码对应的模拟输出量相加,其和就是与数字量成正比的模拟量。在实现时,通常采用T型网络实现数字量往模拟电流的转换,再利用运算放大器来完成模拟电流到模拟电压的转换。所以,要把一个数字量转变为模拟电压,需要两个环节。有些D/A转换器芯片只包含前一个环节,有些包含两个环节。对于前一种,需外接运算放大器。基本参数:分辨率精度线性度建立时间(转换时间)温度系数9.2.2DAC1210转换器芯片及其接口1、内部结构

2、工作方式(1)单缓冲方式将输入锁存器和DAC寄存器两级输入当作一级输入。硬件连接如下:

(2)双缓冲方式是将数据经输入锁存器和DAC寄存器两级输入到D/A转换器。对于与16位数据总线连接时,分别看作两个端口予以控制,写两次。对于与8位数据总线连接时,写三次。硬件连接如下:

3、输出方式

由于DAC1210属于电流输出型的D/A转换器,需用运算放大器将电流输出转换为电压输出。一般电压输出分为单极性和双极性两种。单极性输出方式:双极性输出方式:

4、应用举例

例1如图所示,向DAC1210连续不断地输出数据,即可得到相应的电压信号。设端口地址为PORT,编写产生连续方波的程序。

MOVDX,PORTLP:MOVAX,0OUTDX,AXCALLRLY;延时MOVAX,0FFFHOUTDX,AXCALLRLYJMPLP

例2同上题,编写产生连续三角波的程序。

MOVDX,PORTXORAX,AXW1:OUTDX,AXINCAXNOPCMPAX,0FFFHJNZW1W2:OUTDX,AXDECAXNOPCMPAX,0JNZW2JMPW1

例3同上题,编写产生连续梯形波的程序。

MOVDX,PORTXORAX,AXOUTDX,AXW3:CALLRLY1W1:INCAXOUTDX,AXNOPCMPAX,0FFFHJNZW1CALLRLY2W2:DECAXOUTDX,AXNOPCMPAX,0JNZW2JMPW39.2.3DAC与CPU接口时应注意的问题1、数据锁存问题2、模拟信号输出问题3、D/A位数多于数据总线位数问题

(可采用两级锁存的办法)

9.3A/D转换器芯片及其接口技术`9.3.1采样和量化注意:采样时必须要符合采样定理,即采样频率f0大于等于输入信号最高频率fm的2倍。量化:以一定的量化单位,把离散的模拟信号转化为离散的阶跃量的过程。通常用“四舍五入”的方法使之整量化。9.3.2A/D工作原理9.3.3A/D性能参数

分辨率量化误差转换时间精度漏码9.3.4ADC0809一、原理框图二、应用举例1、查询法

假设仅对模拟通道IN0进行A/D转换。采用查询方式的程序如下(对0通道采样一个点):OUT50H,AL;选通IN0,启动A/D转换NOPW:INAL,41H;输入EOC标志TESTAL,01HJZW;未结束,返回等待INAL,49H;结束,把结果送入AL中

若对IN0~IN78个通道的模拟量各采样100个点:MOVBX,OFFSETWP;设置数据存储指针MOVCL,100;设置计数初值N:MOVDX,0050HP:OUTDX,AL;选通一个通道,启动A/DNOPW:INAL,41H;输入EOC标志TESTAL,01H;测试状态JZW;未结束,返回等待INAL,49H;结束,读数据MOV[BX],AL;存数INCBX;修改存储地址指针INCDX;修改A/D通道地址CMPDX,0058H;判断8个通道是否转换完JNZP;未完,返回启动新通道DECCL;100个点是否采样完了,JNZN;未完返回再启动IN0HLT;100个点完了,暂停(参考书)例9.5有如下接口原理图,如图所示。编写出对IN0~IN7八个模拟量各采样100个点的简化汇编源程序。解根据译码电路,ADC0809的START地址为85H,EOC地址为81H,OE地址为83H。完成题目要求的程序如下:.MODELSMALL.DATABLOCKDB800DUP(?).CODE.STARTUP

LEADI,BLOCKMOVCX,100;循环100次,次数送CXPP:MOVBL,0LL:MOVAL,BL;BL用来选择通道OUT85H,AL;启动转换器NOPNOP;延迟,避免虚假EOC信号W:INAL,81HTESTAL,01HJZW;检测EOC,判断转换结束否?;若转换未结束,继续检测INAL,83HMOV[DI],AL;若转换好,读数并存入内存INCDIINCBL;下一个通道CMPBL,08HJNZLL;八个通道是否转换完?若否,;继续下一个通道转换LOOPPP.EXITEND2、中断法

假设ADC0809端口地址为98H,仅对模拟通道IN3进行A/D转换。采用中断响应法的程序为CLIMOVAL,03HOUT98H,AL;选通IN3,并启动A/D转换NOPNOPSTI而在中断服务程序中用一条指令INAL,98H;读取转换结果的数字量若对IN0~IN78个通道的模拟量各采样100个点,并转换成数字量采用中断方式8259A边沿触发,自动结束,非缓冲方式,单片使用中断类型码为70—77H,偶地址假设为20H,奇地址为21H的程序如下(伪指令省略):WPDB800DUP(?)MOVAL,13H;ICW1OUT20H,ALMOVAL,70H;ICW2OUT21H,ALMOVAL,03H;ICW4OUT21H,ALPUSHDSMOVAX,0MOVDS,AXMOVBX,OFFSETXYMOVSI,SEGXYMOV[01CCH],BXMOV[01CEH],SIPOPDSMOVCX,100MOVDI,0FFSETWPSTIPP:MOVBL,00HLL:MOVAL,BLOUT98H,ALHLTINCBLCMPBL,08HJNZLLDECCXJNZPPHLT中断服务程序:XY:PUSHAXSTIINAL,98HMOV[DI],ALINCDICLIPOPAXIRET(参考书)例9.7有如图所示的接口原理图。设:该系统8259A的八个中断类型码为70H~77H,边沿触发。写出对IN1一个模拟量采样并转换十个点的程序片段。

解由接口图分析可知ADC0809的START地址为89H,OE地址为98H;8259A的地址为A8H和A9H。完成对IN1一个模拟量采样并转换十个点的程序片段如下。

;建立向量表PUSHDSMOVAX,0MOVDS,AXMOVBX,OFFSET

INT-SERV;

INT-SERV为中断服务程序首地址MOV[01C8H],BX;72H×4=01C8HMOVBX,SEG

INT-SERVMOV[01CAH],BXPOPDS;初始化8259AMOVAL,13HOUT0A8H,AL;ICW1MOVAL,70HOUT0A9H,AL;ICW2MOVAL,01HOUT0A9H,AL;ICW4

MOVBX,OFFSETWP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论