当 a/d转换器与 cpu均为8位时,其接口相当简单。如a/d转换器本身不带三态输出锁存器,必须把8位数据线通过三态缓冲器和cpu的数据线相连接。如a/d转换器本身带有三态输出锁存器,则可将其和cpu的数据线直接相连。
adc 0804为一个8位逐次比较的a/d转换器。在电路内,有三态输出锁存器。其转换时间为 100μs。其逻辑符号如图1所示。
图1 adc 0804的逻辑符号
adc 0804与cpu之间的接口信号包括:
db0~db7 8位数据线。
-cs片选信号,低电平有效。
-wr写信号,当-cs信号为低,-wr将复位内部逻辑,并启动a/d转换器。
-rd读信号,当-cs信号为低,-rd读出转换数据。
-intr 中断申请信号,低电平表示转换结束,新的数据可通过-rd控制读出,此信号可通过三态缓冲器接到数据总线上,通过查询方式读出a/d转换器的工作状态。
与adc 0804模拟输入有关的信号有:
vin(+)、vin(-),模拟输入信号。
clk in、 clk r 端通过外接电阻电容产生0804的工作时钟。10k,150pf时的转换时间为100μs。
vref(不接时的参考电压为2.5v)。
vcc、gnd 电源端、接地端。
图2是adc0804的时序图,当片选信号有效时,-wr信号启动a/d转换,当a/d转换结束后,-intr由高变为低,此时可通过-rd信号将数据读出。由于adc0804采用了三态缓冲输出的形式,数据总线可直接与cpu的数据总线相接。
图2 adc 0804的时序
图3为adc 0804的接口图。
图3 adc 0804的接口
图中基准电压不连接,即采用内部2.5v的基准电压。
此接口采用查询的方式控制a/d转换,a/d转换器和状态读入采用了2个地址。当选中第一个地址时,写指令将使a/d转换器被启动并开始转换。当转换结束时,intr信号变为低电平,此信号可作为中断申请信号,也可以作为状态信息,供 cpu在查询方式时使用,在本例中通过地址2的选中,读入a/d的状态。cpu在得知 a/d转换已结束后,则发出地址1的读信号,将转换后的数据读入 cpu。