典型模数转换芯片.docx

上传人:小飞机 文档编号:3312331 上传时间:2023-03-12 格式:DOCX 页数:42 大小:59.75KB
返回 下载 相关 举报
典型模数转换芯片.docx_第1页
第1页 / 共42页
典型模数转换芯片.docx_第2页
第2页 / 共42页
典型模数转换芯片.docx_第3页
第3页 / 共42页
典型模数转换芯片.docx_第4页
第4页 / 共42页
典型模数转换芯片.docx_第5页
第5页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《典型模数转换芯片.docx》由会员分享,可在线阅读,更多相关《典型模数转换芯片.docx(42页珍藏版)》请在三一办公上搜索。

1、典型模数转换芯片典型的集成ADC芯片 为了满足多种需要,目前国内外各半导体器件生产厂家设计并生产出了多种多样的ADC芯片。仅美国AD公司的ADC产品就有几十个系列、近百种型号之多。从性能上讲,它们有的精度高、速度快,有的则价格低廉。从功能上讲,有的不仅具有A/D转换的基本功能,还包括内部放大器和三态输出锁存器;有的甚至还包括多路开关、采样保持器等,已发展为一个单片的小型数据采集系统。 尽管ADC芯片的品种、型号很多,其内部功能强弱、转换速度快慢、转换精度高低有很大差别,但从用户最关心的外特性看,无论哪种芯片,都必不可少地要包括以下四种基本信号引脚端:模拟信号输入端(单极性或双极性);数字量输出

2、端(并行或串行);转换启动信号输入端;转换结束信号输出端。除此之外,各种不同型号的芯片可能还会有一些其他各不相同的控制信号端。选用ADC芯片时,除了必须考虑各种技术要求外,通常还需了解芯片以下两方面的特性。 数字输出的方式是否有可控三态输出。有可控三态输出的ADC芯片允许输出线与微机系统的数据总线直接相连,并在转换结束后利用读数信号RD选通三态门,将转换结果送上总线。没有可控三态输出(包括内部根本没有输出三态门和虽有三态门、但外部不可控两种情况)的ADC芯片则不允许数据输出线与系统的数据总线直接相连,而必须通过I/O接口与MPU交换信息。 启动转换的控制方式是脉冲控制式还是电平控制式。对脉冲启

3、动转换的ADC芯片,只要在其启动转换引脚上施加一个宽度符合芯片要求的脉冲信号,就能启动转换并自动完成。一般能和MPU配套使用的芯片,MPU的I/O写脉冲都能满足ADC芯片对启动脉冲的要求。对电平启动转换的ADC芯片,在转换过程中启动信号必须保持规定的电平不变,否则,如中途撤消规定的电平,就会停止转换而可能得到错误的结果。为此,必须用D触发器或可编程并行I/O接口芯片的某一位来锁存这个电平,或用单稳等电路来对启动信号进行定时变换。 具有上述两种数字输出方式和两种启动转换控制方式的ADC芯片都不少,在实际使用芯片时要特别注意看清芯片说明。下面介绍两种常用芯片的性能和使用方法。 1. ADC 080

4、8/0809 ADC 0808和ADC 0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。 1) 主要技术指标和特性 分辨率: 8位。 1总的不可调误差: ADC0808为2LSB,ADC 0809为1LSB。 转换时间: 取决于芯片时钟频率,如CLK=500kHz时,TCONV=128s。 单一电源: +5

5、V。 模拟输入电压范围: 单极性05V;双极性5V,10V(需外加一定电路)。 具有可控三态输出缓存器。 启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。 使用时不需进行零点和满刻度调节。 2) 内部结构和外部引脚 ADC0808/0809的内部结构和外部引脚分别如图11.19和图11.20所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下: 图11.19 ADC0808/0809内部结构框图 IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。 D7D0A/D转换后的数据输出

6、端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。 ADDA、ADDB、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表11.3所示。 VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。 图11.20 ADC0808/0809外部引脚图 表11.3 地址信号与选中通道的关系 地 址 ADDC ADDB ADDA 选中通道 0 0 0 0 1 1 1 1 0 0 1

7、 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 ALE地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。 STARTA/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。 EOC转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查

8、询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。 OE输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。 3) 工作时序与使用说明 ADC 0808/0809的工作时序如图11.21所示。当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在

9、该上升沿之后的2s加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果。 图11.21 ADC 0808/0809工作时序 模拟输入通道的选择可以相对于转换开始操作独立地进行(当然,不能在转换过程中进行),然而通常是把通道选择和启动转换结合起来完成(因为ADC0808/0809的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。 如用EOC信号去产生中

10、断请求,要特别注意EOC的变低相对于启动信号有2s+8个时钟周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用EOC上升沿产生中断请求,而不是靠高电平产生中断请求。 2. AD574A AD574A是美国AD公司的产品,是目前国际市场上较先进的、价格低廉、应用较广的混合集成12位逐次逼近式ADC芯片。它分6个等级,即AD574AJ、AK、AL、AS、AT、AU,前三种使用温度范围为0+70,后三种为-55+125。它们除线性度及其他某些特性因等级不同而异外,主要性能指标和工作特点是相同的。 1) 主要技术指标和特性 1非线性误差: 1LSB或2LSB(因等级不同而异)。 电压输入范围

11、: 单极性0+10V,0+20V,双极性5V,10V。 转换时间: 35s。 供电电源: +5V,15V。 启动转换方式: 由多个信号联合控制,属脉冲式。 输出方式: 具有多路方式的可控三态输出缓存器。 无需外加时钟。 片内有基准电压源。可外加VR,也可通过将VO(R)与Vi(R)相连而自己提供VR。内部提供的VR为(10.000.1)V(max),可供外部使用,其最大输出电流为1.5mA; 可进行12位或8位转换。12位输出可一次完成,也可两次完成(先高8位,后低4位)。 2) 内部结构与引脚功能 AD574A的内部结构与外部引脚如图11.22所示。从图可见,它由两片大规模集成电路混合而成:

12、 一片为以D/A转换器AD565和10V基准源为主的模拟片,一片为集成了逐次逼近寄存器SAR和转换控制电路、时钟电路、三态输出缓冲器电路和高分辨率比较器的数字片,其中12位三态输出缓冲器分成独立的A、B、C三段,每段4位,目的是便于与各种字长微处理器的数据总线直接相连。AD574A为28引脚双列直插式封装,各引脚信号的功能定义分述如下: 图11.22 AD574A的结构框图与引脚 12/8输出数据方式选择。当接高电平时,输出数据是12位字长;当接低电平时,是将转换输出的数变成两个8位字输出。 A0转换数据长度选择。当A0为低电平时,进行12位转换;A0为高电平时,则为8位长度的转换。 CS片选

13、信号。 R/C读或转换选择。当为高电平时,可将转换后数据读出;当为低电平时,启动转换。 CE芯片允许信号,用来控制转换与读操作。只有当它为高电平时,并且CS=0时,R/信号的控制才起作用。CE和CS、R/C、12/8、A0信号配合进行转换和读操作的控制真值表如表11.4所示。 VCC正电源,电压范围为0+16.5V。 Vo(R)+10V参考电压输出端,具有1.5mA的带负载能力。 表11.4 AD574A的转换和读操作控制真值表 CE 0 1 1 1 1 1 CS 1 0 0 0 0 0 R/C 0 0 1 1 1 12 /8 +5V DGND DGND A0 0 1 0 1 无操作 无操作

14、操作内容 启动一次12位转换 启动一次8位转换 并行读出12位 读出高8位(A段和B段) 读出C段低4位,并自动后跟4个0 AGND模拟地。 GND数字地。 Vi(R)参考电压输入端。 VEE负电源,可选加-11.4V-16.5V之间的电压。 BIP OFF双极性偏移端,用于极性控制。单极性输入时接模拟地(AGND),双极性输入时接Vo(R)端。 Vi(10)单极性010V范围输入端,双极性5V范围输入端。 Vi(20)单极性020V范围输入端,双极性10V范围输入端。 STS转换状态输出端,只在转换进行过程中呈现高电平,转换一结束立即返回到低电平。可用查询方式检测此端电平变化,来判断转换是否

15、结束,也可利用它的负跳变沿来触发一个触发器产生IRQ信号,在中断服务程序中读取转换后的有效数据。 从转换被启动并使STS变高电平一直到转换周期完成这一段时间内,AD574A对再来的启动信号不予理睬,转换进行期间也不能从输出数据缓冲器读取数据。 3) 工作时序 AD574A的工作时序如图11.23所示。对其启动转换和转换结束后读数据两个过程分别说明如下: 图11.23 AD574A的工作时序 启动转换 在CS=0和CE=1时,才能启动转换。由于是CS=0和CE=1相与后,才能启动A/D转换,因此实际上这两者中哪一个信号后出现,就认为是该信号启动了转换。无论用哪一个启动转换,都应使R/C信号超前其

16、200ns时间变低电平。从图11.23可看出,是由CE启动转换的,当R/为低电平时,启动后才是转换,否则将成为读数据操作。在转换期间STS为高电平,转换完成时变低电平。 读转换数据 在CS=0和CE=1且R/C为高电平时,才能读数据,由12/8决定是12位并行读出,还是两次读出。如图11.23所示,CS或CE信号均可用作允许输出信号,看哪一个后出现,图中为CE信号后出现。规定A0要超前于读信号至少150ns,R/C信号超前于CE信号最小可到零。 从表11.4和图11.23可看出,AD574A还能以一种单独控制(stand-alone)方式工作: CE和12/8固定接高电平,CS和A0固定接地,

17、只用R/C来控制转换和读数,R/C=0时启动12位转换,R/C=1时并行读出12位数。具体实现办法可有两种: 正脉冲控制和负脉冲控制。当使用350ns以上的R/C正脉冲控制时,有脉冲期间开启三态缓冲器读数,脉冲后沿(下降沿)启动转换。当使用400ns以上的R/C负脉冲控制时,则前沿启动转换,脉冲结束后读数。 4) 使用方法 AD574A有单极性和双极性两种模拟输入方式。 单极性输入的接线和校准 单极性输入的接线如图11.24(a)所示。AD574A在单极性方式下,有两种额定的模拟输入范围: 0+10V的输入接在Vi(10)和AGND间,0+20V输入接在Vi(20)和AGND间。R1用于偏移调

18、整(如不需进行调整可把BIP OFF直接接AGND,省去外加的调整电路),R2用于满量程调整(如不需调整,R2可用一个501%的金属膜固定电阻代替)。为使量化误11差为2LSB,AD574A的额定偏移规定为2LSB。因此在作偏移调整时,使输入电压为12LSB(满量程电压为+10V时是1.22mV),调R1,使数字输出为000000000000到1000000000001的跳变。在做满量程调整时,是通过施加一个低于满量程值12LSB的模拟信号进行的,这时调R2以得到从111111111110到111111111111的跳变点。 双极性输入的接线和校准 双极性输入的接线如图11.24(b)所示。和

19、单极性输入时一样,双极性时也有两种额定的模拟输入范围: 5V和10V。5V输入接在Vi(10)和AGND之间;10V接在Vi(20)和AGND之间。 图11.24 AD574A的输入接线图 1双极性校准也类似于单极性校准。调整方法是,先施加一个高于负满量程2LSB(对于5V范围为-4.9988V)的输入电压,调R1,使输出出现从000000000000到000000000001的1跳变;再施加一个低于正满量程12LSB(对于5V范围为+4.9963V)的输入信号,调R2使输出现从111111111110到111111111111的跳变。如偏移和增益无需调整,则相应的调整电阻也和在单极性中一样,

20、R2可用501%的固定电阻代替。 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供电,模拟输入范围为05V.具有锁存三态输出,输出

21、与TTL兼容.功耗为15mw.不必进行零点和满度调整.转换速度取决于芯片的时钟频率.时钟频率范围:101280KHZ当CLK=500KHZ时,转换速度为128s.IN0IN7:8路输入通道的模拟量输入端口. 2-12-8:8位数字量输出端口. START,ALE:START为启动控制输入端口,ALE为地址锁存控制信号端口.这两个信号端可连接在一起,当通过软件输入一个正脉冲,便立即启动模/数转换.EOC,OE:EOC为转换结束信号脉冲输出端口,OE为输出允许控制端口,这两个信号亦可连结在一起表示模/数转换结束.OE端的电平由低变高,打开三态输出锁存器,将转换结果的数字量输出到数据总线上.REF(

22、+),REF(-),VCC,GND,REF(+)和REF(-)为参考电压输入端,VCC为主电源输入端,GND为接地端.一般REF(+)与VCC连接在一起,REF(-)与GND连接在一起.CLK:时钟输入端.3,8路模拟开关的三位地址选通编码表ADDA,B,C8路模拟开关的三位地址选通输入端,以选择对应的输入通道. 地 址 码对应的输入通道CBA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7二,ADC0808/0809与8031单片机的接口设计 ADC0808/0809与8031单片机的硬件接口有三种方式,查询方式,中断方式和等待延时方式.究竟采

23、用何种方式,应视具体情况,按总体要求而选择.1.延时方式 ADC0809编程模式在软件编写时,应令p2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取A/D转换结果.通道地址:7FF8H7FFFH下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序.START: MOV R1, #50H ;置数据区首地址MOV DPTR, #7FF8H ;P2.7=0且指向通道0 MOV R7, #08H ;置通道数 NEXT: MOVX DPTR,A ;启动A/D转换MOV R6, #0A

24、H ;软件延时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和脉冲进行启动.通道地址为FEF8HFEFFH用中断方式读取转换结果的数字量,模拟量输入通路选择端A,B,C分别与8031的P0.0,P0.1,P0.2(经74LS373)相连,CLK由8031的ALE提供. INTADC:SETB IT1

25、;选择为边沿触发方式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芯片内无时钟,所以必须靠外部提供时钟;外部时钟的频率范围为10KHZ1280KHZ.在前面的ADC080

26、8/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,精度高,价格也高

27、;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的内部结构及

28、引脚功能 1,ADC0809转换器内部结构 2,ADC0809引脚功能 分辨率为8位. 最大不可调误差ADC0808小于1/2LSB, ADC0809小于1LSB 单一+5V供电,模拟输入范围为05V. 具有锁存三态输出,输出与TTL兼容. 功耗为15mw. 不必进行零点和满度调整. 转换速度取决于芯片的时钟频率.时钟频率范围:101280KHZ 当CLK=500KHZ时, 转换速度为128s. IN0IN7:8路输入通道的模拟量输入端口. 2-12-8:8位数字量输出端口. START,ALE:START为启动控制输入端口,ALE为地址锁存控制信号端口.这两个信号端可连接在一起,当通过软件输

29、入一个正脉冲,便立即启动模/数转换. 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

30、 A 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 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转换结果. 通道地址:7FF8H7FFFH

31、 下面的程序是采用延时的方法,分别对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个通

32、道全采样完了吗 . 2.中断方式 将ADC0808/0809作为一个外部扩展的并行I/O口,直接由8031的P2.0和脉冲进行启动.通道地址为FEF8HFEFFH 用中断方式读取转换结果的数字量,模拟量输入通路选择端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 ; 通道地址送DP

33、TR MOVX A, DPTR;读取从IN0输入的转换结果存入 MOV 50H, A ;50H单元 MOVX DPTR,A ;启动A/D转换 RETI ;中断返回 三,接口电路设计中的几点注意事项 1.关于ADC0808/0809最高工作时钟频率的说明 由于ADC0808/0809芯片内无时钟,所以必须靠外部提供时钟; 外部时钟的频率范围为10KHZ1280KHZ.在前面的ADC0808/0809通过中断方式与8031单片机接口的电路中,8031单片机的主频接为6MHZ,ALE提供ADC0808/0809的时钟频率为1MHZ(1000KHZ); 实际应用系统使用证明,ADC0808/0809能

34、够正常可靠地工作.但在用户进行ADC0808/0809应用设计时,推荐选用640KHZ左右的时钟频率. 2,ADC0816/17与ADC0809的主要区别 ADC0816/0817与ADC0808/0809相比,除模拟量输入通道数增至16路,封装为40引脚外,其原理,性能结构基本相同. ADC0816和ADC0817的主要区别是: ADC0816的最大不可调误差为1/2LSB,精度高,价格也高; ADC0817的最大不可调误差为士1LSB,价格低. 习题七 试设计一数据采集系统 2002.10 使用单位: 山东省气象局在东营市孤岛气象观察站 设计单位: 山东大学物理与微电子学院2000级 设计

35、方案: 自行确定 提 示: 对于非模拟物理量,可以用下图示意即可 ADC0808 百科名片 ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。 ADC0808管脚图 内部结构 ADC0808是CMOS单片型逐次逼近式AD转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。 引脚功能 ADC08

36、08芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下: 15和2628:8路模拟量输入端。 8、14、15和1721:8位数字量输出端。 22:地址锁存允许信号,输入,高电平有效。 6: AD转换启动脉冲输入端,输入一个正脉冲使其启动。 7: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平。 9:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10:时钟脉冲输入端。要求时钟频率不高于640KHZ。 12)和16):参考电压输入端 11:主电源输入端。 13:地。 2325:3位地址输入线,用于选通8路模拟

37、输入中的一路 通道选择 极限参数 电源电压:6.5V 控制端输入电压:-0.3V15V 其它输入和输出端电压:-0.3VVcc+0.3V 贮存温度:-65+150 功耗:875mW 引线焊接温度:气相焊接:215;红外焊接(15s):220 抗静电强度:400V 一个风格很好的AD转换程序,值得你参考 标签: AD转换程序 顶0 分享到 发表评论(0) 编辑词条 开心001 人人网 新浪微博 /ICC-AVR application builder : 2007/6/23 1:26:55 / Target : M16 / Crystal:1.0000Mhz #include #include

38、#define ADC_VREF_TYPE 0xe0 /选用2.56V 的片内基准电压源,且结果为左对齐 #define AD_SE_ADC0 0x00 /ADC0 unsigned char Table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /数码管字型09 unsigned char Data4 = 0,0,0,0; /存放A/D转换结果 unsigned long int i,j=2560,k=256; void port_init(void) PORTA = 0x01; DDRA = 0x00; PORTB = 0

39、xFF; 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_de

40、vices(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; for(i=0;ia*7373;i+); void

41、Display(unsigned char p) /动态显示, unsigned char i; for(i=0;i4;i+) PORTD=0x01i; PORTB=Tablepi; delay_(5); PORTD&=(0x01i); unsigned int read_adc(unsigned char adc_input) /读取A/D转换结果 ADMUX=adc_input|ADC_VREF_TYPE; ADCSRA|=0x40; /启动A/D转换 while (ADCSRA&0x10)=0); /等待A/D转换完成 ADCSRA|=0x10; return ADCH; void Pr

42、ocess(unsigned int i,unsigned char *p) /数据处理函数 p0=i/1000; i=i%1000; p1=i/100; i=i%100; p2=i/10; i=i%10; p3=i; void main(void) init_devices; DDRA=0x00; /设置A口为不带上拉输入; PORTA=0x00; DDRB=0xff; /设置B口为输出口; DDRD=0xff; /设置D口为输出口; PORTB=0x3f; /B口初始化输出0 ;D口初始化输出1;点亮全部数码管; PORTD=0xff; ADMUX=ADC_VREF_TYPE; /选择第一

43、通道ADC0; ADCSRA=0xA6; /125k转换速率,自由转换模式;启动A/D转换; delay_(1000); /延时待系统稳定; while(1) i=read_adc(AD_SE_ADC0); /获取A/D转换数据 i=(i*j)/k; Process(i,Data); /数据处理 Display(Data); /显示结果 delay_(5); AD转换程序汇编语言 XX年x月x日 星期五 13:46 ;实验目的:熟悉A/D转换 ;软件思路:选择RAO做为模拟输入通道; ; 连续转换4次再求平均值做为转换结果 ; 最后结构只取低8位 ; 结果送数码管的低3位显示 ;硬件要求:拨码

44、开关S14第2位置ON,第1位置OFF ; 拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF ; 为不影响结果,其他拨码开关置OFF。 #INCLUDE ;包含芯片头文件 _CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC ;*寄存器定义* TEMP EQU 20H ;临时寄存器 BAI EQU 21H ;转换结果的百位 SHI EQU 22H ;转换结果的十位 GE EQU 23H ;转换结果的个位 ;* ORG 00H ;复位入口地址 NOP ;ICD需要的空指令 GOTO MAIN ;跳转到主程序入口 ORG 04H ;中断入口地址 RETFIE ;放置一条中断返回指令,防止以外中断发生 ;*查表程序* ;入口参数:W ;出口参数:W TABLE ADDWF PCL,1 ;指令寄存器加上偏移地址 RETLW 0C0H ;0的编码 RETLW 0F9H ;1的编码 RETLW 0A4H ;2的编码 RETLW 0B0H ;3的编码 RETLW 99H ;4的编码 RETLW 92H ;5的编码 RETLW 082H ;6 RETLW 0F8H ;7 RETLW

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号