MSP430单片机的ADC12模块是一个12位精度的A/D转换模块,它具有高速度,通用性等特点。从以下ADC12结构框图中可以看出,ADC12模块是由以下部分组成:输入的16路模拟开关,ADC内部参考电压源,ADC12内核,ADC时钟源部分,采集与保持/触发源部分,ADC数据输出部分,ADC控制寄存器等。
ADC12模块的所有寄存器
ADC12CTL0:
SHT1x:采样保持时间。定义了寄存器ADC12MEM8-15转换结果中转换时序与采样时钟ADC12CLK的关系。
SHT0x:功能同上,ADC12MEM0-7.
MCS:
REF2_5V:内部参考电压选择。REFON(内部参考电压发生器控制位)必须置位。
0:1.5V;1:2.5V
ADC12ON:0:关闭ADC12内核;1:打开ADC12内核
ADC12OVIE:ADC12MEMx溢出中断允许位。
ADC12TOVIE:转换时间溢出中断允许位。
ENC: 转换允许位。
ADC12SC:不同条件下ADC12SC的含义
ADC12CTL1:
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:
16位寄存器用来存储ADC转换结果,只用其中低12位,高4位在读出时为0.
ADC12MCTLx:
EOS:序列结束控制位
0 序列没有结束;1 此序列中最后一次转换
SREFx:参考电压源选择位
INCHx:选择模拟输入通道
ADC12IE:
ADC12IEx:0 禁止相应的中断标志位ADC12IFGx在置位时发生的中断请求服务
1 允许相应的中断标志位ADC12IFGx在置位时发生的中断请求服务
ADC12IFG:
ADC12IFGx:ADC12MEMx中断标志位
0 ADC12MEMx被访问
1 转换结束,并且转换结果硬装入转换存储器
ADC12IV:
ADC12IVx:ADC12中断向量
ADC12是一个多源中断:有18个中断标志(ADC12IFG0-ADC12IFG15,ADC12TOV,ADC12OV)但只有一个中断向量。
例程1:
P.0输入单通道转换,参考电压AVCC,ADC12SC触发转换,采样保持时间是ADC内部时钟竞争的(16x),如果A0>0.5AVCC,P3.4置1,否则为0
例2
对AD0-AD3进行重复序列转换。
文章评论(0条评论)
登录后参与讨论