原创 【博客大赛】MSP430MSP430学习笔记--ADC12

2013-7-19 22:03 2712 15 15 分类: MCU/ 嵌入式

  MSP430单片机的ADC12模块是一个12位精度的A/D转换模块,它具有高速度,通用性等特点。从以下ADC12结构框图中可以看出,ADC12模块是由以下部分组成:输入的16路模拟开关,ADC内部参考电压源,ADC12内核,ADC时钟源部分,采集与保持/触发源部分,ADC数据输出部分,ADC控制寄存器等。

20130719091418784.jpg



ADC12模块的所有寄存器

 20130719114413757.jpg

ADC12CTL0:

20130719135519471.jpg

SHT1x:采样保持时间。定义了寄存器ADC12MEM8-15转换结果中转换时序与采样时钟ADC12CLK的关系。

SHT0x:功能同上,ADC12MEM0-7.

MCS:

20130719144918777.jpg

REF2_5V:内部参考电压选择。REFON(内部参考电压发生器控制位)必须置位。

        0:1.5V;1:2.5V

ADC12ON:0:关闭ADC12内核;1:打开ADC12内核

ADC12OVIE:ADC12MEMx溢出中断允许位。

ADC12TOVIE:转换时间溢出中断允许位。

ENC: 转换允许位。 

ADC12SC:不同条件下ADC12SC的含义

20130719145846438.jpg

ADC12CTL1:

20130719150332918.jpg

CSTATRADDx:可以定义单词转换或序列转换的首地址。ADC12MEM0-ADC12MEM15对应0-0Fh。

SHSx:采样触发源选择

      00 ADC12SC

      01 Timer_A.OUT1

      10 Timer_B.OUT0

      11 Timer_B.OUT1

ISSH:采样输入信号方向控制位

ADC12DIVx:时钟源分频选择位

ADC12SSELx:时钟源选择位。ADC12OSC大约为5MHZ(具体见数据手册)

CONSEQx:转换模式选择

ADC12BUSY:ADC12忙标志位。只用于单通道单次转换模式,如果ENC复位,则转换立即停止,转换结果不可靠,需要在ENC=0之前,测试ADC12BUSY位以确定是否为0.在其他转换模式下此位是无效的。

ADC12MEMx:

20130719160846915.jpg

16位寄存器用来存储ADC转换结果,只用其中低12位,高4位在读出时为0.


ADC12MCTLx:

20130719161055479.jpg

EOS:序列结束控制位

   0 序列没有结束;1 此序列中最后一次转换

SREFx:参考电压源选择位

INCHx:选择模拟输入通道

ADC12IE:

20130719161451720.jpg

ADC12IEx:0 禁止相应的中断标志位ADC12IFGx在置位时发生的中断请求服务

          1 允许相应的中断标志位ADC12IFGx在置位时发生的中断请求服务

ADC12IFG:

20130719161738410.jpg

ADC12IFGx:ADC12MEMx中断标志位

          0 ADC12MEMx被访问

          1 转换结束,并且转换结果硬装入转换存储器

ADC12IV:

20130719162103120.jpg

ADC12IVx:ADC12中断向量


ADC12是一个多源中断:有18个中断标志(ADC12IFG0-ADC12IFG15,ADC12TOV,ADC12OV)但只有一个中断向量。

例程1:

P.0输入单通道转换,参考电压AVCC,ADC12SC触发转换,采样保持时间是ADC内部时钟竞争的(16x),如果A0>0.5AVCC,P3.4置1,否则为0

20130719182134270.jpg

例2

对AD0-AD3进行重复序列转换。

20130719220246712.jpg

文章评论0条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /2 下一条