您当前的位置:五五电子网电子知识单元电路变换电路基于ADC0809的并行A/D转换 正文
基于ADC0809的并行A/D转换

基于ADC0809的并行A/D转换

点击数:7396 次   录入时间:03-04 11:55:02   整理:http://www.55dianzi.com   变换电路

  ADC0809是CMOS单片型逐次逼近式A/D转换器,单电源供电,转换时间为l00μs,模拟输入电压范围0V~+5V,不需零点和满刻度校准,工作温度范围为-40℃~+85℃,低功耗。可处理8路模拟量输入,内部带有输出数据锁存器,既可与各种微处理器相连,也可单独工作。输入输出与TTL电平兼容。
  
   单片机读取ADC0809的数据有3种方式:查询、中断和延时。这3种方式在硬件连接上稍有不同,下面分别进行介绍。

  1.查询方式
  
  查询法主要是单片机查询引脚EOC的状态,若为低电平,表示转换正在进行;若为高电平,则使OE置1,以便从D0~D7线上读取A/D转换后的数字量。
  
  2.中断方式
  
  采用中断方式时,EOC作为CPU的中断请求输入线。CPU响应中断后,应在中断服务程序中使OE线变为高电平,以读取A/D转换后的数字量。
  
  3.延时方式
  
  延时方式是指在启动A/D转换后延时可靠的时间段后再直接去读取转换后的数字量。
  
  下面介绍查询连接方式如下图所示,单片机使用的晶振为12MHz。
  
  由图可见START启动信号由89C51的P3.6(WR的反)和P2.7输出经或非门产生,START因WR(的反)输出端上的高电平而封锁,通过执行写操作指令之后,START上的正脉冲启动ADC0809工作;EOC线直接与89C51的Pl.0相连,通过查询Pl.0的状态而得知A/D转换是否完成。图中把89C51的P3.7(RD的反)和P2.7经或门和ADC0809的OE相连。由于平时RD(的反) 输出端为高电平,从而OE处于低电平封锁状态。在发出A/D转换命令,通过执行读操作指令后,可以使OE变为高电平,从而打开三态输出锁存器,让CPU读取转换后的数字量。

89C51与ADC0809的接口电路

 



www.55dianzi.com

  根据硬件连接可知ADC0809的地址为0x7FFF,向0x7FFF地址送数据的低3位被74HC573锁存(选择ADC0809的转换通道),然后启动A/D转换,然后程序等待A/D转换完成(查询EOC是否有低电平出现),转换完成后读取转换完毕的数据。完成一次A/D转换的C51程序代码如下。



www.55dianzi.com  (1)关于通道地址问题:对单片机来说,外设ADC0809只有一个地址0x7FFF,各个模拟量的输入通道地址是通过向地址0x7FFF输入通道号来选择的。如输入0x00即选择0通道,0x01即选择1通道,其他通道的选择依次类推。
  
  (2)地址锁存问题:由于ADC0809内部已经存在地址锁存器,因此,图94中的74HC573也可以省略,而将P0.0~P0.2直接与ADDA、ADDB、ADDC相连,此时的ADC0809的8个通道地址是0x7FF8~0x7FFF。
  
  (3)关于时钟的频率问题:ADC0809的典型时钟信号为640kHz(转换时间对应l00μs),但实际上AD0809的时钟输入工作频范围为10kHz~1280kHz,大于1.43MHz将停止工作,因此,如果CLK信号采用单片机的ALE信号,请务必注意单片机的晶振频率,图9-4的74HC74的作用是做了1次分频。
  
  (4)如果采用中断方式,则要在EOC的输出端外接一反相器后再接入外部中断输入端INT0(的反)或INT1(的反),而如果采用延时方式,则EOC直接悬空即可。


本文关键字:暂无联系方式变换电路单元电路 - 变换电路