典型的集成ADC 芯片
为了满足多种需要,目前国内外各半导体器件生产厂家设计并生产出了多种多样的
ADC 芯片。仅美国AD 公司的ADC 产品就有几十个系列、近百种型号之多。从性能上讲,它们有的精度高、速度快,有的则价格低廉。从功能上讲,有的不仅具有A/D 转换的基本功能,还包括内部放大器和三态输出锁存器;有的甚至还包括多路开关、采样保持器等,已发展为一个单片的小型数据采集系统。
尽管ADC 芯片的品种、型号很多,其内部功能强弱、转换速度快慢、转换精度高低有很大差别,但从用户最关心的外特性看,无论哪种芯片,都必不可少地要包括以下四种基本信号引脚端:模拟信号输入端(单极性或双极性);数字量输出端(并行或串行);转换启动信号输入端;转换结束信号输出端。除此之外,各种不同型号的芯片可能还会有一些其他各不相同的控制信号端。选用ADC 芯片时,除了必须考虑各种技术要求外,通常还需了解芯片以下两方面的特性。
(1)数字输出的方式是否有可控三态输出。有可控三态输出的ADC 芯片允许输出线与微机系统的数据总线直接相连,并在转换结束后利用读数信号RD 选通三态门,将转换结果送上总线。没有可控三态输出(包括内部根本没有输出三态门和虽有三态门、但外部不可控两种情况)的ADC 芯片则不允许数据输出线与系统的数据总线直接相连,而必须通过I/O 接口与MPU 交换信息。
(2)启动转换的控制方式是脉冲控制式还是电平控制式。对脉冲启动转换的ADC 芯片,只要在其启动转换引脚上施加一个宽度符合芯片要求的脉冲信号,就能启动转换并自动完成。一般能和MPU 配套使用的芯片,MPU 的I/O 写脉冲都能满足ADC 芯片对启动脉冲的要求。对电平启动转换的ADC 芯片,在转换过程中启动信号必须保持规定的电平不变,否则,如中途撤消规定的电平,就会停止转换而可能得到错误的结果。为此,必须用D 触发器或可编程并行I/O 接口芯片的某一位来锁存这个电平,或用单稳等电路来对启动信号进行定时变换。
具有上述两种数字输出方式和两种启动转换控制方式的ADC 芯片都不少,在实际使用芯片时要特别注意看清芯片说明。下面介绍两种常用芯片的性能和使用方法。
1. ADC 0808/0809
ADC 0808和ADC 0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS 器件,不仅包括一个8位的逐次逼近型的ADC 部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D 转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。
1) 主要技术指标和特性
(1)分辨率: 8位。
(2)总的不可调误差: ADC0808为±21
LSB,ADC 0809为±1LSB 。
(3)转换时间: 取决于芯片时钟频率,如CLK=500kHz 时,T CONV =128μs 。
(4)单一电源: +5V 。
(5)模拟输入电压范围: 单极性0~5V ;双极性±5V,±10V(需外加一定电路)。
(6)具有可控三态输出缓存器。
(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D 转换开始。
(8)使用时不需进行零点和满刻度调节。
2) 内部结构和外部引脚
ADC0808/0809的内部结构和外部引脚分别如图11.19和图11.20所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下:
图11.19 ADC0808/0809内部结构框图
(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADD A、ADD B、ADD C来选通一路。
(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。
(3)ADD A、ADD B、ADD C——模拟通道选择地址信号,ADD A为低位,ADD C为高位。地址信号与选中通道对应关系如表11.3所示。
(4)V R(+)、V R(-)——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,V R(+)=5V,V R(-)=0V;双极性输入时,V R(+)、V R(-)分别接正、负极
性的参考电压。
图11.20 ADC0808/0809外部引脚图
(5)ALE ——地址锁存允许信号,高电平有效。当此信号有效时,A 、B 、C 三位地址
信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START 信号连在一起,
以便同时锁存通道地址和启动A/D 转换。
(6)START ——A/D 转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼
近寄存器清零,下降沿开始A/D 转换。如正在进行转换时又接到新的启动脉冲,则原来的
转换进程被中止,重新从头开始转换。
(7)EOC ——转换结束信号,高电平有效。该信号在A/D 转换过程中为低电平,其余
时间为高电平。该信号可作为被CPU 查询的状态信号,也可作为对CPU 的中断请求信号。
在需要对某个模拟量不断采样、转换的情况下,EOC
也可作为启动信号反馈接到START 端,
但在刚加电时需由外电路第一次启动。
(8)OE ——输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809
的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是
CPU 发出的中断请求响应信号。
3) 工作时序与使用说明
ADC 0808/0809的工作时序如图11.21所示。当通道选择地址有效时,ALE 信号一出现,
地址便马上被锁存,这时转换启动信号紧随ALE 之后(或与ALE 同时)出现。START 的上升
沿将逐次逼近寄存器SAR 复位,在该上升沿之后的2μs 加8个时钟周期内(不定),EOC 信
号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC 再变高电平。微处理器
收到变为高电平的EOC 信号后,便立即送出OE 信号,打开三态门,读取转换结果。
图11.21 ADC 0808/0809工作时序
模拟输入通道的选择可以相对于转换开始操作独立地进行(当然,不能在转换过程中进
行),然而通常是把通道选择和启动转换结合起来完成(因为ADC0808/0809的时间特性允许
这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道
的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。
如用EOC 信号去产生中断请求,要特别注意EOC 的变低相对于启动信号有2μs+8个时钟
周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用EOC 上升沿产生中断
请求,而不是靠高电平产生中断请求。
2. AD574A
AD574A 是美国AD 公司的产品,是目前国际市场上较先进的、价格低廉、应用较广的
混合集成12位逐次逼近式ADC 芯片。它分6个等级,即AD574AJ 、AK 、AL 、AS 、AT 、
AU ,前三种使用温度范围为0~+70℃,后三种为-55~+125℃。它们除线性度及其他某些
特性因等级不同而异外,主要性能指标和工作特点是相同的。
1) 主要技术指标和特性
(1)非线性误差: ±1LSB 或±21
LSB(因等级不同而异)。
(2)电压输入范围: 单极性0~+10V ,0~+20V ,双极性±5V,±10V 。
(3)转换时间: 35μs 。
(4)供电电源: +5V ,±15V 。
(5)启动转换方式: 由多个信号联合控制,属脉冲式。
(6)输出方式: 具有多路方式的可控三态输出缓存器。
(7)无需外加时钟。
(8)片内有基准电压源。可外加VR ,也可通过将VO(R)与Vi(R)相连而自己提供VR 。
内部提供的VR 为(10.00±0.1)V(max),可供外部使用,其最大输出电流为1.5mA ;
(9)可进行12位或8位转换。12位输出可一次完成,也可两次完成(先高8位,后低
4位)。
2) 内部结构与引脚功能
AD574A 的内部结构与外部引脚如图11.22所示。从图可见,它由两片大规模集成电路
混合而成: 一片为以D/A 转换器AD565和10V 基准源为主的模拟片,一片为集成了逐次
逼近寄存器SAR 和转换控制电路、时钟电路、三态输出缓冲器电路和高分辨率比较器的数
字片,其中12位三态输出缓冲器分成独立的A 、B 、C 三段,每段4位,目的是便于与各
种字长微处理器的数据总线直接相连。AD574A 为28引脚双列直插式封装,各引脚信号的
功能定义分述如下:
图11.22 AD574A的结构框图与引脚
(1)12/8——输出数据方式选择。当接高电平时,输出数据是12位字长;当接低电平时,是将转换输出的数变成两个8位字输出。
(2)A0——转换数据长度选择。当A0为低电平时,进行12位转换;A0为高电平时,则为8位长度的转换。
(3)CS——片选信号。
(4)R/C——读或转换选择。当为高电平时,可将转换后数据读出;当为低电平时,启动转换。
(5)CE——芯片允许信号,用来控制转换与读操作。只有当它为高电平时,并且CS=0时,R/信号的控制才起作用。CE和CS、R/C、12/8、A0信号配合进行转换和读操作的控制真值表如表11.4所示。
(6)V CC——正电源,电压范围为0~+16.5V。
(7)V o(R)——+10V参考电压输出端,具有1.5mA的带负载能力。
(8)AGND——模拟地。
(9)GND——数字地。
(10)Vi(R)——参考电压输入端。
(11)V EE——负电源,可选加-11.4V~-16.5V之间的电压。
(12)BIP OFF——双极性偏移端,用于极性控制。单极性输入时接模拟地(AGND),双极性输入时接V o(R)端。
(13)V i(10)——单极性0~+10V范围输入端,双极性±5V范围输入端。
(14)V i(20)——单极性0~+20V范围输入端,双极性±10V范围输入端。
(15)STS——转换状态输出端,只在转换进行过程中呈现高电平,转换一结束立即返回到低电平。可用查询方式检测此端电平变化,来判断转换是否结束,也可利用它的负跳变沿来触发一个触发器产生IRQ信号,在中断服务程序中读取转换后的有效数据。
从转换被启动并使STS变高电平一直到转换周期完成这一段时间内,AD574A对再来的启动信号不予理睬,转换进行期间也不能从输出数据缓冲器读取数据。
3) 工作时序
AD574A的工作时序如图11.23所示。对其启动转换和转换结束后读数据两个过程分别说明如下:
图11.23 AD574A 的工作时序
(1)启动转换 在CS =0和CE=1时,才能启动转换。由于是CS =0和CE=1相与后,才能启动A/D
转换,因此实际上这两者中哪一个信号后出现,就认为是该信号启动了转换。无论用哪一个
启动转换,都应使R/C 信号超前其200ns 时间变低电平。从图11.23可看出,是由CE 启动
转换的,当R/为低电平时,启动后才是转换,否则将成为读数据操作。在转换期间STS 为
高电平,转换完成时变低电平。
(2)读转换数据 在CS =0和CE=1且C R /为高电平时,才能读数据,由12/8决定是12位并行读出,
还是两次读出。如图11.23所示,CS 或CE 信号均可用作允许输出信号,看哪一个后出现,
图中为CE 信号后出现。规定A0要超前于读信号至少150ns ,C R /信号超前于CE 信号最
小可到零。
从表11.4和图11.23可看出,AD574A 还能以一种单独控制(stand-alone)方式工作: CE
和12/8固定接高电平,CS 和A 0固定接地,只用C R /来控制转换和读数,C R /=0时启
动12位转换,C R /=1时并行读出12位数。具体实现办法可有两种: 正脉冲控制和负脉
冲控制。当使用350ns 以上的C R /正脉冲控制时,有脉冲期间开启三态缓冲器读数,脉冲
后沿(下降沿)启动转换。当使用400ns 以上的C R /负脉冲控制时,则前沿启动转换,脉冲
结束后读数。
4) 使用方法
AD574A 有单极性和双极性两种模拟输入方式。
(1)单极性输入的接线和校准
单极性输入的接线如图11.24(a)所示。AD574A 在单极性方式下,有两种额定的模拟输
入范围: 0~+10V 的输入接在V i (10)和AGND 间,0~+20V 输入接在V i (20)和AGND 间。
R 1用于偏移调整(如不需进行调整可把BIP OFF 直接接AGND ,省去外加的调整电路),R 2
用于满量程调整(如不需调整,R 2可用一个50Ω±1%的金属膜固定电阻代替)。为使量化误差为±21LSB,AD574A 的额定偏移规定为21
LSB 。因此在作偏移调整时,使输入电压为
21
LSB(满量程电压为+10V 时是 1.22mV),调R 1,使数字输出为000000000000到
000000000001的跳变。在做满量程调整时,是通过施加一个低于满量程值121
LSB 的模拟
信号进行的,这时调R 2以得到从111111111110到111111111111的跳变点。
(2)双极性输入的接线和校准
双极性输入的接线如图11.24(b)所示。和单极性输入时一样,双极性时也有两种额定的
模拟输入范围: ±5V 和±10V 。±5V 输入接在V i (10)和AGND 之间;±10V 接在V i (20)
和AGND 之间。
图11.24 AD574A 的输入接线图 双极性校准也类似于单极性校准。调整方法是,先施加一个高于负满量程21
LSB(对于
±5V 范围为-4.9988V)的输入电压,调R 1,使输出出现从000000000000到000000000001的
跳变;再施加一个低于正满量程121
LSB(对于±5V 范围为+4.9963V)的输入信号,调R 2使
输出现从111111111110到111111111111的跳变。如偏移和增益无需调整,则相应的调整电
阻也和在单极性中一样,R 2可用50±1%Ω的固定电阻代替。
ADC 0808 与 ADC 0809 区别§7.3 A/D 转换器ADC0809与 MCS-51单片机的接口设计
ADC0808/0809八位逐次逼近式A/D 转换器是一种单片CMOS 器件,包括8位的模/数转换
器,8通道多路转换器和与微处理器兼容的控制逻辑.8通道多路转换器能直接连通8个单端模
拟信号中一任何一个. 一,ADC0808/0809的内部结构及引脚功能 1,ADC0809转换器内部结
构2,ADC0809引脚功能分辨率为8位.最大不可调误差ADC0808小于±1/2LSB,ADC0809小
于±1LSB 单一+5V 供电,模拟输入范围为0~5V.具有锁存三态输出,输出与TTL 兼容.功耗为
15mw.不必进行零点和满度调整.转换速度取决于芯片的时钟频率.时钟频率范
围:10~1280KHZ 当CLK=500KHZ 时,转换速度为128μs.IN0~IN7:8路输入通道的模拟量输入
端口. 2-1~2-8:8位数字量输出端口. START,ALE:START 为启动控制输入端口,ALE 为地址锁
存控制信号端口.这两个信号端可连接在一起,当通过软件输入一个正脉冲,便立即启动模/数
转换.EOC,OE:EOC 为转换结束信号脉冲输出端口,OE 为输出允许控制端口,这两个信号亦可
连结在一起表示模/数转换结束.OE 端的电平由低变高,打开三态输出锁存器,将转换结果的数
字量输出到数据总线上.REF(+),REF(-),VCC,GND,REF(+)和REF(-)为参考电压输入端,VCC
为主电源输入端,GND为接地端.一般REF(+)与VCC连接在一起,REF(-)与GND连接在一起.CLK:时钟输入端.3,8路模拟开关的三位地址选通编码表ADDA,B,C8路模拟开关的三位地址选通输入端,以选择对应的输入通道. 地址码对应的输入通道CBA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7二,ADC0808/0809与8031单片机的接口设计ADC0808/0809与8031单片机的硬件接口有三种方式,查询方式,中断方式和等待延时方式.究竟采用何种方式,应视具体情况,按总体要求而选择.1.延时方式ADC0809编程模式在软件编写时,应令p2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取A/D转换结果.通道地址:7FF8H~7FFFH下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序.START: MOV R1, #50H ;置数据区首地址MOV DPTR, #7FF8H ;P2.7=0且指向通道0 MOV R7, #08H ;置通道数NEXT: MOVX @DPTR,A ;启动A/D转换MOV R6, #0AH ;软件延时DLAY: NOPNOPNOPDJNZ R6, DLAYMOVX A, @DPTR ;读取转换结果MOV @ R1, A ;存储数据INC DPTR ;指向下一个通道INC R1 ;修改数据区指针DJNZ R7, NEXT ;8个通道全采样完了吗........ 2.中断方式将ADC0808/0809作为一个外部扩展的并行I/O口,直接由8031的P2.0和脉冲进行启动.通道地址为FEF8H~FEFFH用中断方式读取转换结果的数字量,模拟量输入通路选择端A,B,C分别与8031的P0.0,P0.1,P0.2(经74LS373)相连,CLK由8031的ALE提供. INTADC:SETB IT1 ;选择为边沿触发方式SETB EA ;开中断SETB EX1 ;MOV DPTR, #0FEF8H ;通道地址送DPTRMOVX @DPTR,A ;启动A/D转换……PINT1: ……MOV DPTR, #0FEF8H ; 通道地址送DPTRMOVX A, @ DPTR;读取从IN0输入的转换结果存入MOV 50H, A ;50H单元MOVX @DPTR,A ;启动A/D转换RETI ;中断返回三,接口电路设计中的几点注意事项1.关于ADC0808/0809最高工作时钟频率的说明由于ADC0808/0809芯片内无时钟,所以必须靠外部提供时钟;外部时钟的频率范围为10KHZ~1280KHZ.在前面的ADC0808/0809通过中断方式与8031单片机接口的电路中,8031单片机的主频接为6MHZ,ALE提供ADC0808/0809的时钟频率为1MHZ(1000KHZ);实际应用系统使用证明,ADC0808/0809能够正常可靠地工作.但在用户进行ADC0808/0809应用设计时,推荐选用640KHZ左右的时钟频率. 2,ADC0816/17与ADC0809的主要区别ADC0816/0817与ADC0808/0809相比,除模拟量输入通道数增至16路,封装为40引脚外,其原理,性能结构基本相同.ADC0816和ADC0817的主要区别是:ADC0816的最大不可调误差为±1/2LSB,精度高,价格也高;ADC0817的最大不可调误差为士1LSB,价格低. 习题七试设计一数据采集系统2002.10 使用单位: 山东省气象局在东营市孤岛气象观察站设计单位: 山东大学物理与微电子学院2000级设计方案: 自行确定提示: 对于非模拟物理量,可以用下图示意即可非电物理量传感器A/D转换器
§7.3 A/D转换器ADC0809与MCS-51单片机的接口设计
ADC0808/0809八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位的模/数转换器,8通道多路转换器和与微处理器兼容的控制逻辑.
8通道多路转换器能直接连通8个单端模拟信号中一任何一个.
一,ADC0808/0809的内部结构及引脚功能
1,ADC0809转换器内部结构
2,ADC0809引脚功能
分辨率为8位.
最大不可调误差ADC0808小于±1/2LSB,
ADC0809小于±1LSB
单一+5V供电,模拟输入范围为0~5V.
具有锁存三态输出,输出与TTL兼容.
功耗为15mw.
不必进行零点和满度调整.
转换速度取决于芯片的时钟频率.时钟频率范围:10~1280KHZ
当CLK=500KHZ时,
转换速度为128μs.
IN0~IN7:8路输入通道的模拟量输入端口.
2-1~2-8:8位数字量输出端口.
START,ALE:START为启动控制输入端口,ALE为地址锁存控制信号端口.这两个信号端可连接在一起,当通过软件输入一个正脉冲,便立即启动模/数转换.
EOC,OE:EOC为转换结束信号脉冲输出端口,OE为输出允许控制端口,这两个信号亦可连结在一起表示模/数转换结束.OE端的电平由低变高,打开三态输出锁存器,将转换结果的数字量输出到数据总线上.
REF(+),REF(-),VCC,GND,REF(+)和REF(-)为参考电压输入端,VCC为主电源输入端,GND为接地端.一般REF(+)与VCC连接在一起,REF(-)与GND连接在一起.
CLK:时钟输入端.
3,8路模拟开关的三位地址选通编码表
ADDA,B,C
8路模拟开关的三位地址选通输入端,以选择对应的输入通道.
地址码
对应的输入通道
C
B
A
1
1
1
1
1
1
1
1
1
1
1
1
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
二,ADC0808/0809与8031单片机的接口设计
ADC0808/0809与8031单片机的硬件接口有三种方式,查询方式,中断方式和等待延时方式.究竟采用何种方式,应视具体情况,按总体要求而选择.
1.延时方式
ADC0809编程模式
在软件编写时,应令p2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址;
执行一条输出指令,启动A/D转换;
执行一条输入指令,读取A/D转换结果.
通道地址:7FF8H~7FFFH
下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序.
START: MOV R1, #50H ;置数据区首地址
MOV DPTR, #7FF8H ;P2.7=0且指向通道0
MOV R7, #08H ;置通道数
NEXT: MOVX @DPTR,A ;启动A/D转换
MOV R6, #0AH ;软件延时
DLAY: NOP
NOP
NOP
DJNZ R6, DLAY
MOVX A, @DPTR ;读取转换结果
MOV @ R1, A ;存储数据
INC DPTR ;指向下一个通道
INC R1 ;修改数据区指针
DJNZ R7, NEXT ;8个通道全采样完了吗
........
2.中断方式
将ADC0808/0809作为一个外部扩展的并行I/O口,直接由8031的P2.0和脉冲进行启动.通道地址为FEF8H~FEFFH
用中断方式读取转换结果的数字量,模拟量输入通路选择端A,B,C分别与8031的P0.0,P0.1,P0.2(经74LS373)相连,
CLK由8031的ALE提供.
INTADC:SETB IT1 ;选择为边沿触发方式
SETB EA ;开中断
SETB EX1 ;
MOV DPTR, #0FEF8H ;通道地址送DPTR
MOVX @DPTR,A ;启动A/D转换
……
PINT1: ……
MOV DPTR, #0FEF8H ; 通道地址送DPTR
MOVX A, @ DPTR;读取从IN0输入的转换结果存入
MOV 50H, A ;50H单元
MOVX @DPTR,A ;启动A/D转换
RETI ;中断返回
三,接口电路设计中的几点注意事项
1.关于ADC0808/0809最高工作时钟频率的说明
由于ADC0808/0809芯片内无时钟,所以必须靠外部提供时钟;
外部时钟的频率范围为10KHZ~1280KHZ.在前面的ADC0808/0809通过中断方式与8031单片机接口的电路中,8031单片机的主频接为6MHZ,ALE提供ADC0808/0809的时钟频率为1MHZ(1000KHZ);
实际应用系统使用证明,ADC0808/0809能够正常可靠地工作.但在用户进行ADC0808/0809应用设计时,推荐选用640KHZ左右的时钟频率.
2,ADC0816/17与ADC0809的主要区别
ADC0816/0817与ADC0808/0809相比,除模拟量输入通道数增至16路,封装为40引脚外,其原理,性能结构基本相同.
ADC0816和ADC0817的主要区别是:
ADC0816的最大不可调误差为±1/2LSB,精度高,价格也高;
ADC0817的最大不可调误差为士1LSB,价格低.
习题七试设计一数据采集系统2002.10
使用单位: 山东省气象局在东营市孤岛气象观察站
设计单位: 山东大学物理与微电子学院2000级
设计方案: 自行确定
提示: 对于非模拟物理量,可以用下图示意即可
ADC0808
ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。
ADC0808管脚图
内部结构
ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。
引脚功能(外部特性)
ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下:
1~5和26~28(IN0~IN7):8路模拟量输入端。
8、14、15和17~21:8位数字量输出端。
22(ALE):地址锁存允许信号,输入,高电平有效。
6(START):A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC):A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。
12(VREF(+))和16(VREF(-)):参考电压输入端
11(Vcc):主电源输入端。
13(GND):地。
23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路
一个风格很好的AD转换程序,值得你参考
标签: AD转换程序
顶[0] 分享到发表评论(0) 编辑词条开心001 人人网新浪微博
//ICC-AVR application builder : 2007/6/23 1:26:55
// T arget : M16
// Crystal:1.0000Mhz
#include
#include
#define ADC_VREF_TYPE 0xe0 //选用2.56V 的片内基准电压源,且结果为左对齐#define AD_SE_ADC0 0x00 //ADC0
unsigned char T able[10] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7 f,0x6f}; //数码管字型0~9
unsigned char Data[4] = {0,0,0,0}; //存放A/D转换结果
unsigned long int i,j=2560,k=256;
void port_init(void)
{
PORTA = 0x01;
DDRA = 0x00;
PORTB = 0xFF;
DDRB = 0xFF;
PORTC = 0x0F; //m103 output only
DDRC = 0x0F;
PORTD = 0x00;
DDRD = 0x00;
}
//ADC initialize
// Conversion time: 112uS
void adc_init(void)
{
ADCSR = 0x00; //disable adc
ADMUX = 0x00; //select adc input 0 ACSR = 0x80;
ADCSR = 0x86;
}
//call this routine to initialize all peripherals void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
adc_init();
MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x00; //timer interrupt sources SEI(); //re-enable interrupts
//all peripherals are now initialized
}
void delay_(unsigned char a)
{unsigned int i;