AD0809 在51 单片机中的应用 我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,大部分可以通过我们的I/O 口扩展接口电路直接得到,由于51 单片机大部分不带AD 转换器,所以模拟量的采集就必须靠A/D 或V/F 实现
下现我们就来了解一下AD0809 与51 单片机的接口及其程序设计
1、AD0809 的逻辑结构 ADC0809 是 8 位逐次逼近型 A/D 转换器
它由一个8 路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成(见图 1)
多路开关可选通8 个模拟通道,允许 8 路模拟量分时输入,共用A/D 转换器进行转换
三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据
2、AD0809 的工作原理 IN0-IN7:8 条模拟量输入通道 ADC0809 对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路
地址输入和控制线:4 条 ALE 为地址锁存允许输入线,高电平有效
当 ALE 线为高电平时,地址锁存与译码器将 A, B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换
A,B 和 C 为地址输入线,用于选通 IN0-IN7 上的一路模拟量输入
通道选择表如下表所示
C B A 选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11 条 ST 为转换启动信号
当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D 转换;在转换期间,ST 应保持低电平