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.2MCS-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 A ,#07H ;D2D1D0=111挑选IN7通道
9.2.3A/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 |