《数模转换与模数转换接口及其应用 (2)幻灯片.ppt》由会员分享,可在线阅读,更多相关《数模转换与模数转换接口及其应用 (2)幻灯片.ppt(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数模转换与模数转换接口及其应用(2)第1页,共107页,编辑于2022年,星期六概述 A/DA/D和和D/AD/A转转换换器器是是把把微微型型计计算算机机的的应应用用领领域域扩扩展展到到检检测测和和过过程程控控制制的的必必要要装装置置,是是把把计计算算机机和和生生产产过过程程、科科学学实实验验过过程程联联系系起起来来的的重重要要桥桥梁梁。下下图图给给出出了了A/DA/D、D/AD/A转转换换器器在在微微机机检检测测和和控控制制系系统统中的应用实例框图。中的应用实例框图。第2页,共107页,编辑于2022年,星期六第3页,共107页,编辑于2022年,星期六10.1DA转换器及其接口技术一、一、
2、DA转换器及其接口转换器及其接口D/A转换器的功能是把二进制数字量电信号转换为与其数值成正比的模拟量电信号。在D/A参数中一个最重要的参数就是分辨率,它是指输入数字量发生单位数码变化时,所对应输出模拟量(电压或电流)的变化量。第4页,共107页,编辑于2022年,星期六分辨率是指输入数字量最低有效位为1时,对应输出可分辨的电压变化量U与最大输出电压Um之比,即分辨率分辨率=1/(21)n第5页,共107页,编辑于2022年,星期六最小阶梯电压参考电压最小阶梯电压参考电压*分辨率分辨率 =参考电压参考电压/(2n1)第6页,共107页,编辑于2022年,星期六第7页,共107页,编辑于2022年
3、,星期六第8页,共107页,编辑于2022年,星期六实现D/A转换器和微型计算机接口技术的关键是数据锁存问题。有些D/A转换器芯片本身带有锁存器,但也有些D/A从转换器芯片本身不带锁存器。此时一些并口芯片如8212,74LS273及可编程的并行I/O接口芯片8255A均可作为D/A转换的锁存器。第9页,共107页,编辑于2022年,星期六第10页,共107页,编辑于2022年,星期六数据CSWR输出8255数据输出WRADAD第11页,共107页,编辑于2022年,星期六二、并行二、并行8位位D/A转换芯片转换芯片AD558及其接口及其接口1、AD558的内部结构框图第12页,共107页,编辑
4、于2022年,星期六第13页,共107页,编辑于2022年,星期六2、AD558与PC机的连接图第14页,共107页,编辑于2022年,星期六CODESEGMENTASSUMECS:CODESTART:MOVCX,256MOVAL,0MOVDX,30CHLOOP1:OUTDX,AL;输出AL内容CALLDELAY;延时INCAL;AL内容加1LOOPLOOP1;循环256次JMPSTART;重新输出下一;个锯齿波CODEENDSENDSTART第15页,共107页,编辑于2022年,星期六DAC0832逻辑结构框图逻辑结构框图第16页,共107页,编辑于2022年,星期六n n(1)双缓冲方式
5、(LE1和LE2分别控制)n n(2)单缓冲方式(其中LE1和LE2有一个直通)n n(3)直通方式(LE1和LE2均为直通)n n注:在DAC实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只能连接到数字地,而模拟量部分只能连接到模拟地。DAC0832有三种工作方式:第17页,共107页,编辑于2022年,星期六(3)设计 n n 硬件设计硬件设计 n n根据上述分析,接口电路主要是提供并处理缓冲方式和写操根据上述分析,接口电路主要是提供并处理缓冲方式和写操作的作的5 5根信号线,故采用普通根信号线,故采用普通ICIC芯片就可以组成接口电路。图中,芯片就可以组
6、成接口电路。图中,DAC0832DAC0832工作在单缓冲方式,并且只对第工作在单缓冲方式,并且只对第1 1级锁存器的级锁存器的WRWR1 1进行了控进行了控制,而第制,而第2 2级锁存器的级锁存器的WRWR2 2固定接地,未进行控制。固定接地,未进行控制。D7D0IOWA9A0AEN系统总线DI07WR1ILECSDAC0832译码器WR2XFERDGNDVREFRFBIO1IO2AGND+-AR+5VVout DAC0832单缓冲方式连接+5V314H第18页,共107页,编辑于2022年,星期六 软件设计n n根据设计要求产生连续的锯齿波,可知本程序是一个循环结构,其程序流程图如图所示。
7、第19页,共107页,编辑于2022年,星期六程序清单如下:SAWTOOTH PROC FAR SAWTOOTH PROC FAR MOV AX,DATA MOV AX,DATA MOV DS,AX MOV DS,AX MOV AL,00H;MOV AL,00H;置置AL=0 AL=0 LOP:MOV DX,314H;LOP:MOV DX,314H;端口地址端口地址 OUT DX,AL;ALOUT DX,AL;AL的值送的值送DAC0832 DAC0832 MOV BL,AL;MOV BL,AL;保存保存ALBL ALBL MOV AH,0BH;MOV AH,0BH;是否有键按下?是否有键按下
8、?INT 21H INT 21H CMP AL,0FFH CMP AL,0FFH JE STOP;JE STOP;有,停止输出波形有,停止输出波形 MOV AL,BL;MOV AL,BL;无,恢复无,恢复ALAL的值的值 INC AL;ALINC AL;AL加加1 1 JMP LOP;JMP LOP;继续循环输出波形继续循环输出波形 STOP:MOV AX,4C00H;STOP:MOV AX,4C00H;退出退出 INT 21H INT 21H SAWTOOTH ENDP SAWTOOTH ENDP 第20页,共107页,编辑于2022年,星期六输出三角波程序段如下:输出三角波程序段如下:MO
9、V DXMOV DX,314H 314H ;DAC0832DAC0832的端口地址的端口地址 MOV ALMOV AL,0H 0H ;输出数据;输出数据0 0TN1TN1:OUT DXOUT DX,ALAL INC AL INC AL ;输出数据加;输出数据加1 1 JNZ TN1 JNZ TN1 MOV AL MOV AL,0FFH 0FFH ;输出数据;输出数据0FFH0FFHTN2TN2:OUT DXOUT DX,ALAL DEC AL DEC AL ;输出数据减;输出数据减1 1 JNZ TN2 JNZ TN2 JMP TN1 JMP TN1第21页,共107页,编辑于2022年,星期
10、六(4)讨论n n利用利用DACDAC产生锯齿波输出的方法是,将从产生锯齿波输出的方法是,将从0 0开始逐渐递增开始逐渐递增的数据送到的数据送到DACDAC,直到,直到FFHFFH,再回到,再回到0 0。重复上述过程,就。重复上述过程,就可得到周期性的锯齿波电压。实际上,从可得到周期性的锯齿波电压。实际上,从0 0到到FFHFFH,中间,中间分为分为256256个小台阶,但从宏观上看,是一个线性增长的电个小台阶,但从宏观上看,是一个线性增长的电压直线。压直线。n nDAC0832DAC0832的的3 3种缓冲方式,用在不同的场合。双缓冲方式种缓冲方式,用在不同的场合。双缓冲方式用于需要多个不同
11、模拟量同时输出的系统中;单缓冲与用于需要多个不同模拟量同时输出的系统中;单缓冲与直通方式都用于单个模拟量输出的场合。单缓冲常用在直通方式都用于单个模拟量输出的场合。单缓冲常用在采用普通采用普通ICIC芯片的芯片的DACDAC接口中,直通方式常用于采用可编程接口中,直通方式常用于采用可编程并行接口芯片的并行接口芯片的DACDAC接口中。接口中。第22页,共107页,编辑于2022年,星期六三、串行8位D/A转换器TLC5620第一级缓冲第二级缓冲 第23页,共107页,编辑于2022年,星期六数据写入方式数据写入方式(LDAC更新更新DAC输出输出)数据写入方式数据写入方式(LOAD更新更新DA
12、C输出输出)第24页,共107页,编辑于2022年,星期六TLC5620与与8255A的连接的连接第25页,共107页,编辑于2022年,星期六MOV CL,5;先把;先把AX内容左移内容左移5位位SHL AX,CLMOV DX,AX;DX为串行输出的数据为串行输出的数据,最高位为通道选择最高位为通道选择MOV CX,11;循环;循环11次次DAC_PROC1:MOV AL,0;预置对;预置对DATA线的置位复位字线的置位复位字SHL DX,1;取串行输出位;取串行输出位ADC AL,0;把串行输出位送到置位复位字的第;把串行输出位送到置位复位字的第0位位OUT 86H,AL;把;把DATA线
13、上串行输出位内容线上串行输出位内容MOV AL,00000010B;发送;发送CLK负脉冲负脉冲OUT 86H,ALMOV AL,00000011BOUT 86H,ALLOOP DAC_PROC1;循环;循环MOV AL,00000100B;循环完毕,发循环完毕,发LOAD负脉冲负脉冲OUT 86H,ALMOV AL,00000101B;OUT 86H,ALMOV AL,00000110B;发发LDAC负脉冲负脉冲OUT 86H,ALMOV AL,00000111B;OUT 86H,AL第26页,共107页,编辑于2022年,星期六主程序段:MOVAL,10010010BMOVAL,10010
14、010B;8255A;8255A初始化初始化OUT86H,ALOUT86H,ALMOVAL,0FFHMOVAL,0FFH;C;C口各位初始值全为口各位初始值全为1 1OUT84H,ALOUT84H,AL;其它处理;其它处理MOVCX,256MOVCX,256;D/A;D/A通道通道B B产生一锯齿波产生一锯齿波MOVAL,0MOVAL,0;D/A;D/A初始数据为初始数据为0 0MOVAH,00000010BMOVAH,00000010B;选取通道选取通道B B,最大输出电压为参考电压,最大输出电压为参考电压AGAIN:CALLDAC_PROCAGAIN:CALLDAC_PROC;把把AXAX
15、里的内容送里的内容送DACDACINCALINCAL;产生锯齿波的下一个数据产生锯齿波的下一个数据CALLDELAYCALLDELAY;延迟延迟LOOPAGAINLOOPAGAIN;循环循环256256次次第27页,共107页,编辑于2022年,星期六四、12位DA转换及接口第28页,共107页,编辑于2022年,星期六例 DAC1210接口电路设计n n(1)要求 n n通过DAC1210产生并输出50个方波,方波数据存放在内存缓冲区。n n(2)分析 n nDAC1210的分辨率为12位,且内部有两个三态锁存器,用于分别对数据的高、低两个字节进行锁存,故数据线可与系统数据总线直接连接。但是
16、,当它与8位微机系统连接时,数据要分两次传输。第29页,共107页,编辑于2022年,星期六8位输入锁存器4位输入锁存器12位DAC寄存器12位相乘型D/A转换器&LELELELSBMSBDI1115DI1016DI917DI818DI719DI620DI54DI45DI36DI27DI18DI09BYTE123/BYTE2CS1WR12XFER21WR22210VREF14IOUT213IOUT111RFB24Vcc3AGND24DGNDDAC1210内部结构第30页,共107页,编辑于2022年,星期六n n有两种数据对齐格式:n n“右对齐”:从低位对齐(先送低,后送高)n n“左对齐”
17、:从高位对齐(先送高,后送低)n n特别注意:n n设置两个锁存器,分别锁存高字节和低字节。n n同时选通两个锁存器进行D/A转换。第31页,共107页,编辑于2022年,星期六12位DAC与CPU之间加两级锁存器(右对齐)PC扩展槽D0-7IOWANEA0-9BUF1D0-7 Q0-7CBUF3D0-7 Q0-7CBUF2D0-7 Q0-7C 12位DACD0-7 D/A I01 D8-11 I02译码器Y0Y1图10-5 12位DAC与CPU之间加两级锁存器第32页,共107页,编辑于2022年,星期六(3)设计n n 硬件设计硬件设计 n n接口电路如图所示。图接口电路如图所示。图中,中
18、,DAC1210DAC1210的的1212根数据根数据线直接与系统的数据线线直接与系统的数据线相连,但系统数据线只相连,但系统数据线只有有8 8位,故将位,故将DAC1210DAC1210的的低低4 4位数据线连到了系统位数据线连到了系统数据线的高数据线的高4 4位上。这种位上。这种连接方法称为连接方法称为“左对齐左对齐”方式。方式。DAC1210DAC1210的的3 3个个端口地址为端口地址为316H316H(y y0 0)、)、317H317H(y y1 1)和)和318H318H(y y2 2)。)。第33页,共107页,编辑于2022年,星期六 软件设计n n根据设计要求产根据设计要求
19、产生连续生连续5050个方波输个方波输出,可知本例程序出,可知本例程序也是一个循环结构,也是一个循环结构,其流程如图所示。其流程如图所示。第34页,共107页,编辑于2022年,星期六程序清单如下:SSTACK SEGMENT SSTACK SEGMENT DW 256 DUP DW 256 DUP(?)(?)SSTACK ENDS SSTACK ENDS DATA SEGMENT DATA SEGMENT BUFR DW 50 DUP BUFR DW 50 DUP(00000000,0FFFH0FFFH)DATA ENDS DATA ENDS CODE SEGMENT CODE SEGMEN
20、T ASSUME CS:CODE,DS:DATA,SS:SSTACK ASSUME CS:CODE,DS:DATA,SS:SSTACK SQUARE:MOV AX,DATA SQUARE:MOV AX,DATA MOV DS,AX MOV DS,AX MOV AX,SSTACK MOV AX,SSTACK MOV SS,AX MOV SS,AX MOV SI,OFFSET BUFR MOV SI,OFFSET BUFR MOV CX,100 MOV CX,100第35页,共107页,编辑于2022年,星期六n n SEND:MOV BX,WORD PTRSEND:MOV BX,WORD PTR
21、SISI n n MOV CL,4 MOV CL,4 n n SHL BX,CL;SHL BX,CL;使使BXBX中中1212位数向左对齐位数向左对齐 n n MOV DX,316H;DAC1210MOV DX,316H;DAC1210的第的第1 1个字节锁存器端口个字节锁存器端口 n n MOV AL,BH;MOV AL,BH;写入高写入高8 8位位 n n OUT DX,AL OUT DX,AL n n INC DX;DAC1210 INC DX;DAC1210的第的第2 2个字节锁存器端口个字节锁存器端口 n n MOV AL,BL;MOV AL,BL;写入低写入低4 4位位 n n O
22、UT DX,AL OUT DX,AL n n INC DX;DAC1210 INC DX;DAC1210的转换器端口的转换器端口 n n OUT DX,AL;OUT DX,AL;写入任意数据(假写)启动转换写入任意数据(假写)启动转换 n n CALL DELAY;CALL DELAY;延时使方波保持一定的宽度延时使方波保持一定的宽度 第36页,共107页,编辑于2022年,星期六n n INC SI;INC SI;缓冲区地址加缓冲区地址加2 2 n n INC SI INC SI n n DEC CX;DEC CX;循环次数减循环次数减1 1 n n JNZ SEND;JNZ SEND;循环
23、次数未到,继续循环次数未到,继续 n n MOV AX,AC00H;MOV AX,AC00H;已到,退出已到,退出 n n INT 21H INT 21H n nDELAY PROC NEAR;DELAY PROC NEAR;延时子程序延时子程序 n n MOV BX,0FFFFH MOV BX,0FFFFH n n LOP:DEC BX LOP:DEC BX n n JNZ LOP JNZ LOP n n RET RET n n DELAY ENDP DELAY ENDP n n CODE ENDS CODE ENDS n n END SQUARE END SQUARE 第37页,共107页
24、,编辑于2022年,星期六10.2AD转换器及其接口技术 分辨率指分辨率指A/D转换器对输入模拟信号的分辨能力。通常用转换器对输入模拟信号的分辨能力。通常用数字输出最低位(数字输出最低位(LSB)所对应的模拟输入的电平值表示。如)所对应的模拟输入的电平值表示。如A/D转换器的输出为转换器的输出为 12 位二进制数,最大输入模拟信号为位二进制数,最大输入模拟信号为 10V,则其分辨率为则其分辨率为分辨率分辨率10/(2N 1)10/2N 2.44mV 第38页,共107页,编辑于2022年,星期六10.2AD转换器及其接口技术一、一、A/D转换原理转换原理 常用的A/D有并行A/D、逐次逼近A/
25、D、双积分A/D。第39页,共107页,编辑于2022年,星期六1.计数斜波式计数斜波式A/D转换器转换器 第40页,共107页,编辑于2022年,星期六DA8255比较器模拟输入第41页,共107页,编辑于2022年,星期六 2.逐次逼近式逐次逼近式A/D转换器转换器 10000000D71000000D7D6100000D7D6D5D4D3D2D1D0DHPC0第42页,共107页,编辑于2022年,星期六Ui=163mV的逐次比较过程第43页,共107页,编辑于2022年,星期六第44页,共107页,编辑于2022年,星期六3.双积分型双积分型A/D转换器转换器计数器第45页,共107页
26、,编辑于2022年,星期六充电时间充电时间T1 放电放电T2充电时间V0Vi*T1/放电时间V0VR*T2/=0T2=(T1/VR)*Vi在实际测量中在实际测量中T1,VR固定固定第46页,共107页,编辑于2022年,星期六4.并行比较型并行比较型A/D转换器转换器第47页,共107页,编辑于2022年,星期六类型类型类型类型逐位比较型逐位比较型逐位比较型逐位比较型双积分型双积分型双积分型双积分型并行比较型并行比较型速度速度速度速度中中中中慢慢慢慢快快快快分辨率分辨率分辨率分辨率8 8 8 814141414位位位位1010101020202020位位位位8 8 8 812121212位位位
27、位价格价格价格价格中中中中低低低低高高高高第48页,共107页,编辑于2022年,星期六二、二、AD转换与微机接口技术原理转换与微机接口技术原理1 1、三态总线输入问题三态总线输入问题三态总线输入问题三态总线输入问题 有有的的ADCADC芯芯片片带带有有三三态态输输出出缓缓冲冲器器,其其控控制制端端为为OEOE(输输出出允允许许)。若若不不带带三三态态缓缓冲冲器器的的ADCADC芯芯片片(如如AD570AD570芯芯片片)与与微微机机接接口口,必必须须使使用用三三态态器器件件,如如:8255A8255A,74LS27374LS273等。等。2 2、时间配合问题时间配合问题时间配合问题时间配合问
28、题A/DA/D芯片一般有三个信号要求控制:启动转换信号芯片一般有三个信号要求控制:启动转换信号(START)(START),转换结束信号,转换结束信号(EOC)(EOC),允许输出信号,允许输出信号(OE)(OE)。第49页,共107页,编辑于2022年,星期六模拟输入允许输出OE数据输出启动信号Start转换结束Eoc第50页,共107页,编辑于2022年,星期六A/D转换器与CPU的连接1.ADC的启动信号:ADC的转换启动方式有脉冲启动和电平启动之分。前者要求在转换期间不变,而后者在转换开始后就可以撤消。转换启动信号有单个信号启动和由多个信号组合起来的复合信号启动之分。2.ADC的输入信
29、号:ADC的模拟信号输入有多通道和单通道之分。3.ADC的输出信号:(1)A/D转换器的分辨率:当ADC的分辨率高于数据总线的宽度时,需要两次读取。(2)A/D转换器的三态输出锁存器:决定是否可直接挂在CPU的数据总线上。4.ADC的转换结束信号:可用于查询方式、中断方式、DMA方式的申请信号。第51页,共107页,编辑于2022年,星期六A/D转换器接口的主要操作(1)(1)进行通道选择进行通道选择对有多个模拟量输入通道的系统。对有多个模拟量输入通道的系统。(2)(2)发转换启动信号发转换启动信号由外部控制启动由外部控制启动A/DA/D转换。转换。(3)(3)取回取回“转换结束转换结束”状态
30、信号状态信号当转换结束后,当转换结束后,ADCADC产生转换结束信号。产生转换结束信号。(4)(4)读取转换的数据读取转换的数据用查询、中断或其它方法读取数据。用查询、中断或其它方法读取数据。(5)(5)发采样和保持控制信号发采样和保持控制信号一般对高速信号的一般对高速信号的A/DA/D转换。转换。第52页,共107页,编辑于2022年,星期六分析与设计A/D转换器接口的方法 ADCADC的模拟量输入是否是多通道?的模拟量输入是否是多通道?是,则需选择通道号,应提供通道选择线;不是,则不作处理。是,则需选择通道号,应提供通道选择线;不是,则不作处理。ADCADC的分辨率是否大于系统数据总线宽度
31、?的分辨率是否大于系统数据总线宽度?是,则要分两次传输,故需增加锁存器,并提供锁存器选通信号;是,则要分两次传输,故需增加锁存器,并提供锁存器选通信号;不是,则不处理。不是,则不处理。ADCADC芯片内部是否有三态输出锁存器?芯片内部是否有三态输出锁存器?无,则数据线不能与无,则数据线不能与DBDB直接连接,故需增加三态锁存器,并提直接连接,故需增加三态锁存器,并提供锁存允许信号;有,则不处理。供锁存允许信号;有,则不处理。ADCADC的启动方式是脉冲触发还是电平触发?的启动方式是脉冲触发还是电平触发?是脉冲,则提供脉冲信号;是电平,则提供电平信号,并保持到转换是脉冲,则提供脉冲信号;是电平,
32、则提供电平信号,并保持到转换结束。结束。第53页,共107页,编辑于2022年,星期六分析与设计A/D转换器接口的方法 A/D A/D转换的数据采用哪种传输方式?转换的数据采用哪种传输方式?有无条件传输、查询方式、中断方式和有无条件传输、查询方式、中断方式和DMADMA多种方式选择。多种方式选择。A/DA/D转换的数据进行什么样的处理?转换的数据进行什么样的处理?有显示、打印、生成文件存盘、远距离传输等多种处理。有显示、打印、生成文件存盘、远距离传输等多种处理。ADCADC接口电路采用什么元器件组成?接口电路采用什么元器件组成?有普通有普通ICIC芯片、可编程并行口芯片、芯片、可编程并行口芯片
33、、GALGAL器件等多种选择。器件等多种选择。前面前面4 4项是由接口对象项是由接口对象ADCADC决定的(可从芯片手册中查到),用户决定的(可从芯片手册中查到),用户无法改变,只能按照它的要求在设计中给予满足。后面无法改变,只能按照它的要求在设计中给予满足。后面3 3项是项是可以改变的,设计者应根据设计目标灵活选用。可以改变的,设计者应根据设计目标灵活选用。第54页,共107页,编辑于2022年,星期六三、三、AD转换与微机接口电路转换与微机接口电路1 1 1 1、延时等待法接口电路延时等待法接口电路延时等待法接口电路延时等待法接口电路第55页,共107页,编辑于2022年,星期六PROC_
34、ADCPROC_ADCPROCFARPROCFAR;这是一个数据采集子程序;这是一个数据采集子程序AGAIN:AGAIN:OUTY1,ALOUTY1,AL;启动;启动ADCADCCALLDELAYCALLDELAY;延时;延时INALINAL,Y1Y1;取数;取数MOVBX,ALMOVBX,AL;存入数组;存入数组INCBXINCBX;数组指针加;数组指针加1 1LOOPAGAINLOOPAGAIN;循环;循环RETRETPROC_ADCPROC_ADCENDPENDP第56页,共107页,编辑于2022年,星期六2 2 2 2、查询法接口电路、查询法接口电路、查询法接口电路、查询法接口电路第
35、57页,共107页,编辑于2022年,星期六查询方式的数据采集程序框架(模块)接口芯片初始化(当采用可编程并行口芯片作接口芯片初始化(当采用可编程并行口芯片作ADCADC接接口时);口时);选择通道号(当采用多通道选择通道号(当采用多通道A/DA/D转换芯片时);转换芯片时);启动转换;启动转换;查询转换结束状态;查询转换结束状态;读取数据;读取数据;数据传输到存储器;数据传输到存储器;在线数据处理(显示、打印、存盘等);在线数据处理(显示、打印、存盘等);采集未完,继续启动转换;采集未完,继续启动转换;已完,退出。已完,退出。第58页,共107页,编辑于2022年,星期六例 查询方式的ADC
36、接口电路设计(1)要求 利用ADC0804采集100个数据,采集的数据以查询方式传输到内存BUFR区。接口电路采用普通IC芯片组成。第59页,共107页,编辑于2022年,星期六(2)分析 ADC0804是单个模拟量输入,故不提供通道选择信号;ADC0804的分辨率为8位,并具有三态输出锁存器,故可与系统数据总线直接相连;ADC0804的启动方式为脉冲启动,故需提供一个正脉冲信号,进行转换启动。数据传输方式为查询方式,故需将转换结束状态信号作为查询的对象。第60页,共107页,编辑于2022年,星期六(3)设计 硬件设计。硬件设计。由以上分析可知,本接口电路只需提供由以上分析可知,本接口电路只
37、需提供转换启动信号转换启动信号和提供和提供读取转换结束状态信号读取转换结束状态信号的通路。而数据线不作处理,直接的通路。而数据线不作处理,直接连接。为此,要设计端口地址译码电路,产生连接。为此,要设计端口地址译码电路,产生CSCS,并由,并由CSCS和和WRWR共同组成启动信号。同时,还要设置一个三态门,共同组成启动信号。同时,还要设置一个三态门,将转换结束信号将转换结束信号INTR INTR(INTR=0,INTR=0,表示转换结束)引到数表示转换结束)引到数据线的某一位(据线的某一位(D D7 7)上,以便)上,以便CPUCPU读取状态。读取状态。第61页,共107页,编辑于2022年,星
38、期六(3)设计第62页,共107页,编辑于2022年,星期六软件设计n n由于是单通道,且采用普通由于是单通道,且采用普通ICIC芯片组成接口电路,故在程序中未出芯片组成接口电路,故在程序中未出现通道选择和初始化模块。现通道选择和初始化模块。参考程序清单如下:参考程序清单如下:STARTP EQU 310H;STARTP EQU 310H;转换启动端口转换启动端口 STATEP EQU 311H;STATEP EQU 311H;状态端口状态端口 DATAP EQU 310H;DATAP EQU 310H;数据端口数据端口 SSTACK SEGMENT DB 256 DUPSSTACK SEGM
39、ENT DB 256 DUP(0 0)SSTACK ENDS SSTACK ENDS DATA SEGMENT DATA SEGMENT BUFR DB 100 BUFR DB 100(0 0)DATA ENDS DATA ENDS CODE SEGMENT CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:SSTACK ASSUME CS:CODE,DS:DATA,SS:SSTACK BEGIN:MOV SI,OFFSET BUFR;BEGIN:MOV SI,OFFSET BUFR;缓冲区指针缓冲区指针 MOV CX,100;MOV CX,100;采样次数采样次数
40、 第63页,共107页,编辑于2022年,星期六软件设计START:MOV DX,STARTP;START:MOV DX,STARTP;启动转换启动转换 MOV AL,00H;MOV AL,00H;(可以是其他值)(可以是其他值)OUT DX,AL;OUT DX,AL;使使CSCS和和WRWR同时有效同时有效 WAIT1:MOV DX,STATEP;WAIT1:MOV DX,STATEP;查转换结束查转换结束 IN AL,DX IN AL,DX AND AL,80H;AND AL,80H;查查D7=0D7=0(INTR=0INTR=0?)?)JNZ WAIT1;JNZ WAIT1;未结束,等待
41、未结束,等待 MOV DX,DATAP;MOV DX,DATAP;已结束,读数据已结束,读数据 IN AL,DX IN AL,DX MOV MOVSISI,AL;,AL;数据传输到数据传输到BUFRBUFR区区 INC SI;INC SI;缓冲区地址加缓冲区地址加1 1 DEC CX;DEC CX;采样次数减采样次数减1 1 JNZ START;JNZ START;未完,继续启动未完,继续启动 MOV AX,4C00H;MOV AX,4C00H;已完,退出已完,退出 INT 21H INT 21H CODE ENDS CODE ENDS END BEGIN END BEGIN 第64页,共10
42、7页,编辑于2022年,星期六(4)讨论n n A/D转换数据采集程序的基本结构总是循环程序结构。n nADC0804的转换启动信号是由系统的IOW信号与片选信号CS共同组成的。当系统完成对芯片的写操作时,也就产生了转换启动的脉冲信号。这个脉冲信号只与IOW及地址信号CS有关,而与写入的数据无关。这种写操作称为假写。第65页,共107页,编辑于2022年,星期六例 电平启动的ADC接口设计n n(1)(1)要求要求 n n采用采用AD570AD570采集采集1KB1KB数据,采集的数据以查询方式传输到内数据,采集的数据以查询方式传输到内存缓冲区,并在屏幕上显示。存缓冲区,并在屏幕上显示。n n
43、(2)(2)分析分析 uuAD570AD570的启动方式是的启动方式是电平启动电平启动电平启动电平启动,转换时间是,转换时间是25s25s,故接口电路应,故接口电路应提供一个启动电平信号,维持提供一个启动电平信号,维持25s25s时间,直到转换结束为止。时间,直到转换结束为止。另外,另外,AD570AD570芯片内部芯片内部无三态锁存器无三态锁存器无三态锁存器无三态锁存器,输出数据线不能与系统的,输出数据线不能与系统的数据总线直接连接,故采用数据总线直接连接,故采用82C55A82C55A并行接口芯片进行连接和缓并行接口芯片进行连接和缓冲。冲。uu采集的数据要在屏幕上显示。一是要把采集到的用十
44、六进制表采集的数据要在屏幕上显示。一是要把采集到的用十六进制表示的数据转换成示的数据转换成ASCIIASCII码,才能送到屏幕去显示;二是显示码,才能送到屏幕去显示;二是显示格式的选择,数据在屏幕上是采用一列式显示,还是满屏显格式的选择,数据在屏幕上是采用一列式显示,还是满屏显示或分区显示。示或分区显示。第66页,共107页,编辑于2022年,星期六(3)设计n n 硬件设计。硬件设计。n n本接口电路要为本接口电路要为AD570AD570提供启动电平信号和输出数据提供启动电平信号和输出数据线的缓冲电路。这些要求都可以由线的缓冲电路。这些要求都可以由82C55A82C55A接口芯片实接口芯片实
45、现。接口电路如图所示。现。接口电路如图所示。82C55A82C55A的端口地址为的端口地址为303H303H(命(命令口)、令口)、302H302H(C C端口)、端口)、301H301H(B B端口)、端口)、300H300H(A A端端口)。口)。第67页,共107页,编辑于2022年,星期六 软件设计n n本例的流程图如图所示。它与上例查询方式的流程图不同之处有两点:一是采用了82C55A,故增加了82C55A的初始化程序段;一是要求显示数据,故增加了显示程序段。第68页,共107页,编辑于2022年,星期六参考程序清单如下:SSTACK SEGMENT SSTACK SEGMENT D
46、B 256 DUP DB 256 DUP(0 0)SSTACK ENDS SSTACK ENDS DATA SEGMENT DATA SEGMENT BUFR DB 100 BUFR DB 100(0 0)DATA ENDS DATA ENDS CODE SEGMENT CODE SEGMENT ASSUME CS:CODE ASSUME CS:CODE,DS:DATADS:DATA,SS:SSTACK SS:SSTACK MAIN:MOV AX,DATA MAIN:MOV AX,DATA MOV DS,AX MOV DS,AX MOV AX,SSTACK MOV AX,SSTACK MOV
47、SS,AX MOV SS,AX MOV CX,100;MOV CX,100;采样次数采样次数CX CX MOV DI,OFFSET BUFR;MOV DI,OFFSET BUFR;缓冲区指针缓冲区指针SI SI 第69页,共107页,编辑于2022年,星期六 MOV DX,303H;82C55A MOV DX,303H;82C55A初始化初始化 MOV AL,91H;MOV AL,91H;工作方式命令字工作方式命令字 OUT DX,AL OUT DX,AL MOV AL,0FH;MOV AL,0FH;置置PCPC7 7=1=1,使,使B/C=1B/C=1,启动信号无效,启动信号无效 OUT D
48、X,AL OUT DX,AL NOP NOP NOP NOP START:MOV DX,303H;START:MOV DX,303H;启动转换启动转换 MOV AL,0EH;MOV AL,0EH;置置PCPC7 7=0=0,使,使B/C=0B/C=0,启动转换,启动转换 OUT DX,AL OUT DX,AL CHECK:MOV DX,302H;CHECK:MOV DX,302H;查转换结束查转换结束 IN AL,DX IN AL,DX AND AL,08H;PC AND AL,08H;PC3 3=0=0否,即否,即DR=0DR=0否否 JNZ CHECK;JNZ CHECK;未结束,继续转换
49、未结束,继续转换 第70页,共107页,编辑于2022年,星期六 MOV DX,300H;MOV DX,300H;已结束,读数据已结束,读数据 IN AL,DX IN AL,DX MOV MOVDIDI,AL;,AL;存数据到存数据到BUFRBUFR区区 MOV DX,303H;MOV DX,303H;撤消启动信号撤消启动信号 MOV AL,0FH;MOV AL,0FH;置置PCPC7 7=1=1,使,使B/C=1B/C=1,撤消启动信号,撤消启动信号 OUT DX,AL OUT DX,AL MOV AL,MOV AL,DIDI;十六进制十六进制ASCIIASCII码转换码转换 AND AL,
50、0F0H;AND AL,0F0H;高高4 4位码制转换位码制转换 MOV MOV C CL,4 L,4 SHR AL,CL SHR AL,CL CMP AL,9 CMP AL,9 JA HEX JA HEX ADD AL,30 ADD AL,30 JMP JMP DISPLAYDISPLAY第71页,共107页,编辑于2022年,星期六HEX:HEX:ADD AL,37 ADD AL,37 DISPLAY:DISPLAY:MOV DL,AL;MOV DL,AL;显示高显示高4 4位位 MOV AH,2H MOV AH,2H INT 21H INT 21H MOV AL,MOV AL,DIDI