MSP430 ADC12模块寄存器设置解读
ADC12模块中是由以下部分组成:输入的16路模拟开关(外部8路,内部4路),ADC内部电压参考源,ADC12内核,ADC时钟源部分,采集与保持/触发源部分,ADC数据输出部分,ADC控制寄存器等组成。
四种采样模式:
(1)单通道单次转换模式
(2)序列通道单词转换模式
(3)单通道多次转换模式
(4)序列通道多次转换模式
个人觉得(3)模式应该是使用较多的,
对选定的通道进行多次转换,直到关闭该功能或ENC=0。进行如下设置:
x=CSStartAdd,指向转换开始地址
ADC12MEMx存放转换结果
ADC12MCTLx寄存器中定义了通道和参考电压
在这种模式下,改变转换模式,不必先停止转换,在当前正在进行的转换结束后,可改变转换模式。该模式的停止可有如下几种办法:
使用CONSEQ=0的办法,改变为单通道单次模式。
使用ENC=0直接使当前转换完成后停止。
使用单通道单次模式替换当前模式,同时使ENC=0
ADC12CTL0
ADC12CTL1
ADC12IE
ADC12IFG
ADC12IV
ADC12MEM0-15
ADC12MCTL0-15
一般做法:在大循环里开始转换,转换完毕引发中断,我们在中断里记录并处理转换数据。
二。ADC12寄存器说明
-----------------------------------------------------------------------
寄存器类型
-----------------------------------------------------------------------
转换控制寄存器
-----------------------------------------------------------------------
中断控制寄存器
-----------------------------------------------------------------------
存储及其控制寄存器
-----------------------------------------------------------------------
1.ADC12CTL0
bit15~12
SHT1
ADC12SC——采样/转换控制位。在不同条件下,ADC12SC的含义如下所示:
--------|---------------------------------------------------------------------
ENC=1,
ISSH=0
--------|---------------------------------------------------------------------
ENC——转换允许位。
0:ADC12为初始状态,不能启动A/D转换;
1:首次转换由SAMPCON上升沿启动
ADC12TVIE——转换时间溢出中断允许位(当前转换还没完成时,又发生一次采样请求,则会发生转换时间溢出)
0:没发生转换时间溢出
1:发生转换时间溢出
ADC12OVIE——溢出中断允许位(当ADC12MEMx中原有数据还没有读出,而又有新的转换结果数据要写入时,则发生溢出)
0:没发生溢出
1:发生溢出
ADC12ON——ADC12内核控制位
0:关闭ADC12内核
1:打开ADC12内核
REFON——参考电压控制位
0:内部参考电压发生器关闭
1:内部参考电压发生器打开
2.5V——内部参考电压的电压值选择位
0:选择1.5V内部参考电压
1:选择2.5V内部参考电压
MSC——多次采样转换位(CONSEQ<>0表示当前转换模式不是单通道单次转换)
-----------|---------------------------------------------------------------------------------------------
有效条件
SHP=1
CONSEQ<>0
-----------|---------------------------------------------------------------------------------------------
SHT1、SHT0——采样保持定时器1,采样保持定时器0
分别定义保存在转换结果寄存器ADC12MEM8~ADC12MEM15和ADC12MEM0~ADC12MEM7中的转换采样时序与采样时钟ADC12CLK的关系。采样周期是ADC12CLK周期乘4的整数倍,即:
SHITx
n
2.ADC12CTL1
bit15~12
CSSTARTADD
CSSTARTADD——转换存储器地址位。该4位所表示的
MSP430ADC12模块寄存器设 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)