微机接口第八章AD-DA-4学时_第1页
微机接口第八章AD-DA-4学时_第2页
微机接口第八章AD-DA-4学时_第3页
微机接口第八章AD-DA-4学时_第4页
微机接口第八章AD-DA-4学时_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第五节模拟接口第四节数/模、模/数转换1#炉温度计A/DA/DA/DA/D数据选择器

2#炉温度计3#炉温度计4#炉温度计数据分配器D/AD/AD/AD/A1#炉温控2#炉温控3#炉温控4#炉温控

模拟输出通道的作用是为了实现对生产过程的控制,将计算机对输入信号进行加工、处理后的数据信号输出至执行机构。

在一个微型计算机检测与控制系统中,往往由模拟输入通道和模拟输出通道构成。

模拟输入通道的作用就是将生产过程中所需检测的连续变化的物理量转化成计算机所能接收和识别的数字信号。温度、压力、车床转速、加工部件位移量、转轴转角……实时检测与控制系统的构成图模拟输入通道模拟输出通道实时检测与控制系统的构成图D/A转换器D3D2D1D0V000000001V0=VREF/8=E0200010V1=E0210100V2=E0221000V3=E023…………1111V=V0+V1+V2+V3●

一、数/模转换DAC原理●

1、权电阻网络作用:计算机输出的二进制数字量转换成模拟量。组成:由运算放大器和电阻网络构成。(DigitaltoAnalogConverter)E0=VREF/8(加权电流法)-+I-I+U-U+IfUoR1RbRfUI+-I1表现出输出电压与数字量之间的对应关系缺点:随着位数的增加电阻阻值范围太宽,不利于集成。K0闭合时T形权电阻转换●

2、T形权电阻网络从ABCD各点看进去的等效电阻都是R。D点电压:VREFC点电压:VREF/2B点电压:VREF/4A点电压:VREF/8K3闭合时:Ii=VREF/2RK2闭合时:Ii=VREF/4RK1闭合时:Ii=VREF/8RK0闭合时:Ii=VREF/16R开关都闭合时输出电压D/A转换器8032●

二、DAC芯片举例DAC0832是CMOS工艺制造的8位电流输出型双缓冲D/A转换器,片内带有数据锁存器,可与微处理器直接相连。

1、

DAC0832引脚和内部结构 数字接口的引脚模拟输出引脚DAC0832的内部结构DAC0832的内部结构示意图双缓冲器结构被转换的数据保存在DAC寄存器中时,下一个数据可以装入输入寄存器中,转换速度快。LE=1寄存器输出随输入变化LE=0输出被锁存8032工作方式●

2、DAC0832的工作方式

根据对DAC0832的输入锁存器和DAC寄存器的不同控制方法,DAC0832有如下三种工作方式:(1)直通方式在直通方式下,数据不锁存,此时,被转换数据一旦到达输入端口D7~D0,即可进入转换器且输出。(2)单缓冲方式单缓冲方式是将两个寄存器之一始终置于直通方式,另一个寄存器处于锁存方式。(3)双缓冲方式两个寄存器都处于锁存状态,在这种工作方式下,能够对一个数据进行D/A转换的同时,输入另一个数据,提高了D/A转换速率。DAC0832的主要技术指标●

3、DAC0832的主要技术指标 (4)线性度:

当数字量变化时,D/A转换器输出的模拟量按比例变化的程度。理想的D/A转换器是线性的,但实际上有误差,模拟输出偏离理想输出的最大值称为线性误差。一般电流型D/A转换器在几百纳秒到几个微秒之内;而电压型D/A转换器转换较慢,取决于运算放大器的响应时间。(3)精度:

D/A转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位(如1/2LSB)。(1)分辨率:D/A转换器能够转换的二进制数的位数;或1个二进制增量所代表的模拟量大小。位数多分辨率也就高。分辨率=模拟输出的满量程值/(2n-1)(n为二进制数据的位数)例如:V满=5V,8位的D/A转换器分辨率为5/256=20mV。(2)转换时间:数字量输入到模拟量输出达到稳定所需的时间。例如:D/A分辨率为20mV,则精度为±10mV。DAC芯片与主机的连接●

4、DAC与主机的连接

MOV AL,BUF MOV DX,PORT OUT DX,ALD7~D0IOWA9~A0系统总线DI0~7WR1ILECSDAC0832译码器WR2XFERDGNDVerfRfbI01I02AGND+-A+5VVout+5V200H1)单缓冲方式。DAC芯片与主机的连接MOV AL,BLOUT PORT1,ALOUT PORT2,AL

2)双缓冲方式的系统连接。锁存到输入寄存器D7~D0IOWA9~A0系统总线DI0~7WR1ILECSDAC0832译码器WR2XFERDGNDVerfRfbI01I02AGND+-A+5VVout+5VPROT1PROT2锁存到DAC寄存器,并开始转换DAC芯片与主机的连接采用两级锁存电路的系统连接的另一种形式DAC芯片的应用●

5、DAC的应用 MOV DX,PORT MOV AL,0FFHRepeat:INC AL OUT DX,AL JMP Repeat若改变锯齿波斜率,可用NOP或延时指令控制,如下:

Vt利用D/A转换器,输出一个锯齿电压。例VtMOV DX,PORT MOV AL,0FFHRepeat:INC AL OUT DX,AL CALL DELAY1 JMP RepeatDELAY1:MOVCX,DATA1DELAY2:LOOPDELAY1 RETDAC芯片的应用例三角波MOV DX,0AH ;端口地址=0AH MOV AL,00H ;送下限值SJ0: OUT DX,AL ;将数据输出到A口

INC AL ;AL加1 JNZ SJ0 ;上限为FFH,没到上限,继续循环

DECALSJ1: DEC AL ;到上限,AL减1 OUT DX,AL JNZ SJ1 ;若没到下限,转SJ1继续减1输出

INC AL JMP SJ0 ;到下限,转SJ0重新从下限开始CALLDELAYCALLDELAY如果没有这条指令波形的情况?VtDAC芯片的应用例梯形波MOV DX,0AH MOV AL,00H ;从0开始

OUT DX,AL ;将数据输出到A口TX0:INC AL ;AL加1 OUT DX,AL CMP AL,0FFH ;检查到上限否

JNZ TX0 ;上限为FFH,没到上限,继续循环

MOV CX,0FFH ;上限到,延时TX1: NOP LOOP TX1TX2: DEC AL ;AL减1 OUT DX,AL CMP AL,00H ;检查到下限否

JNZ TX2 ;上限为00H,没到下限,继续循环

MOV CX,0FFH ;下限到,延时TX3: NOP LOOP TX3 JMP TX0 ;转TX0开始下一个周期Vt如果10V对应FFH当输出8V时保持5ms的梯形波?8v对应CCHA/D转换器●

三、模/数转换ADC原理作用:将连续变化的模拟量转换成n位二进制数字量。A/D转换器(AnalogtoDigitalConverter)方法:计数比较法、逐次逼近法、双积分法及电压频率转换法等。●

1、计数比较法A/D转换器 基本思想

被测电压和一个均匀增长的电压斜坡不断地比较,直到二者相等,比较过程结束,并输出一个代表被测电压值的二进制数值。缺点:转换速度慢。A/D转换器●

2、逐次逼近法A/D转换器 10种砝码512g128g256g……2g1g……“1”“0”“1”称得结果1010100011=512+128+32+2+1=625(g)基本思想首先置最高位为1,经D/A转换后与输入的模拟量比较,模拟>D/A,置1正确;模拟<D/A将此位置0。移向下一位。逐次逼近法进行n次比较。计数比较法进行2n次比较。512512256128512A/D转换方法●

3、双积分法A/D转换器 第一时段积分器对输入电压Vi进行积分,在固定的T1时刻得到积分电压VO第二时段积分器对基准电压VREF进行反相积分,积分电压等于0时对应△t被转换的电压VI越大,VO就越大,△t就越长,若在△t时间内计数,则计数值即为被转换电压的等效数字值。精度可以很高,但速度较慢。工作过程分为两个时间段:T1和△tA/D转换器●

4、A/D转换步骤 采样→保持→量化→编码量化:就是A/D转换电路把离散信号的幅值数字化的过程。a.采样和保持b.量化和编码采样保持电路采样时开关闭合,输入电压VIN向电容充电,CH电压与输入电压一致。保持时开关断开,CH电压保持在开关断开瞬间的值。

由于A/D转换需要一定时间,对于高速变化的信号源,在转换期间,其值可能已发生变化,引起转换误差,因此为了“冻结”输入信号的瞬时值采用采样保持器。VINVOUTCH编码:把已经量化的模拟数值用二进制数码、BCD码等表示。采样保持电路S/H实现ADC实现A/D转换器●

四、ADC芯片举例

理想的A/D转换器对于CPU应该是一个简单的输入接口,或表现为一个只读ROM。在A/D转换器与CPU接口中必须考虑如下问题:①A/D转换器的转换时间;②A/D转换器的数字输出特性;③A/D转换器的分辨率和微处理器数据总线的位数;④A/D转换器的控制和状态信号。通用ADC芯片的外部引脚A/D0809引脚●

1、

ADC0809引脚和内部结构 启动转换输入地址锁存有效输入信号转换完成输出信号读允许信号时钟信号输入端ADC0809的内部结构框输出部分ALE将编码后的通道号锁存,模拟量进入比较器三条模拟通道地址线用来选择8个模拟量输入通道IN0~IN7转换启动信号转换结束信号转换的核心A/D转换器●

2、

ADC0809的主要参数 a.分辨率:是指A/D转换对微小输入变化的敏感程度,通常用转化器输出数字量最低有效位所对应的模拟输入电平值表示。通常也可以简单地用数字量的位数表示分辨率。b.精度:实际值与理论值之间的最大偏差。c.转换时间按转换速度可分为超高速(转换时间≤330ns),次超高速(330~3.3µs),高速(转换时间<20µs),中速(20~300µs)低速(转换时间>300µs)等。d.输出逻辑电平e.温度系数和增益系数例如:1个10位A/D转换器,转换一个满量程为5V的电压,则它能分辨的最小电压为5000mV/1024≈5mV。12位A/D转换器能分辨的最小电压为5000/4096≈

1mV。A/D转换器的数字量输出位数越多,其分辨率就越高!8259的IR5ADC芯片的应用1例编程启动ADC,当转换结束后采用中断处理方式。1)主程序;数据段

ADTEMPDB0;给定一个临时变量;代码段

…;设置中断向量等工作

STI;开中断

MOVDX,298HOUTDX,AL;与AL值无关

……;其他工作启动A/D转换A/D转换器接口的主要操作①进行通道选择。②发转换启动信号③读取“转换结束”状态信号。可以申请中断或DMA请求。④读取转换的数据。

OEADC芯片的应用12)中断服务程序ADINT PROC PUSH AX ;保护寄存器

PUSH DX PUSH DS MOV AX,@data ;设置数据段DS MOV DS,AX

MOV DX,298H IN AL,DX ;读A/D转换的数字量

MOV ADTEMO,AL ;送入缓冲区

MOV AL,20H ;发送EOI命令

OUT 20H,AL POP DS ;恢复寄存器

POP DX POP AX IRET ;中断返回ADINT ENDP也可以替换为送显示程序ADC芯片的应用2a)启动转换;数据段counter EQU8BUFDBcounterDUP(0) ;数据缓冲区;代码段

MOVBX,OFFSETBUFMOVCX,counterMOVDX,220H ;从IN0开始转换start1: OUT DX,AL ;启动A/D转换

PUSH DX编程启动ADC,转换结束时,采用查询处理方式例228H220HADC芯片的应用22)查询读取

MOV DX,228H ;查询是否转换结束start2: IN AL,DX ;读入状态信息

TEST AL,80H ;D7=1,转换结束否? JZ start2 ;没有结束,继续查询

POP DX ;转换结束

IN AL,DX ;读取数据

MOV [BX],AL ;存入缓冲区

INC BX INC DX LOOP start1 ;转向下一个模拟通道228H220HOE端有效才能读取CS2READ同时有效AD570转换芯片的数据输出无三态缓冲器,不能直接与CPU数据总线相连,为此,电路中采用8255A并行接口芯片作为AD570与CPU的接口电路。

(1)硬件连接例转换开始转换结束(2)软件编程

MOVDX,303H;8255A命令口

MOVAL,98H;工作方式字

OUTDX,AL;10011000B MOVAL,01H;置PC0=1,使B/C=1准备发启动信号

OUTDX,AL MOVAX,0040H;内存数据区段址

MOVDS,AX MOVBX,00H ;偏移地址

MOVCX,256 ;采样次数AGAIN:MOVAL,00H ;再置PC0=0,即置B/C=O OUTDX,AL ;启动转换并维持低电平WAIT1:MOVDX,302H;查PC7=0,即查转换结束DR=0? INAL,DXB/CCPUPA0~7PC0PC7

D0~7B/CDRIN波形输入8255AAD570CS(300~303)ADC芯片的应用3SHLAL,1 ;判断PC7=1? JCWAIT1 ;未结束,等待;否则,读数

MOVDX,300H;从A口读数

INAL,DX MOV[BX],AL;存数于内存

MOVDX,303H;置PC0=1,使启动信号B/C变高电平

MOVAL,01H;撤销启动信号

OUTDX,AL INCBX ;内存加1LOOPAGAIN ;次数减1,未完,继续

MOVAX,4C00H INT21H转换开始转换结束CPUPA0~7PC0PC7

D0~7B/CDRIN波形输入8255AAD570CS(300~303)ADC芯片的应用3P251应用举例第8章掌握内容●

10、数据通信的基本概念●

11、异步通信及同步通信格式●

12、8251的结构及引脚●

14、8251的编程应用●

13、8251的作用●

1、8255的结构及应用●

2、8255的三种工作方式●

3、8255的初始化编程及应用●5、DMA方式的信号走向及顺序●

6、8237的引脚及功能●

7、8237的工作在主方式及从方式的区别●

8、8237的四种工作方式●

9、8237的编程步骤及应用●

4、8237的四种工作方式●

15、D/A两种基本转换原理●16、DAC与CPU连接考虑的问题●

17、DAC编程波形输出的应用●

18、A/D三种基本转换原理●19、ADC的编程应用●20、DAC及ADC的主要性能指标例中断方式进行A/D至D/A的数据控制ADC芯片的应用4编程流程图ADC芯片的应用4程序如下:

STACKSEGMENTPARASTACK‘STACK’DB200DUP(0)STACKENDSDATASEGMENTBUFRDB512DUP(0)ADCEQU0FFD4H;ADC端口

PIC0EQU0FFDCH;8259A的偶地址端口

PIC1EQU0FFDEH;8259A的奇地址端口

DACEQU0FFD6H;DAC端口

DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATA,SS:STACK ;中断向量装入ADC芯片的应用4START:MOVAX,CODE MOVCS,AX MOVAX,DATA MOVDS,AX MOVAX,STACK MOVSS,AX CLDMOVAX,00H MOVES,AX MOVDI,80H×4;中断号*4→DIMOVAX,OFFSETREAD_INT STOSW;装入中断向量的偏移值

MOVAX,CS;取主程序的段址作为服务程序的段址

STOSW;装人中断向量的段值

MOVDI,OFFSETBUFR;设置数据区首址

MOVCX,512;采样次数

ADC芯片的应用4;8259A初始化

CLI;关中断

MOVAL,13H;写ICW1:(边沿触发,单片,需要ICW4)MOVDX,PICO;8259A端口(A0=0) OUTDX,AL MOVAL,80H;写ICW2(中断号高5位) MOVDX,PIC1;8259A端口(A0=1) OUTDX,AL MOVAL,01H;写ICW4(非缓冲,正常结束,16位机) OUTDX,AL;8259A端口(A0=1) ;开放IR0中断请求

MOVDX,PIC1;8259A端口(A0=1)奇端口

INAL,DX;写OCW1(允许IR0请求中断) ANDAL,OFEH OUTDX,AL ;启动转换AGAIN:MOVAX,00H;写入的数据可以取任意值

MOVDX,ADC;启动转换(CS、WR同时有效) OUTDX,AL STI;开中断 ADC芯片的应用4HLT ;等待中断请求

CLI ;关中断

DECCX ;次数减1 JNZAGAIN ;次数未到,继续启动转换

;屏蔽IR0中断请求

MOVDX,PIC1 ;8259A端口(A0=1) INAL,DX ;次数已到,屏蔽IR0 ORAL,01H OUTDX,AL MOVAX,OFF00H;返回监控

PUSHAX MOVAX,0000H PUSHAX;FF000H RET;监控程序首地址

ADC芯片的应用4;中断服务程序READ_INTPROCFARPUSHAX ;寄存

温馨提示

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

评论

0/150

提交评论