
模拟电路与数字电路的转换.ppt
57页第第 九章九章 A/D与与D/A转换接口转换接口课程名称:微机原理与接口技术课程名称:微机原理与接口技术授课方式授课方式:讲课、实验、提问及作业讲课、实验、提问及作业主讲人:金永贤主讲人:金永贤第九章第九章A/D与与D/A转换器接口转换器接口教学重点n D/A转换器接口电路设计转换器接口电路设计n A/D转换器接口电路设计转换器接口电路设计第九章A/D与与D/A转换器接口转换器接口 微微型型计计算算机机在在实实时时控控制制、、在线动动态态测测量量和和对对物物理理过过程程进进行行监监控控,,以以及及图图像像、、语语音音处处理理领领域域的的应应用用中中,,都都要要与与一一些些连连续续变变化化的的模模拟拟量量((温温度度、、压压力力、、流流量量、、位位移移、、速速度度、、光光亮亮度度、、声声音音等等模模拟拟量量))打打交交道道,,但但数数字字计计算算机机本本身身只只能能识识别别和和处处理理数数字字量量,,因因此此,,必必须须经经过过转转换换器器,,把把模模拟拟量量转转换换成成数数字字量量,,或或将将数数字字量量转转换换成成模模拟拟量量,,才才能能实实现现CPU与与被被控控对对象象之之间间的的信信息息交交换换。
所所以以微微机机在在面面向向自自动动控控制制,,自自动动测测最最和和自自动动监监控控系系统统与与各各种种被被控控、、被被侧对象发生关系时,就需设置模拟接口侧对象发生关系时,就需设置模拟接口模拟量与数字量n模拟量模拟量——连续变化的物理量连续变化的物理量n数字量数字量——时间和数值上都离散的量时间和数值上都离散的量模拟模拟/数字转换器数字转换器ADCDAC数字数字/模拟转换器模拟转换器模拟输入输出系统示意图数字信号数字信号模拟信号模拟信号现场信号现场信号1现场信号现场信号2现场信号现场信号n微型微型计算机计算机放大器放大器放大器放大器放大器放大器多多路路开开关关低通滤波低通滤波传感器传感器低通滤波低通滤波传感器传感器低通滤波低通滤波传感器传感器A/D转换器转换器采样保持器采样保持器数字信号数字信号受控对象受控对象控制信号控制信号模拟信号模拟信号D/A转换器转换器放大驱动电路放大驱动电路…Ø传感器传感器将各种现场的物理量测量出来将各种现场的物理量测量出来并转换成电信号(模拟电压或电流)并转换成电信号(模拟电压或电流) Ø放大器放大器把传感器输出的信号放大到把传感器输出的信号放大到ADC所需所需的量程范围的量程范围Ø低通滤波器低通滤波器用于降低噪声、滤去高频干扰,用于降低噪声、滤去高频干扰,以增加信噪比以增加信噪比Ø多路开关多路开关把多个现场信号分时地接通到把多个现场信号分时地接通到A/D转换器转换器Ø采样保持器采样保持器周期性地采样连续信号,周期性地采样连续信号,并在并在A/D转换期间保持不变转换期间保持不变D/A转换器工作原理DAC数字数字/模拟转换器模拟转换器模拟量模拟量数字量数字量D/A转换的基本原理数字量数字量 → 按权相加按权相加 → 模拟量模拟量1101B == 1×23++1×22++0×21++1×20== 13D/A转换器的原理图(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF电阻网络电阻网络基准电压基准电压电子开关电子开关D/A转换器的原理图(2)Iout2Iout1RfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗=阻抗=2R运算放大器运算放大器虚地虚地D/A转换器的原理图(3)Va==VREFVb==VREF/2Vc==VREF/4Vd==VREF/8I0==Vd/2R==VREF/((8×2R))I1==Vc/2R==VREF/((4×2R))I2==Vb/2R==VREF/((2×2R))I3==Va/2R==VREF/((1×2R))D/A转换器的原理图(4)Iout1==I0++I1++I2++I3==VREF/2R×((1/8++1/4++1/2++1))Rfb==RVout=-=-Iout1×Rfb=-=-VREF×[((20++21++22++23))/24]Vout=-(=-(D/2n))×VREFDAC0832的内部结构LE2LE1RfbAGNDDAC0832VccILEVREF输入输入寄寄存存器器DGNDDI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout2Iout1CSWR1WR2XFER1. DAC0832的数字接口n8位数字输入端位数字输入端nDI0~~DI7((DI0为最低位)为最低位)n输入寄存器(第输入寄存器(第1级锁存)的控制端级锁存)的控制端nILE、、CS*、、WR1*nDAC寄存器(第寄存器(第2级锁存)的控制端级锁存)的控制端nXFER*、、WR2*直通锁存器的工作方式两级缓冲寄存器都是直通锁存器两级缓冲寄存器都是直通锁存器nLE==1,直通(输出等于输入),直通(输出等于输入)nLE==0,锁存(输出保持不变),锁存(输出保持不变)LE2LE1DAC0832输入输入寄寄存存器器DI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout1DAC0832的工作方式:直通方式nLE1==LE2==1n输入的数字数据直接进入输入的数字数据直接进入D/A转换器转换器LE2LE1DAC0832输入输入寄寄存存器器DI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout1DAC0832的工作方式:单缓冲方式nLE1==1,或者,或者LE2==1n两个寄存器之一始终处于直通状态两个寄存器之一始终处于直通状态n另一个寄存器处于受控状态(缓冲状态)另一个寄存器处于受控状态(缓冲状态)LE2LE1DAC0832输入输入寄寄存存器器DI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout1DAC0832的工作方式:双缓冲方式n两个寄存器都处于受控(缓冲)状态两个寄存器都处于受控(缓冲)状态n能能够够对对一一个个数数据据进进行行D/A转转换换的的同同时时;;输输入入另另一个数据一个数据LE2LE1DAC0832输入输入寄寄存存器器DI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout12. DAC0832的模拟输出nIout1、、Iout2——电流输出端电流输出端nRfb——反馈电阻引出端(电阻在芯片内)反馈电阻引出端(电阻在芯片内)nVREF——参考电压输入端参考电压输入端n++10V~-~-10VnAGND——模拟信号地模拟信号地nVCC——电源电压输入端电源电压输入端n++5V~+~+15VnDGND——数字信号地数字信号地单极性电压输出Vout==--Iout1×Rfb==-(-(D/28))×VREFRfbIout2Iout1Vout+_AGNDADIVREF9.1 D/A转换器的接口方法 一、一、D/A转换器及其连接特性转换器及其连接特性 1. D/A转换器主要参数转换器主要参数 1)分辨率)分辨率 D/A转换器能够的转换二进制位数,位数越多分辨率越高。
转换器能够的转换二进制位数,位数越多分辨率越高 2)转换时间)转换时间 数字量输入到完成转换,输出达到最终值并稳定为止数字量输入到完成转换,输出达到最终值并稳定为止 3)精度)精度 D/A转转换换器器实实际际输输出出电电压压与与理理论论值值之之间间的的误误差差,,一一般般采采用用数数字字量量的的最低有效位作为衡量单位,如最低有效位作为衡量单位,如+1/2LSB 4)线性度)线性度 理理想想的的D/A转转换换器器是是线线性性的的,,实实际际有有误误差差数数字字量量变变化化时时,,D/A转转换器输出的模拟量按比例关系变化程度换器输出的模拟量按比例关系变化程度9.1 D/A转换器的接口方法 转换器输入转换器输入/输出特性输出特性 1)输入缓冲能力)输入缓冲能力 2)输入数据宽度:)输入数据宽度:8位、位、10位、位、12位位 3)电流型、电压型)电流型、电压型 4))输输入入码码制制::DAC能能接接收收哪哪些些码码制制的的数数字字量量输输入入单单极极性性输输出出接接收收二进制或二进制或BCD码;双极性输出接收补码码;双极性输出接收补码 5)单极性还是双极性输出)单极性还是双极性输出二、二、D/A转换器与微处理器接口设计方法转换器与微处理器接口设计方法 1.接口任务接口任务 解决数据缓冲及数据宽度匹配。
解决数据缓冲及数据宽度匹配 2.接口形式接口形式 直直接接与与主主机机相相连连;;通通过过三三态态门门或或寄寄存存器器与与主主机机相相连连;;利利用用可可编编程程并并行接口;通过可编程逻辑器件行接口;通过可编程逻辑器件PAL/GAL、、CPLD、、 EPLD9.2 D/A转换器的接口电路设计一、片内无三态缓冲器的一、片内无三态缓冲器的8位位D/A转换器接口设计转换器接口设计1. DAC0808构成直流数字电压表端口地址分配为:数据锁存端构成直流数字电压表端口地址分配为:数据锁存端口为口为Y1((318H),比较器结果端口),比较器结果端口Y0((319H)2. 分析:分析:DAC0808输入无三态锁存器,接口中要加三态锁存器或并输入无三态锁存器,接口中要加三态锁存器或并行接口数字电压表的实质是将数字量转换成电压和被测电压比较,行接口数字电压表的实质是将数字量转换成电压和被测电压比较,而得到被测电压的数字量,为此接口电路中要设置一个比较器而得到被测电压的数字量,为此接口电路中要设置一个比较器3.设计设计 1)硬件连接硬件连接 2)软件编程软件编程 直流数字电压表电路工作原理:二进制数经直流数字电压表电路工作原理:二进制数经DAC0808转换为模拟转换为模拟量,该模拟量与被测信号(直流电压)在比较器进行比较,由比较结量,该模拟量与被测信号(直流电压)在比较器进行比较,由比较结果去调整输入果去调整输入DAC0808的数字量。
当某一数字量经的数字量当某一数字量经DAC0808转换转换的模拟量大于被测信号时,认为不合适,就去掉它,即该位置的模拟量大于被测信号时,认为不合适,就去掉它,即该位置0,,否则,该位置否则,该位置1,如此逐次比较,直到,如此逐次比较,直到N次为止此时被保留下来的次为止此时被保留下来的二进制数就是被测模拟量的数字量二进制数就是被测模拟量的数字量9.2 D/A转换器的接口电路设计9.2 D/A转换器的接口电路设计 MOV AX,,020H OK::SHR CL,,1 MOV ES,,AX JNC NEXT MOV BX,,00H MOV AL,,CH MOV CX,,080H MOV ES::[BX],,ALNEXT:: MOV AH,,CH HLT MOV AL,,AH ADD AL,,CL MOV CH,,AL MOV DX,,318H OUT DX,,AL MOV DX,,319H IN AL,,DX AND AL,,01H JZ OK MOV CH,,AH9.2 D/A转换器的接口电路设计二、片内有三态缓冲器的二、片内有三态缓冲器的8位位D/A转换器接口设计转换器接口设计1. 要要求求::采采用用DAC0832设设计计一一个个能能产产生生任任意意波波形形((如如正正弦弦波波、、三三角角波等)的函数波形发生器。
波等)的函数波形发生器2. 分分析析::DAC0832是是分分辨辨率率为为8位位、、芯芯片片内内部部带带有有两两级级缓缓冲冲器器的的D/A转转换换器器输输入入无无三三态态锁锁存存器器,,接接口口中中要要加加三三态态锁锁存存器器或或并并行行接接口口数数字字电电压压表表的的实实质质是是将将数数字字量量转转换换成成电电压压和和被被测测电电压压比比较较,,而而得得到到被测电压的数字量,为此接口电路中要设置一个比较器被测电压的数字量,为此接口电路中要设置一个比较器3.设计设计 1))硬硬件件连连接接采采用用8255A作作为为DAC与与CPU之之间间的的接接口口芯芯片片,,A端端口口用来数据输出,用来数据输出,B端口用来输出控制信号端口用来输出控制信号 2)软件编程软件编程 2) 片内有输入锁存器(DAC0832与CPU接口)函数波形发生器函数波形发生器:1.硬件设计硬件设计9.2 D/A转换器的接口电路设计8255初始化初始化 DEC ALMOV DX,,303H JNZ L2 MOV AL,,80H JMP L1OUT DX,,ALMOV DX,,301HOUT AL,,00010000BOUT DX,,ALMOV DX,,300HMOV AL,,0HL1::OUT DX,,AL INC AL JNZ L1 MOV AL,,0FFHL2::OUT DX,,AL9.2 D/A转换器的接口电路设计三三、、片片内内无无三三态态缓缓冲冲器器的的12位位D/A转转换换器器接接口口设设计计1. 要要求求::对对片片内内无无输输入入缓缓冲冲器器的的12位位D/A转转换换器器设设计计接接口口,,要求转换的数据按要求转换的数据按“右对齐右对齐“格式传送。
格式传送2. 分分析析::由由于于该该D/A分分辨辨率率为为12位位((数数据据线线有有12条条)),,而而CPU的字长为的字长为8位,因此需传送两次位,因此需传送两次3.设计设计 9.2 D/A转换器的接口电路设计9.2 D/A9.2 D/A转换器的接口电路设计转换器的接口电路设计程序如下:程序如下:Mov dx,318hMov al,datalOut Mov dx,319hMov al,datahOut dx,al9.2 D/A9.2 D/A转换器的接口电路设计转换器的接口电路设计四、片内有三态缓冲器的四、片内有三态缓冲器的12位位D/A转换器接口设计转换器接口设计1. 要要求求::对对片片内内有有输输入入缓缓冲冲器器的的12位位D/A转转换换器器设设计计接接口口,,要要求求转转换换的数据按的数据按“左对齐左对齐“格式传送格式传送2. 分分析析::由由于于该该D/A分分辨辨率率为为12位位((数数据据线线有有12条条)),,且且片片内内有有两两级级锁锁存存器器,,所所以以不不必必外外加加锁锁存存器器,,可可与与CPU直直接接相相连连,,但但CPU的的字字长长为8位,因此需传送两次。
为8位,因此需传送两次3.设计设计 片内有输入锁存器(片内有输入锁存器(DAC1210与与CPU接口)接口)9.2 D/A转换器的接口电路设计9.2 D/A转换器的接口电路设计硬件连接:硬件连接: DAC1210高高8位位DI11~DI4连到数据线连到数据线D7~D0,低,低4位位DI3~DI0连到连到数据线的数据线的D7~D4,实现左对齐实现左对齐高低字节锁存过程:高低字节锁存过程: 高低字节控制端口地址分别为高低字节控制端口地址分别为340H((Y0=0)、)、341H((Y1=0),),第二级锁存地址为第二级锁存地址为342H((Y2=0) 当当Y0=0时,时, BYTE1/BYTE2= 1,此时若,此时若IOW有效(有效(WR1=0),),其上升沿锁存高其上升沿锁存高8位数据 当当Y1=0时,时, BYTE1/BYTE2= 0,此时若,此时若IOW有效(有效(WR1=0),),其上升沿锁存低其上升沿锁存低4位数据 当当Y2=0时,此时若时,此时若IOW有效(有效(WR1=0),其上升沿将),其上升沿将12位数据位数据锁存到锁存到12为为DAC寄存器,开始寄存器,开始D/A转换。
转换 MOV DX,,340H MOV AL,,DATAL MOV AL,,DATAH OUT DX,,AL OUT DX,,AL MOV DX,,342H INC DX OUT DX,,AL 9.3 A/D转换器接口基本原理与方法 一、一、A/D转换器及连接特性转换器及连接特性 转换器主要参数 1)分辨率 A/D转换器可转换的二进制位数 2)转换时间 输入启动转换信号到转换结束,最后得到稳定的数字量输出所需的时间 转换器外部特性 (1)启动线:由系统控制器或通过接口发出的一种控制信号,此信号一到,A/D转换器立即开始 (2)转换结束线:转换完毕由A/D转换器发出的一种状态信号,由它申请中断、DMA传送和中断查询用 (3)模拟信号输入线:来自被转换的对象,有单通道、多通道9.3 A/D转换器接口基本原理与方法 (4)数字量输出线:由)数字量输出线:由ADC将数字量送给将数字量送给CPU。
连接特性:连接特性:((1)启动信号是电平还是脉冲;)启动信号是电平还是脉冲;((2)芯片内是否有三态门输出锁存器,若有可直接与)芯片内是否有三态门输出锁存器,若有可直接与CPU数据线相数据线相连,否则要外加锁存器;连,否则要外加锁存器;((3)输出数字量的形式,是二进制还是)输出数字量的形式,是二进制还是BCD码二、二、A/D转换器与微处理器接口方法转换器与微处理器接口方法 转换器与转换器与CPU的连接的连接 ((1))A/D转换器的分辨率与转换器的分辨率与CPU的数据总线的位数关系;的数据总线的位数关系; 转转换换结结束束后后存存放放数数据据时时有有“左左对对齐齐”和和“右右对对齐齐”之之分分,,左左对对齐齐就就是是一一个个数数据据的的最最高高位位放放在在最最左左边边,,缺缺位位在在右右边边,,并并以以0补补齐齐右右对对齐齐就就是是一一个个数数据的最低位放在最右边,缺位在左边,并以据的最低位放在最右边,缺位在左边,并以0补齐 ((2)) A/D转换器的输出锁存器;转换器的输出锁存器; 若若A/D转转换换器器内内无无数数据据锁锁存存器器,,则则A/D接接口口电电路路中中应应设设有有数数据据锁锁存存器器方方可与数据总线相连。
可与数据总线相连 9.3 A/D转换器接口基本原理与方法 (3))A/D转换转换器的启动信号转换转换器的启动信号 有有电电平平启启动动和和脉脉冲冲启启动动之之分分,,如如AD570是是低低平平启启动动,,AD574、、ADC0809为为脉冲启动脉冲启动转换接口的主要操作转换接口的主要操作 1)进行通道选择;)进行通道选择; 2)发启动信号;)发启动信号; 3)取回转换结束信号;)取回转换结束信号; 4)读取转换的数据;)读取转换的数据; 5)发)发S/H控制信号;控制信号;转换器的数据传送方式转换器的数据传送方式 1)查询式传送;)查询式传送; 2)中断方式传送;)中断方式传送; 3))DMA方式传送;方式传送; 4)对于超高速)对于超高速A/D,采用在,采用在A/D转换器板上设置转换器板上设置RAM的方法的方法;;9.3 A/D转换器接口基本原理与方法 转换接口的结构形式转换接口的结构形式 1)与)与CPU直接相连;直接相连; 2)采用三态门锁存器与)采用三态门锁存器与CPU相连;相连; 3)利用可编程)利用可编程I/O接口与接口与CPU相连;相连; 4)采用)采用GAL器件(通用可编程器件)器件(通用可编程器件)9.4 查询方式A/D转换器接口设计一、一、12位片内带有三态门输出锁存器的位片内带有三态门输出锁存器的A/D转换器接口设计转换器接口设计 1.要求要求 12位位A/D转换,转换结束后分两次输出,以左对齐的方式存放在转换,转换结束后分两次输出,以左对齐的方式存放在首址为首址为400H的内存区,采集的内存区,采集64个数据,采用查询方式,个数据,采用查询方式,ADC用用AD574。
2.分析分析 CS、、CE为片选,为片选,R/C为启动转换,数据输出允许为启动转换,数据输出允许 CS=0,,CE=1,,R/C=0:启动转换;:启动转换; CS=0,,CE=1,,R/C=1::读读取取数数据据12/8=1::一一次次输输出出12位位;;12/8=0:一次输出:一次输出8位 A0有两个功能:控制转换宽度(有两个功能:控制转换宽度(A0=0,,12位转换;位转换;A0=1,,8位转位转换);控制度高低字节读数(换);控制度高低字节读数(A0=0,读高,读高8位;位;A0=1,读低,读低4位) 3.设计设计9.4 查询方式A/D转换器接口设计9.4 查询方式A/D转换器接口设计 数据采集程序段如下:数据采集程序段如下: MOVCX,,40HINAL,,DXMOVSI,,400HMOV[SI],,ALSTT:: MOVDX,,312HINCSIMOVAL,,00HDECCXOUTDX,,AL JNZSTTMOVDX,,310HMOVAX,,4C00HL::IN AL,,DX INT21HANDAL,,80HJNZ LMOVDX,,311HINAL,,DXANDAL,,F0HMOV[SI],,ALINCSIMOVDX,,312H9.4 查询方式A/D转换器接口设计二、二、 12位片内不带输出锁存器的位片内不带输出锁存器的A/D转换器接口设计转换器接口设计 1.要求要求 数据采集系统,采用数据采集系统,采用ADC1210作作12位转换,转换的数据按右对齐式存放。
位转换,转换的数据按右对齐式存放 2.分析与设计分析与设计 ADC1210无无三三态态输输出出锁锁存存器器,,它它的的数数据据线线不不能能与与CPU直直接接相相连连,,必必须须通通过过244接接到到CPU数数据据线线上上,,分分两两次次传传送送12位位数数据据,,先先读读高高8位位后后读读低低8位位SC为为转转换换启启动动,,CC转转换换结结束束信信号号,,低低电电平平有有效效,,它它通通过过244接接到到CPU数数据据线线D7上上Y0((330H))为为数数据据口口和和状状态态口口,,Y1((331H))为为数数据据口口,,Y2((332H)为启动口为启动口 3.编程编程9.4 查询方式A/D转换器接口设计9.4 查询方式A/D转换器接口设计 MOVDX,,332HIN AL,,DXINAL,,DX ANDAL,,OFHMOVDX,,330H MOVBH,,ALL::INAL,,DX MOVDX,,331HROLAL,,1 IN AL,,DXJCLMOVBH,,ALMOVDX,,330HHLT9.4 查询方式A/D转换器接口设计三、三、电平启动转换的接口设计电平启动转换的接口设计 1.要求要求 在在8位位数数据据采采集集系系统统中中,,采采用用AD570作作A/D转转换换,,采采集集256个个数数据据,,用查询方式送到内存。
用查询方式送到内存 2.分析分析 AD570电电平平启启动动8位位逐逐次次逼逼近近型型A/D转转换换器器,,启启动动信信号号B/C,,低低电电平平有有效效,,该该信信号号为为低低开开始始转转换换,,25us转转换换结结束束,,转转换换时时启启动动信信号号必必须须保保持持低低电电平平,,若若提提前前变变高高则则转转换换中中止止转转换换结结束束信信号号DR,,转转换换过过程程为高,一旦变低表示结束,可以读出为高,一旦变低表示结束,可以读出 3.硬件连接硬件连接 AD570数据输出无三态锁存器,不能直接与数据输出无三态锁存器,不能直接与CPU相连,可以用相连,可以用82559.4 查询方式A/D转换器接口设计9.4 查询方式A/D转换器接口设计 MOV DX,303H MOV AL,98H OUT DX,AL MOV AL,01H OUT DX,AL MOV AX,0040H MOV ES,AX MOV BX,00H MOV CX,0FFHAGAIN:MOV AL,00HOUT DX,ALWAIT:MOV DX,302HIN AL,DX SHL AL,1 JCWAITMOVDX,300HINAL,DXMOVES:[BX],ALMOVDX,303HMOVAL,01HOUTDX,ALINCBXLOOPAGAIN MOV AX,4C00H INT 21H9.5 中断方式的中断方式的A/DA/D转换器接口设计转换器接口设计中中断断技技术术应应用用有有两两种种情情况况::一一是是用用户户自自行行设设计计和和配配置置的的中中断断系系统统;;二二是是利利用用微微机系统的中断源。
机系统的中断源 一、单板机系统的中断数据采集系统设计一、单板机系统的中断数据采集系统设计 1.要求要求 单单通通道道模模拟拟信信号号采采集集512个个数数据据,,采采用用中中断断方方式式读读入入内内存存,,并并送送到到D/A转转换换器 2.分析设计分析设计 A/D采用采用AD0804,中断控制器用,中断控制器用8259 ADC0804是是一一个个单单通通道道8位位分分辨辨率率A/D转转换换器器,,输输出出有有三三态态锁锁存存,,可可直直接接与与系系统统数数据据线线相相连连启启动动信信号号为为CS*WR,,转转换换结结束束信信号号INTR,,低低电电平平有效,其地址为有效,其地址为0FFD4H,,DAC0832地址为地址为0FFD6H 8259在在系系统统中中单单片片使使用用,,设设中中断断类类型型号号高高5位位为为80H,,沿沿触触发发,,指指定定中中断断结结束束方方式式地地址址总总线线A1接接到到8259的的A0上上,,8259两两个个地地址址为为0FFDCH、、OFFDEH9.5 中断方式的中断方式的A/DA/D转换器接口设计转换器接口设计9.5 中断方式的中断方式的A/DA/D转换器接口设计转换器接口设计9.5 中断方式的中断方式的A/DA/D转换器接口设计转换器接口设计3.程序设计程序设计 STACK SEGMENT PARA STACK ’STACK‘ DB 200 DUP(0)STACK ENDSDATA SEGMENT BUFR DB 512 DUP(0) ADC EQU 0FFD4H;;ADC端口端口 PICO EQU 0FFDCH ;8259A的偶地址端口的偶地址端口 PICT EQU 0FFDEH- ;8259A的奇地址端口的奇地址端口 DAC EQU 0FFD6H;;DAC端口端口DATA ENDCODE SEGMENT ASSUME CS:CODE,DS:DATA,,SS: STACK ;中断向量装入;中断向量装入9.5 中断方式的中断方式的A/DA/D转换器接口设计转换器接口设计START: MOV AX,,DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV AX, 00H MOV ES,,AX;设置;设置00H段基址指向中断向量表的存储区段基址指向中断向量表的存储区 MOV BX,,200H;中断号;中断号*4赋给赋给BX MOV ES::[BX],,OFFSET READ__INT;;装装入入中中断断向向量量的的偏偏移移值值 PUSH CS POP AX;取主程序的段址作为服务程序的段址;取主程序的段址作为服务程序的段址 MOV ES::[BX++2],,AX;装人中断向量的段值;装人中断向量的段值 9.5 中断方式的中断方式的A/DA/D转换器接口设计转换器接口设计MOVDI,,OFFSET BUFRMOVDX,,PIC1MOVCX,,512HINAL,,DX;;8259初始化初始化 OR AL,,01H MOVDX,,PIC1OUTDX,,ALINAL,,DX MOV AX,,0FF00HANDAL,,0FEHPUSHAXOUTDX,,AL MOV AX,,0000HAGN::MOVAX,,00HPUSHAXMOVDX,,ADCRETOUTAL,,DX ;中断服务程序;中断服务程序STI READ-INT PROC FARHLTPUSHAXCLIPUSHDXDECCXMOVDX,,ADCJNZAGNINAL,,DX9.5 中断方式的中断方式的A/DA/D转换器接口设计转换器接口设计 NOPNOPMOV[DI],,ALMOVDX,,DACOUTDX,,ALINCDIMOVAL,,60HMOVDX,,PIC0OUTDX,,ALPOPDXPOPAXIRETREAD-INTENDPCODEENDSENDSTART 。
