新闻中心

EEPW首页 > 模拟技术 > 设计应用 > MAX1247芯片在MCS-51系列中的应用

MAX1247芯片在MCS-51系列中的应用

作者:时间:2006-05-07来源:网络收藏

摘要:是美国MAXIM公司生产的一种新型12位A/D转换器。文中介绍了它的功能、工作模式及转换参数,并给出了与MCS-51的软件程序。

是一种12位的A/D转换器。它带有一个四通道的复用器一个高带宽的采样/保持器。可采用总线结构和单片机相连,其供电电压在+2.7~+5.25V之间,可实现4路或2路的数据转换,并可通过软件实现多种转换模式。

1 引脚排列

MAX1247的引脚排列如图1所示,各引脚功能说明如下:

1脚(VDD):电源端

2~5脚(CH0~CH3):四个采样模拟信号输入端;

6脚(COM):模拟信号输入的地参考电压,在单通道模式中,该脚必须连至地且必须稳定在-0.5LSB~+0.5LSB。

7脚(SHDN):关闭输入控制端,为低时,将使器件掉电;为高时,将使参考缓冲区放大器处于内部补偿模式;将其浮动,则使参考缓冲区放大器处于外部补偿模式;

8脚(VREF):ADC参考输入,是模数转换的参考电压,可用此脚来控制模式输入的电压范围。该脚电压最大为5.05V;

9脚(REFADJ):参考缓冲区放大器的输入,要使参考缓冲区放大器无效,需将其拉至VDD;

10脚(AGND):模拟地;

11脚(DGND):数字地;

12脚(DOUT):串行数据输出,数据在SCLK的下降沿输出。当CS为高时,该端为高阻态;

13脚(SSTRB):转换结束脚,当处于内部时钟模式,且芯片开始转换时,该脚变低,但若转换结束,该脚变高;在外部时钟模式下,在MSB开始形成之前,该脚维持一个时钟脉冲的高电平。

14脚(DIN):串行数据输入,数据在SCLK的上升沿被锁存;

15脚(CS):片选信号;

16脚(SCLK):串行时钟输入,用来进行串行数据的输入和输出。

2 工作模式

MAX1247有四种工作模式,具体说明如下:

●UNIpolar/Bipolar:在UNIpolar模式下,模拟输入的信号量可在0V~VREF之间,而在Bipolar模式下,模拟输入的信号量可在-VREF/2~VREF/2之间;

●Full power-down/fast power-down:掉电模式;

●Internal clock mode/External clock mode(内部时钟/外部时钟):在外部时钟模式下,外部时钟不仅要控制数据的移入和移出,而且要驱动模数转换,并要求模数转换必须在一定的时间内结束,否则将使转换结果降低,如果外部时钟的频率低于100kHz,最好用内部时钟模式;在内部时钟模式下,芯片将自动生成转换用时钟,这使得单片机不用主动生成转换用时钟,使可将转换结果读入(读入读出时钟可在0~2MHz范围之内);

●Single-ended/Differential:在Single-ended模式下,输入信号电压量和COM口构成相对电压。在Differential模式下,CH0/CH1间也将构成,CH2/CH3间将构成,因而在Single-ended模式下,最大可构成四路模拟量输入,而在Differential模式下,最大可构成两路模拟量输入,单通道模式和模式下的通道选择见表1。

表1 通道选择

单通道模式SEL2SEL1SEL0CH0CH1CH2CH3COM
001+   -
101 +  -
010  + -
110   +-
差分输入模式SEL2SEL1SEL0CH0CH1CH2CH3 
001+-   
010  +- 
101-+   
110  -+ 

3 模数转换的开始和结束

当CS为低时,通过将一个控制字节由CLK端送入DIN脚,可以将第一个到达的逻辑“1”位定义为控制字的开始(MSB),控制字的格式如下:

对控制字各位的解释见表2所列。当芯片接受到该控制字后,器件开始进行模数转换,在经过一段时间的延时后,再接收ROUT上的数据,该数据为所转换的数字量。把CS拉高,将结束本次转换过程。

表2 控制字各位的解释

名 称

解 释

7START当CS选通后,该位为1表示一个控制字的开始
6SEL2这3位选择四个通道中选择那一个在本次转换中使用(参见表3)
5SEL1
4SEL0
3UNI/BIPi=Single-end 0=differuantial
2SGL/DIFI=Single-end 0=differantial
1
0(LSB)
PD1
PD0
PD1 PD0 模式
0 0 完全掉电模式
0 1 快速掉电模式
1 0 内部时钟模式
1 1 外部时钟模式

4 模拟量与数字量的关系

4.1 关系

对于Bipolar模式,其输入模拟量的电压范围为-VREF+Vcom~+VREF+Vcom,将该电压范围分成4096等份,则1LSB=VREF/4096,相应的数字电压范围为8FF~7FF,例如:000代表Vcom,7FF代表+VREF+Vcom。

对于UNIpolar模式,其输入模拟量的电压范围为Vcom~VREF+Vcom,将该电压范围分为4096等份,则1LSB=VREF/4096,相应的数字电压范围为000~FFF,例如:000代表Vcom,FFF代表+VREF+Vcom。

4.2 数字量的输出

MAX1247一共输出两个字节,每个字节都是高位在先,其结构如下:

5 程序

以下以给主MAX1247发送命令字以及从MAX1247接收采样数据为例,给出一个简单的程序的示例。

send1247data: ;发送命令字子程序(A中为要发送的命令)

mov rotcount,#08h

clr do

clr cs ;将CS变低

rot-next:

nop

nop

clr clk ;将CLK变低

rlc a ;移出第一位

mov din,c

setb clk ;发送第一位

djnz rotcount,rot-next

nop

clr clk ;启动转换

setb cs ;将片选拉高

ret

recdata: ;数据接收子程序

clr din

clr cs ;将片选拉低

nop

nop

setb clk

mov rotcount,#08h

recl-next:

clr clk ;发送下降沿

nop

nop

mov c,do ;移入数据

rlc a

setb clk

nop

dinz rotcount,recl-next

push a ;保存接收到的高位数据

mov rotcount,#08h ;为接收作准备

rec2-next:

clr clk ;发下降沿

nop

nop

mov c,do

rlc a

setb clk

nop

djnz rotcount,rec2-next

setb cs

mov b,a

pop a

ret



评论


相关推荐

技术专区

关闭