Uo来 上限电平 下限电平 0 t 图10-6DAC0832产生的矩形波输出 26
26 图10-6 DAC0832产生的矩形波输出
ORG 0100H START: MOV RO,#OFEH L00P: MOV A,#datal ;#data1为上限电平对应的数字量 MOVX QRO,A ;送DAC,产生矩形波上限电平 LCALL DELAY1 ;调用高电平延时程序 MOV A,#data2 ;#data2为下限电平对应的数字量 MOVX @R0,A ;送DAC,产生矩形波下限电平 LCALL DELAY2 ;调用低电平延时程序 SJMP LOOP 重复进行下一个周期 输出的矩形波如图10-6所示。DELAY1、DELAY2为两个 延时程序,分别决定输出的矩形波高、低电平时的持续宽度。 矩形波频率也可用延时方法改变。 27
27 输出的矩形波如图10-6所示。 DELAY1、DELAY2为两个 延时程序,分别决定输出的矩形波高、低电平时的持续宽度。 矩形波频率也可用延时方法改变。 27
(2)双缓冲方式 多路的D/A转换要求同步输出时,必须采用双缓冲同步方 式。此方式工作时,数字量的输入锁存和D/A转换输出是分 两步完成的。单片机必须通过LE1*来锁存待转换的数字量, 通过LE2*来启动D/A转换(见图10-2)。 因此,双缓冲方式下,DAC0832应该为单片机提供两个I/0 端口。AT89S52单片机和DAC0832在双缓冲方式下的连接如图 10-7所示。 28
28 (2)双缓冲方式 多路的D/A转换要求同步输出时,必须采用双缓冲同步方 式。此方式工作时,数字量的输入锁存和D/A转换输出是分 两步完成的。单片机必须通过LE1*来锁存待转换的数字量, 通过LE2*来启动D/A转换(见图10-2)。 因此,双缓冲方式下,DAC0832应该为单片机提供两个I/O 端口。AT89S52单片机和DAC0832在双缓冲方式下的连接如图 10-7所示。 28
ALE 1DAC0832 G FDH P0.7 锁存器 译码器 cs ILE o+5V FEH P0.0 FFH XFER Ro AT89S52 D17 D10 WR WR1 WR2 2DAC0832 CS XFE巫 ILE 0+5V 卫和 D17 D10 LoUn2 WR1 WR2 图10-7单片机和两片DAC0832的双缓冲方式接口电路 29
29 图10-7 单片机和两片DAC0832的双缓冲方式接口电路
由图10-7可见,译码器的FDH(即译码器输入为FDH时)和 FEH分别为1#与2#DAC0832的第一级“8位输入寄存器”的端 口地址,而FFH共同控制1#和2#DAC0832进行D/A转换的第二 级“8位DAC寄存器”端口地址。 若把图10-7中DAC输出的模拟电压VX和Vy来控制X-Y绘图仪, 则应把Vx和y分别加到X-Y绘图仪的X通道和Y通道,而X-Y绘 图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘笔 沿X方向运动;另一个电机控制绘笔沿Y方向运动。 因此对XY绘图仪的控制有一基本要求:就是两路模拟信号 30
30 由图10-7可见,译码器的FDH(即译码器输入为FDH时)和 FEH分别为1#与2#DAC0832的第一级“8位输入寄存器”的端 口地址,而FFH共同控制1#和2#DAC0832进行D/A转换的第二 级“8位DAC寄存器”端口地址。 若把图10-7中DAC输出的模拟电压Vx和Vy来控制X-Y绘图仪, 则应把Vx和Vy分别加到X-Y绘图仪的X通道和Y通道,而X-Y绘 图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘笔 沿X方向运动;另一个电机控制绘笔沿Y方向运动。 因此对X-Y绘图仪的控制有一基本要求:就是两路模拟信号 30