当要求多个模拟量同时输出时,可采用双重缓冲方式,PC总线DAC0832DI7~DI0D/AD7转换1Vo1DO+5vcsWR2ILEWR1XEERDAC0832DI7~DI0DIA地址译码转换A9Vo22portl+5vAO-ILECSWR2WR1XEERport2port3OW思考:相应的程序如何编写?
当要求多个模拟量同时输出时,可采用双重缓冲方式。 思考:相应的程序如何编写? 地 址 译 码 port1 ILE CS WR1 XFER WR2 + D/A 转换 DI7~DI0 Vo1 port2 ILE CS WR1 XFER WR2 + D/A 转换 DI7~DI0 Vo2 port3 DAC0832 DAC0832 D7 ~ D0 A9 ~ A0 IOW PC总线 +5v +5v
编程:利用上图,将datav1和datav2处的两组数据对应转换成模拟量同时输出。codeSEGMENTASSUMECS:code,DS:codedatavlDB11h, 12h. 13h. 14h, 15h. 16h. 17h, 18h, 19h, 1AhDBdatav221h. 22h. 23h. 24h. 25h. 26h. 27h. 28h. 29h. 2AhMOVAX, codestart:MOVDS, AXLEASL.data vlLEABX, data v2MOVCX, 10MOV:取V1的数据AL,[SI]next:OUT;打开第一片0832第一级锁存portl, ALMOV;取V2的数据AL.[BX]OUT;打开第二片0832第一级锁存port2, ALOUTAL;打开两片0832的第二级锁存port3,SIINCINCBXLOOPnextMOVAH, 4CHINT21HcodeENDSENDstart
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第一级锁存 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处的两组数据, 一一对应转换成模拟量同时输出
3.应用举例例1连线如图,计算当数字量为OCDH时的输出Vo。数据线RFBDODI0~I0UT1D7DI7VoILE+5VI0UT21OWWR1WR2转换一个数据的程序段地址译码portlMOVAL.OCDHCSVREFA0-5VMOVDX, portlport2XFERA9OUTDX, ALDGNDMOVDX, port2一OUTDX, ALPC总线DAC0832
3. 应用举例 例1 连线如图,计算当数字量为0CDH时的输出Vo。 PC总线 DAC0832 数 据 线 IOW WR1 DI0 ~ DI7 D0 ~ D7 +5V ILE + - Vo IOUT1 IOUT2 RFB WR2 DGND CS 地 址 译 码 A0 ~ A9 XFER VREF -5V port1 port2 转换一个数据的程序段: MOV AL, 0CDH MOV DX,port1 OUT DX, AL MOV DX, port2 OUT DX, AL
数据线DIODORFBIOUT1DI7D7VoIOUT2ILE+5VJOWWRiWR2地址译码portlcsVREFA0-5Vport2XFERA9DGND255VREF分析:当数字量为0FFH-255时,IOUT1256RFB255VREFVo = - IOUT1 X RFB=256所以:当数字量为0CDH=205,VREF=-5V时:205VREF= 4VVo =256
分析: 当数字量为0FFH=255时,IOUT1 = Vo = - IOUT1 × RFB= - FB REF 256R 255V 256 255VREF 所以: 当数字量为0CDH=205,VREF= -5V时: Vo = - = 4V 256 205VREF 数据线 IOW WR1 DI0 ~ DI7 D0 ~ D7 +5V ILE + - Vo IOUT1 IOUT2 RFB WR2 DGND CS 地 址 译 码 A0 ~ A9 XFER VREF -5V port1 port2
注意:Vo的输出与参考电压VREF、以及输出的连接方法(同相还是反相)有关数据线RFBDIODO~~IOUT1DI7D7VoIOUT2ILE+5V4V8V-8VIOWWRIWR2地址译port1CSVREF-5V-10V10VAO-port2XFER码DGNDA9上例中,若VREF接的是-10V,则Vo=8V若VREF接的是10V,则Vo=-8V
注意: Vo的输出与参考电压VREF、 以及输出的连接方法(同相还是反相)有关。 数据线 IOW WR1 DI0 ~ DI7 D0 ~ D7 +5V ILE + - Vo IOUT1 IOUT2 RFB WR2 DGND CS 地 址 译 码 A0 ~ A9 XFER VREF -5V port1 port2 4V 上例中,若VREF接的是-10V, 则 Vo = 8V -10V 8V 10V 若VREF接的是10V, 则 Vo = -8V -8V