3.9.3 A/D转换器的应用编程

3.9.3 A/D转换器的应用编程

1.应用电路

ADC0809的逻辑框图如图3.41所示。

图3.41 ADC0809的逻辑框图

器件的核心部分是8位A/D转换器,它由逐次逼近寄存器、逻辑控制电路、输出缓冲器、A/D转换器和比较器等部分组成,由于ADC0809内部具有地址锁存器和三态输出锁存器,因此ADC0809可以和单片机的总线直接相连。

8路模拟开关用于输入INO~IN7上的8路模拟电压。地址锁存器与译码器在ALE信号控制下可以锁存ADDA、ADDB和ADDC上的地址信息,经译码后控制IN0~IN7上那一路模拟电压并送入比较器。例如,当ADDA、ADDB和ADDC上均为低电平0且ALE为高电平时,地址锁存器与译码器输出,使INO上模拟电压送到比较器输入端。

逐次逼近寄存器和比较器(SAR)在A/D转换过程中存放暂态数字量,在A/D转换完成后存放数字量,并可送到三态输出锁存器锁存。

三态输出锁存器和控制电路用于锁存A/D转换完成后的数字量。CPU使OE引脚变成高电平就可以从三态输出锁存器取走A/D转换后的数字量。

ADC0809的外部引脚如图3.42所示,地址信号与选中通道的关系如表3.14所示。

图3.42 ADC0809的外部引脚

表3.14 地址信号与选中通道的关系

ADC0809采用双列直插式封装,共有28条引脚,现分4组简述如下。

(1)INO~IN7为8路模拟电压输入线,用于输入被转换的模拟电压。

(2)地址输入和控制(4条):ALE为地址锁存允许输入线,高电平有效。当ALE为高电平时,为地址输入线,用于选择INO~IN7上的一路模拟电压并送给比较器进行A/D转换。

(3)数字量输出及控制线(11条)。

START为“启动脉冲”输入线,该线上正脉冲由CPU传送,宽度应大于100 ns,上升沿清零SAR,下降沿启动ADC工作。

EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。

2-8~2-1为数字量输出线,2-1为最高位。

OE为输出允许线,高电平时能使2-8~2-1引脚上输出转换后的数字量。

(4)电源线及其他(5条)。

CLOCK为时钟输入线,用于为ADC0809提供逐次比较所需640 kHz时钟脉冲序列。

Vcc为+5V电源输入线,GND为地线。

VREF(+)和VREF(-)为参考电压输入线,用于给电阻阶梯网络供给标准电压。VREF(+)常与Vcc相连,VREF(-)常接地。

在启动端START加启动脉冲(正脉冲),A/D转换器开始转换,但是EOC信号是在START的下降沿10 μs后才变成无效的低电平。这就要求确认EOC在10μs后才能开始查询。转换结束后,由OE信号产生输出结果。如果将启动端START与转换结束端EOC直接相连,转换将是连续的,在用这种转换方式时,开始应在外部加启动脉冲。

2.应用内容

1)设计及要求

设计如下。

(1)将ADC单元中提供的0~5 V信号源作为ADC0809的模拟输入量,进行A/D转换,转换结果通过变量进行显示。

(2)采用查询方式完成读取通道IN3的模拟量转换结果,并通过数码管显示当前电压。

(3)采用中断方式完成读取数据,分别对8路模拟量输入信号检测,并将采集的数据保存在片内数据存储器40H~47H,采样完8个通道后停止采集。

要求如下。

(1)在delay()语句行设置断点,使用万用表测量ADJ端的电压值,计算对应的采样值,然后运行程序。当程序运行到断点处时停止运行,查看变量窗口中的ADJ的值,与计算的理论值进行比较,看是否一致;调节电位器,改变输入电压,比较ADJ与计算值,反复验证程序功能。

(2)单片机与ADC采用查询方式连接。采用查询方式时(连接方法如图3.43所示),ADC0809的引脚连接到单片机的P2.7引脚,单片机对ADC的EOC引脚(P1.4)状态进行查询;时钟CLK引脚连接到单片机的P1.5引脚。若EOC为低电平,则表示正在进行A/D转换;若EOC为高电平,则表示已经完成A/D转换,可以读取转换数据。

单片机与ADC也可以采用软件延时。采用软件延时时,通过软件编程实现延时100μs,以等待A/D转换结束,此时EOC引脚可以悬空。

(3)ADC0809各通道地址位为7FF0H~7FF7H。

2)解析

ADC0809数据输出端为8位三态输出,故数据线可直接与微机数据线相连。所以与单片机连接的电路主要涉及两个问题:一是怎样选择8路模拟开关信号通道;二是怎么判断完成A/D转换,然后把数据传给单片机。

ADC0809的转换结束信号EOC与单片机的连接有两种连接方式,即中断方式和查询方式,通过这两种不同的方式来判断转换是否完成。

3)参考程序

根据设计(1),A/D转换实验接线图如图3.43所示,A/D转换单元原理图如图3.44所示。

图3.43 A/D转换实验接线图

图3.44 A/D转换单元原理图

参考程序如下。

根据设计(2),本实验采用查询方式,ADC0809与单片机的连接电路如图3.45所示。

图3.45 ADC0809与单片机的连接电路(查询方式)

参考程序如下。

根据设计(3),参考程序如下。