1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,四、典型,D/A,转换,DAC0832,芯片,8,位并行,、,中速(建立时间1,us)、,电流型,、低廉,(1020元),引脚和逻辑结构,DAC0832,与微机系统的连接,应用举例,1,1.,引脚和逻辑结构,20个引脚、双列直插式,8,位,输入,寄存器,8,位,DAC,寄存器,8,位,D/A,转换器,V,REF,I,OUT2,R,FB,A,GND,V,CC,D,GND,DI7DI0,CS,WR1,WR2,XFER,ILE,LE,LE,I,OUT1,&,&,&,R,FB,2,V,cc,芯片电源电压,+5,V+
2、15V,V,REF,参考电压,-10,V+10V,R,FB,反馈电阻引出端,此端可接运算放大器输出端,A,GND,模拟信号地,D,GND,数字信号地,8,位,DAC,寄存器,8,位,D/A,转换器,V,REF,I,OUT2,R,FB,A,GND,V,CC,D,GND,DI7DI0,LE,I,OUT1,LE,CS,WR1,WR2,XFER,ILE,&,&,&,8,位,输入,寄存器,R,FB,3,DI,7,DI,0,数字量输入信号,其中:,DI,0,为最低位,,DI,7,为最高位,8,位,DAC,寄存器,8,位,D/A,转换器,V,REF,I,OUT2,R,FB,A,GND,V,CC,D,GND,
3、DI7DI0,LE,I,OUT1,LE,CS,WR1,WR2,XFER,ILE,&,&,&,8,位,输入,寄存器,R,FB,4,8,位,DAC,寄存器,8,位,D/A,转换器,V,REF,I,OUT2,R,FB,A,GND,V,CC,D,GND,DI,7,DI,0,LE,I,OUT1,LE,CS,WR1,WR2,XFER,ILE,&,&,&,8,位,输入,寄存器,R,FB,0,0,1,1,ILE,输入锁存允许信号,高电平有效,CS,片选信号,低电平有效,WR1,写信号1,低电平有效,LE1,当,ILE、CS、WR1,同时有效时,LE=1,,,输入寄存器的输出随输入而变化,WR1 ,LE=0,,
4、将输入数据锁存到输入寄存器,5,LE2,XFER,转移控制信号,,低电平有效,WR2,写信号2,低电平有效,当,XFER、WR2,同时有效时,LE2=1,DAC,寄存器输出随输入而变化;,WR1 ,LE=0,,,将输入数据锁存到,DAC,寄存器,,数据进入,D/A,转换器,开始,D/A,转换,V,REF,8,位,DAC,寄存器,8,位,D/A,转换器,I,OUT2,R,FB,A,GND,V,CC,D,GND,DI,7,DI,0,LE,I,OUT1,LE,CS,WR1,WR2,XFER,ILE,&,&,&,8,位,输入,寄存器,R,FB,0,0,1,6,8,位,DAC,寄存器,8,位,D/A,
5、转换器,V,REF,I,OUT2,R,FB,A,GND,V,CC,D,GND,DI,7,DI,0,LE,I,OUT1,LE,CS,WR,1,WR,2,XFER,ILE,&,&,&,8,位,输入,寄存器,I,OUT1,模拟电流输出端1,当输入数字为全”1”时,输出电流最大,约为:,全”0”时,输出电流为0,I,OUT2,模拟电流输出端2,I,OUT1,+I,OUT2,=,常数,255,V,REF,256R,FB,R,FB,7,2.,DAC0832,与微机系统的连接,1),单缓冲工作方式,一个寄存器工作于直通状态,,另一个工作于受控锁存器状态,2)双缓冲工作方式,两个寄存器均工作于受控锁存器状态,
6、8,1),单缓冲工作方式,:,一个,寄存器工作于,直通,状态,,一个,工作于,受控,锁存器状态,在不要求多相,D/A,同时输出时,,可以采用单缓冲方式,,此时只需一次写操作,就开始转换,,可以提高,D/A,的数据吞吐量。,9,+,-,Vo,port,数 据 线,地址,译码,PC,总线,IOW,A0,A9,D0,D7,+5V,CS,DAC0832,DI,0,DI,7,I,OUT1,I,OUT2,R,FB,XFER,WR2,WR1,ILE,单缓冲工作方式,:,输入寄存器,工作于,受控,状态,DAC,寄存器,工作于,直通,状态,10,PC,总线,I/O,写时序,A,15,A,0,CLK,IOW,T
7、4,T,1,T,2,T,3,Tw,D,7,D,0,port,转换一个数据,的程序段:,MOV AL,data ;,取数字量,MOV DX,port,OUT DX,AL,D/A,转换,I,OUT2,DI,7,DI,0,LE,I,OUT1,LE,CS,WR1,ILE,&,WR2,XFER,&,输入,寄存,R,FB,-,+,Vo,IOW,A,9,A,0,D,7,D,0,+5V,PC,总线,port,地址,译码,DAC,寄存,11,port,数 据 线,地址,译码,PC,总线,IOW,A,0,A,9,D,0,D,7,+5V,XFER,DAC0832,DI,0,DI,7,+,-,Vo,I,OUT1,I
8、OUT2,R,FB,CS,WR1,WR2,ILE,单缓冲工作方式,:,输入寄存器,工作于,直通,状态,DAC,寄存器,工作于,受控,状态,12,PC,总线,I/O,写时序,A,15,A,0,CLK,IOW,T,4,T,1,T,2,T,3,Tw,D,7,D,0,port,转换一个数据,的程序段:,MOV AL,data ;,取数字量,MOV DX,port,OUT DX,AL,I,OUT2,DI,7,DI,0,LE,CS,WR1,ILE,&,输入,寄存,V,o,D,7,D,0,+5V,PC,总线,port,WR2,IOW,A,9,A,0,XFER,D/A,转换,LE,I,OUT1,R,FB,-
9、DAC,寄存,地址,译码,&,13,2),双缓冲工作方式:,两个寄存器均工作于受控锁存器状态,DAC0832,PC,总线,数 据 线,WR1,IOW,DI,0,DI,7,D,0,D,7,+5V,ILE,+,-,V,o,I,OUT1,I,OUT2,R,FB,WR2,CS,地,址,译,码,A,0,A,9,XFER,V,REF,-,5V,port1,port2,D,GND,A,GND,14,转换一个数据的程序段,:,MOV AL,data ;,取数字量,MOV DX,,port1,OUT DX,AL,;,打开第一级锁存,MOV DX,port2,OUT DX,AL,;,打开第二级锁存,I,OU
10、T2,DI,7,DI,0,LE,CS,WR1,ILE,&,输入,寄存,V,o,D,7,D,0,+5V,PC,总线,port2,WR2,IOW,A,9,A,0,XFER,D/A,转换,LE,I,OUT1,R,FB,-,+,DAC,寄存,地址,译码,&,port1,15,当要求多个模拟量同时输出时,可采用双重缓冲方式。,思考,:相应的程序如何编写?,地,址,译,码,port1,XFER,WR2,CS,WR1,ILE,+,D/A,转换,DI,7,DI,0,V,o1,port2,XFER,WR2,CS,WR1,ILE,+,D/A,转换,DI,7,DI,0,V,o2,port3,DAC0832,DAC0
11、832,D,7,D,0,A,9,A,0,IOW,PC,总线,+5v,+5v,16,code,SEGMENT,ASSUME CS:code,DS:code,datav1 DB 11h,12h,13h,14h,15h,16h,17h,18h,19h,1Ah,datav2 DB 21h,22h,23h,24h,25h,26h,27h,28h,29h,2Ah,start:MOV AX,code,MOV DS,AX,LEA SI,data_v1,LEA BX,data_v2,MOV CX,10,next:MOV AL,SI,;,取,V1,的数据,OUT port1,AL,;,打开,第一片,0832,第一
12、级,锁存,MOV AL,BX,;,取,V2,的数据,OUT port2,AL,;,打开,第二片,0832,第一级,锁存,OUT port3,AL,;,打开,两片,0832的,第二级,锁存,INC SI,INC BX,LOOP next,MOV AH,4CH,INT 21H,code,ENDS,END,start,编程:利用上图,将,datav1,和,datav2,处的两组数据,,一一对应转换成模拟量同时输出。,17,3.,应用举例(调幅),例1,连线如图,计算当数字量为0,CDH,时的输出,Vo,。,DAC0832,PC,总线,数 据 线,WR1,IOW,DI0,DI7,D0,D7,+5V,I
13、LE,+,-,Vo,I,OUT1,I,OUT2,R,FB,WR2,D,GND,CS,地,址,译,码,A0,A9,XFER,V,REF,-,5V,port1,port2,转换一个数据的程序段:,MOV AL,0CDH,MOV DX,,port1,OUT DX,AL,MOV DX,port2,OUT DX,AL,18,调幅分析:,当数字量为,0,FFH,=255,时,,I,OUT1,=,Vo=,-,I,OUT1,R,FB,=,-,FB,REF,256R,255V,256,255 V,REF,所以:,当数字量为0,CDH=205,V,REF,=-5V,时:,Vo=-,=4V,256,205V,REF
14、数据线,WR1,IOW,DI0,DI7,D0,D7,+5V,ILE,+,-,Vo,I,OUT1,I,OUT2,R,FB,WR2,D,GND,CS,地,址,译,码,A0,A9,XFER,V,REF,-,5V,port1,port2,19,注意:,Vo,的输出与参考电压,V,REF,、,以及输出的连接方法(同相还是反相)有关。,数据线,WR1,IOW,DI0,DI7,D0,D7,+5V,ILE,+,-,Vo,I,OUT1,I,OUT2,R,FB,WR2,D,GND,CS,地,址,译,码,A0,A9,XFER,V,REF,-,5V,port1,port2,4V,上例中,,若,V,REF,接的是,-
15、10,V,则,Vo=8V,-10V,8V,10V,若,V,REF,接的是,10,V,则,Vo=-8V,-8V,20,例2,利用上例连线图,编程输出一锯齿波,。,t,Vo,4V,0V,21,调频:,code SEGMENT,ASSUME CS:code,start:MOV CX,8000H,;,波形个数,MOV AL,0,;,锯齿谷值,next:MOV DX,port1,;,打开第一级锁存,OUT,DX,AL,MOV DX,port2,;,打开第二级锁存,OUT,DX,AL,CALL delay,;,控制锯齿波的周期,INC AL,;,修改输出值,CMP AL,0CE,H,;,比较是否到锯齿峰值
16、JNZ next,;,未到跳转,MOV AL,0,;,重置锯齿谷值,LOOP next,;,输出个数未到跳转,MOV AH,4CH,;,返回,DOS,INT 21H,;,子程,delay(,略),code ENDS,END start,Vo,4V,0V,CDH,22,4V,0V,Vo,t,实际输出的波形图,t,Vo,4V,0V,不是,23,第三节 模/数转换器,一、,A/D,转换器的基本原理(自学),二、,A/D,转换器的技术指标(自学),三、,A/D,转换器及其连接,四、,典型,A/D,转换器,24,一、,A/D,转换器的基本原理(自学),模拟输入量,数字输出量,000,001,010,0
17、11,000,001,010,011,1v,2v,3v,4v,5v,6v,7v,A/D,转换器,模拟输入量,数字输出量,25,26,C,为计数器控制端:,C=1,,开始计数;,C=0,,停止计数。,计数式,A/D,转换由8位,D/A,转换器、8位计数器和比较器组成。,8,位,计数器,D,7,-D,0,8,位,D/A,转换器,A,-,+,CLK,EOC,S,开始转换,转换结束,C,比较器,V,i,V,0,CLR,模拟输入电压,D/A,转换器输出电压,数字量输出,D0D7,计数时钟,S=0,,使8位计数器清“0”,,S=1,,使计数器准备计数。,27,启动信号,S:,S,端 :使8位计数器清“0”
18、S,端 :计数器准备计数。,8位,D/A,转换器:数字量00,H 0V,电压输出,V,o,。,当,V,i,V,o,时,,C=1,计数器从0开始计数,,只要,V,i,V,o,,C=1,,计数器不断计数,,当,V,o,V,i,时,C=0,,计数器停止计数。,D7-D0,为,V,i,所对应的数字量。实现了,A/D,转换。,C,的 表示,A/D,转换结束,,可以作为中断请求信号或作为查询用。,28,计数式,A/D,转换,时间图,29,双积分式,A/D,转换,积分法,A/D,转换种类:,双斜率、单斜率、多斜率三种。,仅介绍双斜率法(又称为双积分法)。,双积分式,A/D,转换器组成:,积分器,A1;,
19、零电压比较器,A2;,计数器;,控制逻辑;,标准电压等。,30,A,1,-,+,V,X,V,N,S,1,A,2,-,+,S,2,C,V,01,控制逻辑,控制逻辑,.,.,A/D,启动,A/D,结束,清0,溢,出,进,位,比较器,模拟输入,标准电压,双积分式,A/D,转换,31,A/D,转换通过采样和测量进行二次积分来完成的。,工作过程如下:采样和测量,计数器清“0”,,启动脉冲将开关,S2,瞬时接通,积分器,A1,输出,Vo1=0V,,采样:,开关,S,1,接通模拟输入,V,X,,S,2,断开,积分器(,V,x,为负,)进行,正向,积分,采样开始,积分器,Vo1,稍高于地几个毫伏,比较器,A2
20、输出 1,计数器开始计数,,计数器产生溢出,计数器各位清“0”,采样结束。,双积分式,A/D,转换,测量:,将,S1,倒向标准电压,V,N,,,测量开始,,,V,N,为正电压,进行反向积分。,Vo1,高于地电位,比较器输出为1,计数器又开始计数,直到,Vo1=0,为止,输出,A/D,结束信号。,32,采样阶段的正向积分。,设正向积分时间为,T1,,则积分输出:,V,01,=-,=-,=,当,t=t2,时,,v,01,m=T,1,33,分析测量阶段反向积分:,设反向积分时间为,T2,,则:,v,01,=,v,01m,+-,N,dt,当,t=t3,时,,v,01,=0,,所以 0=,v,01m,
21、N,dt,即 =,N,T,2,T,2,=T,1,/,v,N,若计数时钟频率为,f,,则根据计数,N,可以求得计数时间,T。,T,1,=N,1,/f ,T,2,=N,2,/f.,N,1,,V,N,已知,,N,2,=N,1,N,N2 ,N2,就为,A/D,转换结果。,34,逐次逼近式,A/D,转换,逐次逼近式,A/D,转换是用得最多的一种方法。,组成:,8位,D/A,转换器、比较器、控制逻辑,逐次逼近寄存器.,工作过程:,从最高位开始通过试探值逐次进行测试,,直到试探值经,D/A,转换器输出,Vo,与,V,X,相等或达到允许误差范围为止。则该试探值就为,A/D,转换所需的数字量。,35,-,+
22、8,位,D/A,转换器,缓冲寄存器,控制电路,逐次逼近,寄存器,V,i,V,O,启动信号,CLK,转换信号,D,7,D,6,D,2,D,3,D,4,D,5,D,0,D,1,比较器,逐次逼近式,A/D,转换,工作原理图,36,T,1,T,8,T,7,T,6,T,5,T,4,T,3,T,2,.,.,5,2.5,3.75,4.375,4.69,4.84,4.73,4.80,5,0,时钟,A/D,启动,A/D结束,V,i,/V,t,逐次逼近式,A/D,转换,37,如:实现模拟电压4.80,V,相当于数字量123的,AD,转换.,具体过程如下:,当出现启动脉冲 时,逐次逼近寄存器清“0”;,当第一个,
23、T1,到来,逐次逼近寄存器,最高位,D,7,置“1”,,8位,D/A,转换器输入为10000000,B,,输出,Vo,为满度的一半5,V,,即满量值的128/255。,若,VoVi,,比较器输出低电平,,控制电路使逐次逼近寄存器最高位,D,7,置“0”(反之,置“1”);,38,当第二个 到来,逐次逼近寄存器,D,6,位置“1”,,D/A,转换器的数字量输入为01000000,B,,输出电压为2.5,V,VoVi,,比较器输出高电平,,将,D,6,位的“1”保留(否则,将,D6,位置0);,第三个,T,3,时钟脉冲来,又将,D,5,位置“1”,重复上述过程直到,D,0,位置“1”,再与输入比较
24、经过8次以后,,逐次逼近寄存器中得到的数字量就是转换结果。,过程用下表表示。,T,2,39,逐次逼近式,A/D,转换,40,比较三种,A/D,转换方式,计数式,A/D,转换速度慢,价格低,适用于慢速系统;,双积分式,A/D,转换分辨率高,抗干扰性好,但转换速度较慢,适用于中速系统。,逐次逼近型,A/D,转换精度高、转换速度快、易受干扰。,微机系统中大多数采用逐次逼近型,A/D,转换方法。,41,二、,A/D,转换器的技术指标(自学),1.,分辨率,2.,转换精度,3.,转换时间和转换率,42,1,分辨率,指,A/D,转换器所能分辨的最小模拟输入量,,或指转换器满量程模拟输入量被分离的级数。
25、模拟输入量,数字,输出量,000,001,010,011,000,001,010,011,1v,2v,3v,4v,5v,6v,7v,输入,输出,-0.50.5,v,000,0.51.5v,001,1.52.5v,010,、,5.56.5v,110,6.57.5v,111,在,ADC,中,模拟量和数字量之间不是一一对应的关系,43,A/D,分辨率通常用能转换成的数字量位数表示。,如:,8位,A/D,转换器的,分辨率,为,8位,。,10位,A/D,转换器的,分辨率,为,10位,。,44,2,转换精度,指在输出端产生给定的数字量,,实际输入的模拟值与理论输入的模拟值之间的偏差。,反应,ADC,的实
26、际输出接近理想输出的精确程度,。,由于在一定范围内的模拟值产生相同的数字量,,取该范围内的中间模拟值计算。,45,常用数字量最低有效位,LSB,对应,模拟量的几分之几,表示,。,1,2,若,ADC,在 范围内产生相对应的,唯一数字量,,,称其精度为,0,LSB,1,4,LSB,3,4,若某,ADC,在 范围内产生相对应的唯一数字量,,称其精度为,1,2,LSB,若某,ADC,在 范围内产生相对应的唯一数字量,,称其精度为,在此基准上定义,ADC,精度:,46,3,转换时间和转换率,转换时间,指完成一次,A/D,转换所需的时间,,从启动信号开始到转换结束,得到稳定数字量的时间。,转换率,是转换时
27、间的倒数。,47,三、,A/D,转换器及其连接,1.,A/D,转换器分类,2.,A/D,转换器与系统的连接,48,1.,A/D,转换器分类,按工作原理分,按输入方式分,按输出方式分,按性能特点分,按输出是否带三态缓冲分,49,按模拟量输入方式分,单极性,ADC、,双极性,ADC,按数字量输出方式分,并行,ADC、,串行,ADC,按工作原理分,计数式,ADC、,双积分式,ADC,逐次逼近式,ADC、,并行式,ADC,50,按性能特点分,按分辨率分,4位、6位、8位、10位、12位、14位、16位、,按转换速度分,低速、中速、高速、超高速,(转换时间分别为1,s、1ms、1us、1ns),按转换精
28、度分,低精度、中精度、高精度、超高精度,51,按输出是否带三态缓冲分,带可控三态缓冲,ADC,如:,ADC0809,不带可控三态缓冲,ADC,如:,AD570、ADC1210,52,2.,A/D,转换器及其连接,1),A/D,转换器的典型信号,2),A/D,转换器各信号与系统的连接,53,1),A/D,转换器的典型信号,A/D,转换器,模拟量,输入信号,模拟量输入信号,A/D,转换启动信号,A/D,转换启动信号,转换完成信号,转换完成(结束)信号,数字量输出信号,数字量输出信号,54,2),A/D,转换器各信号与系统的连接,A/D,转换器,模拟量输入信号,数字量输出信号,A/D,转换启动信号,
29、转换完成信号,55,注意,A/D,转换器允许输入的模拟值范围,不要超出范围,A/D,转换器,模拟量输入信号,数字量输出信号,A/D,转换启动信号,转换完成信号,为充分发挥,A/D,转换器的分辨率,输入量应与转换量程相称。,模拟量输入信号,例如,某,A/D,转换的范围为 010,V,输入的模拟信号为05,V,,则应将输入信号放大2倍,再送入,A/D,进行转换。,56,数字量输出信号,输出不带可控三态缓冲器的,ADC,输出带可控三态缓冲器的,ADC,输出位数超过微机数据总线的,ADC,57,PC,总线,I/O,读 时序,A15A0,CLK,IOR,T,4,T,1,T,2,T,3,Tw,D7D0,执
30、行,IN AL,DX,时,:,在,IOR,的上升沿控制三态门,,数字量进入,CPU,输出不带可控三态缓冲器的,ADC,PC,总,线,IOR,不带,可控三态,ADC,模拟量,输 入,数据线,地址线,0,0,地,址,译,码,三,态,门,1,数字量输出不能直接与总线相连。,需加三态门才能与数据总线相连。,58,输出带可控三态缓冲器的,ADC,PC,总线,I/O,读时序,A15A0,CLK,IOW,T,4,T,1,T,2,T,3,Tw,D7D0,执行,IN AL,DX,时,:,在,IOR,的上升沿打开三态门,,数字量进入,CPU,数据线,带,可控三态,ADC,模拟量,输 入,PC,总,线,IOR,地,
31、址,译,码,地址线,0,0,1,其数字量输出可直接与微机的数据总线相连。,59,输出数字量位数超过微机数据总线的,ADC,PC,总,线,数据线,8位,12,位,ADC,模拟量,输 入,12,位,?,ADC,的转换结果不能一次进入,CPU,,需按字节分多次读取。,60,总线,12,位,A/D,转,换,器,数据线,D7D0,模拟量,输 入,IOR,低,8位,三态,0,0,地,址,译,码,地址线,0,0,高,4,位,三态,低8位,高4位,D3D0,port_L,port_H,1,1,读取转换结果到,buffer,中:,IN Al,port_L,MOV,buffer,AL,IN AL,port_H,M
32、OV,buffer+1,AL,61,A/D,转换启动信号,8,位,DAC,寄存器,8,位,D/A,转换器,V,REF,I,OUT2,R,FB,A,GND,V,CC,D,GND,DI7DI0,LE,2,I,OUT1,LE,1,CS,WR1,WR2,XFER,ILE,1,1,1,8,位,输入,寄存器,对,D/A,芯片,只要数字信号进入转换电路,,就开始,D/A,转换,无启动信号。,62,对一个连续的模拟信号进行,A/D,转换时,,在一个数据转换完成之后,应再发启动信号,,开始下一个数据的转换。,而,A/D,芯片,每进行一次数据转换,,均受启动信号控制,在启动信号有效之后,,才开始一次,A/D,转换
33、得到一个数字量。,A/D,转换器,模拟量输入信号,数字量输出信号,A/D,转换启动信号,转换完成信号,63,A/D,启动信号的形式有电平启动和脉冲启动,脉冲启动,对脉冲启动的,ADC,,如,ADC0804、ADC0809、ADC1210,可用,CPU,执行输出指令时发出的片选信号和写信号组合得到,PC,总,线,IOW,地,址,译,码,地址线,0,0,1,模拟量,输 入,A/D,转换器,A/D,转换,启动信号,OUT DX,AL,64,电平启动,对电平启动的,ADC,,如,AD570、AD571、AD572,,该信号必须保持到,A/D,转换结束,中途不能撤除;,否则会停止转换,得到错误结果。,
34、CPU,可通过并行接口对,ADC,芯片发电平形式的启动信号。,PC,总,线,IOW,地,址,译,码,地址线,0,0,1,模拟量,输 入,A/D,转换器,OUT DX,AL,A/D,转换,启动信号,数据线,锁,存,器,65,转换完成,EOC,信号,A/D,转换器,模拟量输入信号,数字量输出信号,A/D,转换启动信号,转换完成信号,A/D,转换需要一定时间,,在转换完一个数据之后,,A/D,芯片会发出一个转换完成信号。,(相当于输入设备的准备好信号),66,将,A/D,芯片看作一个输入设备,,CPU,可采用下列 四种方法,读取,A/D,的转换结果:,程序延时方式(同步方式),程序查询方式,中断方式
35、等待方式,数字量输出信号,A/D,转换器,模拟量,输入信号,A/D,转换,启动信号,转换完成信号,四种方式对,EOC,信号的处理各不相同,67,程序延时方式(同步方式),程序延时方式下,,硬件连线上未利用转换完成信号,启动,A/D,转换,读取,A/D,转换结果,延时,等待,A/D,转换结束,Y,N,转换下一数据?,通过查阅手册了解,A/D,转换一个数据所需时间,,在,CPU,启动,A/D,转换之后,,执行一个固定延时程序,,,延时应,大于等于,A/D,的转换时间,,然后,CPU,再读取,A/D,的转换结果,。,68,程序查询方式,PC,总,线,IOR,地,址,译,码,地址线,0,0,1,模拟
36、量,输 入,A/D,转换器,IN AL,DX,A/D,转换,完成信号,数据线,三,态,门,转换完成,EOC,信号通过并行端口,送入,CPU。,在,CPU,启动,A/D,转换之后,,CPU,不断查询,A/D,的转换结束信号,,一旦该信号有效,,CPU,读取,A/D,的转换结果。,69,启动,A/D,转换,读取,A/D,转换结果,Y,N,N,Y,查询,A/D,转换结束,信号是否有效?,转换下一数据?,程序查询方式流程,70,中断方式,A/D,转换器,模拟量,输入信号,数字量,输出信号,A/D,转换,启动信号,转换完成信号,IRQ4,PC,总线,用,A/D,转换结束信号向微机系统发中断申请,,CPU
37、采用中断方式读取,A/D,转换结果。,71,主程其它工作处理,(可用双重循环延时代替),设置中断向量,设置8259,A,,允许中断,启动,A/D,转换,STI,开中断,设置8259,A,,禁止中断,返回,DOS,CLI,关中断,开始,主程序,发中断结束命令,EOI,启动,A/D,转换,IRET,中断返回,开始,读取,A/D,转换结果,中断子程,72,主程序,发中断结束命令,EOI,IRET,中断返回,开始,读取,A/D,转换结果,中断子程,设置中断向量,设置8259,A,,允许中断,STI,开中断,设置8259,A,,禁止中断,返回,DOS,CLI,关中断,开始,N,启动,A/D,转换,用,
38、HLT,指令,等中断,转换下一数据?,Y,或使用,HLT,指令,73,等待方式,A/D,转换器,模拟量,输入信号,数字量,输出信号,A/D,转换,启动信号,转换完成信号,READY,CPU,用,A/D,转换结束信号向微机系统发,READY,信号,,当,CPU,用,IN,读指令读取结果时,在未转换完成前,,READY,信号为,低电平,,,将延长,CPU,的读,I/O,端口周期,;,待,READY,有效,即,A/D,转换完成之后,再读取转换结果。,74,T,1,T,2,T,3,T,w,T,4,READY,A19A16,AD7AD0,IO,/,M,A15A8,ALE,RD,DT,/,R,DEN,CL
39、K,高,IO,低,M,A19A16,S6 S3,D7 D0,/S6S3,A7 A0,8088,CPU,最小模式下,在,T3,状态下降沿,检测,READY,信号,,当,READY,为低电平,,,增加,Tw,状态,;,直到,READY,为高电平,,,才进入,T4,状态,75,A/D,转换器,模拟量,输入信号,数字量,输出信号,A/D,转换,启动信号,转换完成信号,IO CH RDY,PC,总线,利用,IBM PC/XT,总线上的,IO CH RDY,信号:,76,A9A0,IOR,CLK,D7D0,T,1,T,2,T,3,T,4,IO CK RDY,T,w,T,w,T,w,T,w,在,T3,状态下降沿,检测,IO CK RDY,信号,,当,IO CK RDY,为低电平,,,增加,Tw,状态,直到,IO CK RDY,为高电平,才进入,T4,状态,77,启动,A/D,转换,读取,A/D,转换结果,Y,N,转换下一数据?,等待方式,流程,思考:,程序延时方式,和,等待方式,在硬件连线和软件上的不同之处?,启动,A/D,转换,读取,A/D,转换结果,延时,等待,A/D,转换结束,Y,N,转换下一数据?,程序延时方式,流程,78,






