您好,欢迎访问三七文档
ADC08328位串行A/D转换器ADC08321.功能特点ADC0832是NS(NationalSemiconductor)公司生产的串行接口8位A/D转换器,通过三线接口与单片机连接,功耗低,性能价格比较高,适宜在袖珍式的智能仪器仪表中使用。ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。芯片具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件连接和处理器控制变得更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。其主要特点如下:●8位分辨率,逐次逼近型,基准电压为5V;●5V单电源供电;●输入模拟信号电压范围为0~5V;●输入和输出电平与TTL和CMOS兼容;●在250KHZ时钟频率时,转换时间为32us;●具有两个可供选择的模拟输入通道;●功耗低,15mW。2.外部引脚及其说明ADC0832有DIP和SOIC两种封装,DIP封装的ADC0832引脚排列如图6.21所示。各引脚说明如下:●CS——片选端,低电平有效。●CH0,CH1——两路模拟信号输入端。●DI——两路模拟输入选择输入端。●DO——模数转换结果串行输出端。●CLK——串行时钟输入端。●Vcc/REF——正电源端和基准电压输入端。●GND——电源地。3.单片机对ADC0832的控制原理一般情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK提供时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲到来之前DI端必须是高电平,表示启动位。在第2、3个时钟脉冲到来之前DI端应输入2位数据用于选择通道功能,其功能项见表6.4。输入形式配置位选择通道CH0CH1CHOCH1差分输入00+-01-+单端输入10+11+图6.21ADC0832引脚图如表6.4所示,当配置位2位数据为1、0时,只对CH0进行单通道转换。当配置2位数据为1、1时,只对CH1进行单通道转换。当配置2位数据为0、0时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当配置2位数据为0、1时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。到第3个时钟脉冲到来之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个时钟脉冲开始由DO端输出转换数据最高位D7,随后每一个脉冲DO端输出下一位数据。直到第11个脉冲时发出最低位数据D0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个时钟脉冲输出D0。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。图6.22为ADC0832时序图。4.ADC0832典型应用(1)单片机串行口方式0与ADC0832接口AT89S51ADC0832RXDTXDP1.7CSCLKDOCH0CH1DI如图6.23所示,AT89C51的P1.7为片选信号端,TXD是时钟信号输出端,RXD为启动信号,模拟通道选择信号发送端以及A/D转换后输出数据的接收端。ADC0832的时钟频率最高为400KHZ,单片机AT89C51晶振选用4MHZ,在TXD端的输出频率为4MHZ/12=333KHZ,符合要求。ADC0832输出的串行数据共15位,由两段8位数据组成,前一段是最高位在先,后一段是最高位在后,两段数据的最低位共用。只有在时钟的下降沿,ADC0832的串行数据才移出一位。由单片机控制时钟信号进行发送,并由TXD发出,以达到控制ADC0832输出数据位的目的。为了得到一列完整的8位数据,单片机分两次采集含有不同位的数据,再合成一列完整的8位数据。当REN=0时,AT89C51连续一次向ADC0832发送8个时钟脉冲,前3个脉冲发送的是启表6.4ADC0832配置位图6.22ADC0832时序图图6.23ADC0832与单片机动位和模拟通道选择位,共计3位;从第4个脉冲下降沿开始,ADC0832发出转换数据D7~D4(在脉冲上升沿单片机方可接收)。但由于REN=0,单片机不予接收,丢失D7~D4数据。当REN=1时,单片机又向ADC0832连续发出8个时钟脉冲,其输出转换数据D3,D2,D1,和d0,d1,d2,d3,d4,存入累加器A形成如下结构:累加器Ad4d3d2d1d0D1D2D3MSBLSB上述数据右移3位,并屏蔽掉高3位,暂存于寄存器B,得到如下结构:寄存器B000d4d3d2d1d0MSBLSB单片机第二次接收,可得到下列数据:累加器AXXXXXd7d6d5MSBLSB以上数据左移5位,并屏蔽低5位,送入累加器A,得到如下结构:累加器Ad7d6d500000MSBLSB进行(A)+(B)→(A)运算,得到如下结构:累加器Ad7d6d5d4d3d2d1d0MSBLSB从而得到一个完整的8位A/D转换结果。根据图6.23对CH1通道的模拟输入信号实行A/D转换的程序如下:CADA:CLRP1.7;CS=0MOVSCON,#00H;串行口方式0,REN=0MOVA,#07H;通道配置位为11,启动位为1MOVSBUF,A;启动发送LOOPA1:JNBT1,LOOPA1;发送等待MOVSCON,#10H;REN=1,RI=0,启动接收LOOPA2:JNBR1,LOOPA2;接受等待MOVA,SBUFRRARRARRAANLA,#1FH;屏蔽高3位MOVB,AMOVSCON,#10H;第二次启动接收LOOPA3:JNBRI,LOOPA3MOVA,SBUFRLASWAPAANLA,#0E0HADDA,BSETBP1.7RET(2)SPI串行接口方式SPI是MOTOROLA公司推出的一种同步串行外设接口,允许MCU也各个厂家生产工具的标准外围设备直接接口,以串行方式交换信息。SPI使用4条线与主机(MCU)连接:串行时钟SCK,主机输入/从机输出数据线SO,主机输出/从机输入数据线SI和低电平有效的从机选择线CS。SPI串行扩展系统的主器件单片机,可以带有SPI接口,也可以不带SPI接口,但从器件必须具有SPI接口。AT89S51ADC0832P1.2P1.1P1.0CSCLKDOCH0CH1DIP1.3ADC0832具有SPI接口,图6.24为AT89S51与ADC0832的SPI串行接口方式,将DO和DI分别连接于P1.0和P1.1。对CH0通道的模拟信号进行A/D转换,转换结果存于累加器A中。程序如下:CADB:CLRP1.3;CS=0MOVA,#03H;起始位和配置位为011MOVR7,#03HLOOPB1:CLRP1.2;CLK=0RRCAMOVP1.1,CNOPSETBP1.2;CLK=1DJNZR7,LOOPB1CLRP1.2;通道稳定脉冲NOPSETBP1.2;CLK=1MOVR7,#08HLOOPB2:CLRP1.2;CLK=0MOVC,P1.0;读入一位数据RLCASETBP1.2;CLK=1DJNZR7,LOOPB2SETBP1.3;CS=1图6.24AT89S51与ADC0832的SPI方式连接RET
本文标题:ADC0832
链接地址:https://www.777doc.com/doc-3990128 .html