原创 ADC0809引脚图与接口电路

2008-4-20 11:49 4643 2 2 分类: 模拟

 





A/D转换器芯片ADC0809简介 8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。


点此在新窗口浏览图片


9.8 《ADC0809引脚图》


1. ADC0809的内部结构


ADC0809的内部逻辑结构图如图9-7所示。


点此在新窗口浏览图片  


9.7 《ADC0809内部逻辑结构》



       图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表9-1为通道选择表。


                              表9-1 通道选择表


点此在新窗口浏览图片


2.信号引脚


          ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图9.8。


              对ADC0809主要信号引脚的功能说明如下:


          IN7~IN0——模拟量输入通道


         ALE——地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。


         START——转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持 低电平。本信号有时简写为ST.



A、B、C——地址线。 通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表9-1。


CLK——时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号


EOC——转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。



D7~D0——数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高


OE——输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。



Vcc—— +5V电源。


Vref——参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V).


9.2.2 MCS-51单片机与ADC0809的接口


         ADC0809与MCS-51单片机的连接如图9.10所示。


       电路连接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。


1. 8路模拟通道选择


点此在新窗口浏览图片


图9.10 ADC0809与MCS-51的连接


     如图9.11所示模拟通道选择信号A、B、C分别接最低三位地址A0、A1、A2即(P0.0、P0.1、P0.2),而地址锁存允许信号ALE由P2.0控制,则8路模拟通道的地址为0FEF8H~0FEFFH.此外,通道地址选择以点此在新窗口浏览图片作写选通信号,这一部分电路连接如图9.12所示。


点此在新窗口浏览图片


图9.11 ADC0809的部分信号连接            


点此在新窗口浏览图片


    图9.12 信号的时间配合


        从图中可以看到,把ALE信号与START信号接在一起了,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。图9.19是有关信号的时间配合示意图。


          启动A/D转换只需要一条MOVX指令。在此之前,要将P2.0清零并将最低三位与所选择的通道好像对应的口地址送入数据指针DPTR中。例如要选择IN0通道时,可采用如下两条指令,即可启动A/D转换:



MOV DPTR , #FE00H ;送入0809的口地址


MOVX @DPTR , A ;启动A/D转换(IN0


注意:此处的A与A/D转换无关,可为任意值。


2. 转换数据的传送


     A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。


(1)定时传送方式


     对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。


(2)查询方式


     A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。


(3)中断方式


     把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。


不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以点此在新窗口浏览图片信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。


不管使用上述那种方式,只要一旦确认转换结束,便可通过指令进行数据传送。所用的指令为MOVX 读指令,仍以图9-17所示为例,则有


MOV DPTR , #FE00H


MOVX A , @DPTR


       该指令在送出有效口地址的同时,发出点此在新窗口浏览图片有效信号,使0809的输出允许信号OE有


效,从而打开三态门输出,是转换后的数据通过数据总线送入A累加器中。


     这里需要说明的示,ADC0809的三个地址端A、B、C即可如前所述与地址线相连,也可与数据线相连,例如与D0~D2相连。这是启动A/D转换的指令与上述类似,只不过A的内容不能为任意数,而必须和所选输入通道号IN0~IN7相一致。例如当A、B、C分别与D0、D1、D2相连时,启动IN7的A/D转换指令如下:


MOV DPTR, #FE00H   ;送入0809的口地址
MOV A ,#07H ;D2D1D0=111选择IN7通道

MOVX @DPTR, A ;启动A/D转换

9.2.3 A/D转换应用举例


       设有一个8路模拟量输入的巡回监测系统,采样数据依次存放在外部RAM 0A0H~0A7H单元中,按图9.10所示的接口电路,ADC0809的8个通道地址为0FEF8H~0FEFFH.其数据采样的初始化程序和中断服务程序(假定只采样一次)如下:


初始化程序:





MOV


R0, #0A0H


;数据存储区首地址



MOV


R2, #08H


;8路计数器



SETB


IT1


;边沿触发方式



SETB


EA


;中断允许



SETB


EX1


;允许外部中断1中断



MOV


DPTR, #0FEF8H


;D/A转换器地址


LOOP:


MOVX


@DPTR, A


;启动A/D转换


HERE:


SJMP


HERE


;等待中断


中断服务程序:





DJNZ


R2, ADEND


 



MOVX


A, @DPTR


;数据采样



MOVX


@R0, A


;存数



INC


DPTR


;指向下一模拟通道



INC


R0


;指向数据存储器下一单元



MOVX


@DPTR, A


 


ADEND:


RETI

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条