上限电平下限电平0图10-6DAC0832产生的矩形波输出26
26 图10-6 DAC0832产生的矩形波输出
ORG0100HMOVSTART:RO,#OFEHMOV;#datal为上限电平对应的数字量LOOP:A,#datal:送DAC,产生矩形波上限电平MOVX@RO,A:调用高电平延时程序LCALLDELAY1;#data2为下限电平对应的数字量MOVA,#data2:送DAC,产生矩形波下限电平MOVX@RO,A:调用低电平延时程序LCALLDELAY2;重复进行下一个周期SJMPLOOP输出的矩形波如图10-6所示。DELAY1、DELAY2为两个延时程序,分别决定输出的矩形波高、低电平时的持续宽度。矩形波频率也可用延时方法改变。27
27 输出的矩形波如图10-6所示。 DELAY1、DELAY2为两个 延时程序,分别决定输出的矩形波高、低电平时的持续宽度。 矩形波频率也可用延时方法改变。 27
双缓冲方式(2)多路的D/A转换要求同步输出时,必须采用双缓冲同步方式。此方式工作时,数字量的输入锁存和D/A转换输出是分两步完成的。单片机必须通过LE1*来锁存待转换的数字量,通过LE2*来启动D/A转换(见图10-2)。因此,双缓冲方式下,DAC0832应该为单片机提供两个I/C端口。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
1#DAC0832ALEGFDHCSILE0 +5 V译码器锁存器P0.7FEHFFHP0.0XFERRrbAT89S52D17LoUT!D10OUxWRWR1WR2LoUT22#DAC0832CSILE0+5VXFERRrbLouTID17A0UYD10+Lou12WRiWR2图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和Vy分别加到X-Y绘图仪的X通道和Y通道,而X-Y绘图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘笔沿X方向运动;另一个电机控制绘笔沿Y方向运动。因此对X-Y绘图仪的控制有一基本要求:就是两路模拟信号301
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