进入D/A转换器。
单缓冲方式—— 两个寄存器之一始终处于直通,即=0或
=0,另一个寄存器处于受控状态。
双缓冲方式—— 两个寄存器均处于受控状态。这种工作方式适合于多模拟信号同时输出的应用场合。
所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个(多位DAC寄存器)处于直通方式,而另一个处于受控锁存方式。在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求输出同步的情况下,就可采用单缓冲方式。单缓冲方式连接 如图9.3所示。
为使DAC寄存器处于直通方式,应使=0和
=0。为此可把这两个信号
固定接地,或如电路中把与
相连,把
与
相连。
为使输入寄存器处于受控锁存方式,应把接80C51的
,ILE接高电平。
此外还应把接高位地址线或地址译码输出,以便于对输入寄存器进行选择。
图9.3 DAC0832单缓冲方式接口
【例9.1】锯齿波电压发生器
在一些控制应用中,需要有一个线性增长的电压(锯齿波)来控制检测过程、移动记录笔或移动电子束等。对此可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波来实现,其电路连接图如图9.4所示。
图9.4 用DAC0832产生锯齿波电路
图中的DAC0832工作于单缓冲方式,其中输入寄存器受控,而DAC寄存器直通。假定输入寄存器地址为7FFFH,产生锯齿波的程序清单如下:
MOV A, #00H ;取下限值
MOV DPTR,#7FFFH ;指向0832口地址
MM: MOVX @DPTR,A ;输出
INC A ;延时
NOP
NOP
NOP
SJMP MM ;反复
执行上述程序就可得到如图9.5所示的锯齿波。
图9.5 D/A 转换产生的锯齿波
几点说明:
(1) 程序每循环一次,A加1,因此实际上锯齿波的上升边是由256个小阶梯构成的,但由于阶梯很小,所以宏观上看就如图中所画的先行增长锯齿波。