(9)如选择另一实验则重复上述步骤中5~8。
5、调节电位器W1,显示器上会不断显示新的转换结果。模拟量和数字量对应关系的典型值为:
0-00H
+2.5V-80H +5V-FFH
6、按RESET键或STOP键后,退出运行状态。
特注:如果没有PC机的情况下,实验系统独立工作时,可以运行监控中已调好的实验程序。实验步骤如下:
1、在DVCC实验系统显示监控提示符“P.”状态下,输入起始段地址F000(后面三个0可以省略)
2、按F1键,再输入起始偏移地址9000
3、按EXEC键,在系统显示器上显示“0809XX”。“XX”表示输入的模拟量经A/D转换后的数字量。
4、调节电位器W1,显示器上会不断显示新的转换结果。 模拟量和数字量对应关系的典型值为: 0-00H +2.5V-80H +5V-FFH
六、实验参考程序
CODE SEGMENT ASSUME CS:CODE ADPORT EQU 0010h ORG 1000H
START: JMP ADCONTORL ADCONTORL:CALL FORMAT ADCON: MOV AX,00 MOV DX,ADPORT OUT DX,AL MOV CX,0500H DELAY: LOOP DELAY MOV DX,ADPORT IN AL,DX CALL CONVERS CALL DISP JMP ADCON
CONVERS:MOV AH,AL AND AL,0FH MOV BX,077AH MOV DS:[BX],AL INC BX MOV AL,AH
11
AND AL,0F0H MOV CL,04H SHR AL,CL MOV DS:[BX],AL RET
disp: mov dx,077Fh mov ah,20h
disp0: mov cx,00ffh mov bx,dx mov bl,ds:[bx] mov bh,0h push dx mov dx,0ff22h mov al,cs:[bx+1060h] OUT DX,AL mov dx,0ff21h mov al,ah OUT DX,AL disp1: loop disp1 pop dx dec dx shr ah,01h jnz disp0 mov dx,0ff22h mov al,0ffh OUT DX,AL ret
data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0ah db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh FORMAT: MOV BX,0 MOV WORD PTR DS:[BX+077AH],0000H ADD BX,2 MOV WORD PTR DS:[BX+077AH],0009H ADD BX,2 MOV WORD PTR DS:[BX+077AH],0008H RET CODE ENDS END START
12
实验二 使用DAC0832的D/A转换实验(一)
一、实验目的
熟悉DAC0832数模转换器的特性和接口方法,掌握D/A 输出程序的设计和调试方法。
二、预备知识
1.DAC0832结构
DAC0832是用先进的CMOS/Si—Cr工艺制成的双列直插式单片8位D/A转换器。它可以直接和8088CPU相接口。它采用二次缓冲方式(有两个写信号/WR1、/WR2),这样可以在输出的同时,采集下一个数字量,以提高转换速度。而更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。它的主要技术参数如下:分辨率为8位,电流建立时间为1us,单一电源5V—15V直流供电,可双缓冲、单缓冲或直接数据输入。
*/LE=“1”,Q输出跟随D输入,/LE=“0”,D端输入数据被锁存 2.DAC0832引脚功能
*D10~D17:数据输入线,TTL电平,有效时间应大于90ns(否则锁存的数据会出错); *ILE:数据锁存允许控制信号输入线,高电平有效; */CS:选片信号输入线,低电平有效;
*/WR1:输入锁存器写选通输入线,负脉冲有效(脉宽应大于5400ns)。当/CS为“0”、ILE为“1”、/WR1为“0”时,D10~D17状态被锁存到输入锁存器。
*/XFER:数据传输控制信号输入线,低电平有效;
*/WR2:DAC寄存器写选通输入线,负脉冲(宽于500ns)有效,当/XFER为“0”且/WR2有效时,输入锁存器的状态被传送到DAC寄存器中;
*Iout1:电流输出线,当输入全1时Iout1最大; *Iout2:电流输出线,其值和Iout1值之和为一常数;
*Rfb:反馈信号输入线,改变Rfb端外接电容器值可调整转换满量程精度; *Vcc:电源电压线,Vcc范围为+5V~+15V; *VREF:基准电压输入线,VREF范围-10V~+10V; *AGND:模拟地; *DGND:数字地。 3.DAC0832工作方式
根据对DAC0832的输入锁存器和DAC寄存器的不同的控制方法,DAC0832有如下三种工作方式:
13
(1)单缓冲方式
此方式适用于只有一路模拟量输出或几路模拟量非同步输出的情形。
方法是控制输入锁存器和DAC寄存器同时接数,或者只用输入锁存器而把DAC寄存器接成直通方式。
(2)双缓冲方式
此方式适用于多个DAC0832同时输出的情形
方法是先分别使这些DAC0832的输入锁存器接数,再控制这些DAC0832同时传递数据到DAC寄存器以实现多个D/A转换同步输出。
(3)直通方式
此方式宜于连续反馈控制线路中。
方法是使所有控制信号(/CS、/WR1、/WR2、ILE、XFER)均有效。 4.电流输出转换成电压输出
DAC0832的输出是电流,有两个电流输出端(Iout1和Iout2),它们的和为一常数。使用运算放大器,可以将DAC0832的电流输出线性地转换成电压输出。根据运放和DAC0832的连接方法,运放的电压输出可以分为单极型和双极型两种。
在双极型电压输出电路,DAC0832的Iout2被接地,Iout1接运放LM324的反相输入端,LM324的正相输入端接地。运放的输出电压Aout之值等于Iout1与Rfb之积,Aout的极性与DAC0832的基准电压VREF极性相反。单极性输出端Aout0=-(Vref×N)/256,如果在单极型输出的线路中再加一个放大器,便构成双极型输出线路,双极性输出端Aout=(2Vref/256)×N-5。其中N为输入数字量的十进制数。
三、实验原理图
图3—3
14
四、实验内容
1、实验原理
实验原理如图3—3所示,由于DAC0832有数据锁存器、选片、读、写控制信号线,故可与 8088CPU 总线直接接口。/CS和/XFER相接后作为0832芯片的片选CS。这样, 对DAC0832执行一次写操作就把一个数据直接写入DAC寄存器,模拟量输出随之而变化。
2 、 实验线路的连接
(1)将D/A区0832片选信号CS插孔和译码输出Y2插孔相连。 (2)用排线将D/A区D0~D7连到BUS2区XD0~XD7。 (3)将0832的WR信号线连到BUS3区的XWR上。 (4)D/A区的±12V插孔分别与外置电源的±12V端相连。
(5)W2区的VIN接+12V,如果电源内置,VIN插孔和D/A区的+12V插孔相连。 (6)D/A区的Vref接W2区 Vref,并调节W2使 Vref=+5V。 3 、 实验软件编程提示
(1)8位D/A转换器DAC0832的口地址为020H,输入数据与输出电压的关系为: Vref表示参考电压;N表示输入数字量;这里参考电压Vref=+5V。 (2)产生方波只需将数字量00H、FFH交替输出到DAC0832。产生锯齿波只需将数字量0逐渐递增输出到DAC0832。
本实验要求在AOUT端输出方波信号,方波信号的周期由延时时间常数确定。 由于本电路为双级型输出,因此输出端AOUT信号值为-5V~+5V.当数字量为0时,AOUT= -5V;当数值量为80H时,Aout=0V; 当数值量为FFH时,Aout= +5V。
五、实验步骤
1 、 根据实验原理图3—3正确连接好实验线路 2 、 正确理解实验原理
3、 仔细阅读,弄懂实验程序并画出程序流程图 4 、 运行实验程序
(1)联机时,实验程序文件名为\\DVCC\\H8EXE\\H82S.EXE。 (2)单机时,实验程序起始地址为F000:90A0。 在系统显示监控提示符“P.”时,
输入F000按F1键 输入90A0按EXEC键
15