ADC12模块
小小总结,完全原创。欢迎转载!请注明出处。技术交流QQ:1626092784
视频教程地址:http://www.youku.com/playlist_show/id_20133778.html
相关的源程序、视频教程、电路图、开发软件打包下载:http://pan.baidu.com/share/link?shareid=1516264396&uk=471316729
看懂这个图,基本上就会用ADC12模块了。INCHx寄存器选择模拟信号的输入脚,共有12种选择,所选引脚是哪个可以对应在引脚图上找出来。模拟输入信号和一个采样保持器相连,采样保持器和AD转换器相连,SHP控制采样保持信号,当SHP为1时采样保持信号为采样定时器,当SHP为0时采样保持信号为采样输入信号。AD转换器的参考电压由SREF0~SREF2决定。AD转换器的时钟脉冲由SHSx控制有ADC12OSC、ACLK、MCLK、SMCLK四种时钟信号分频后供选择。当AD转换器将模拟信号成功转换为数字信号后需要将数字信号的数据存入寄存器以供单片机查询利用,所以采样信号也是保持信号,这个信号有ADC12CLK、TA1、TB0、TB1四中信号可选,四种信号和SHT1x、SHT0x构成采样保持定时器。MSC位为多次采样转换控制位,当该位为0时,每次采样都要由SHI信号的上升沿触发,当该位为1时,第一次转换为SHI洗好的上升沿触发,以后的转换均在上一次转换完成后自动开始。ENC为转换允许控制位,ISSH为采样信号反向控制位。
2、寄存器配置名词解释:
SHT1x和SHT0x:采样保持时间。顾名思义,就是设置采样保持器本次采样到下一次采样中间间隔时间长短的。
ADC12OVIE:ADC12MEMx溢出中断。当没有设置EOS序列结束位时,当ADC12将ADC12MEMx填完后就会产生一个溢出中断。
ADC12TOVIE:ADC12模块转换时间中断。
CSTARTADDx;转换起始地址。设置单通道时候的转换地址,和多通道时候的起始地址。
CONSEQ1:转换模式选择。转换模式有四种:单通道单次转换、单通道多次转换、序列通道单次转换、序列通道多次转换。所谓单通道是指只对一个模拟输入信号进行转换,想当然的,多通道就是有好几路模拟信号输入。所谓单次转换就是转换一次就输出相应的数字信号值,想当然的,多次转换就是多次转换后再进行相应数字信号值得输出。
EOS:转换结束位。是针对多通道时使用的,当该位为1时说明本次转换已经将最后一个通道的栓换完毕,下一次转换就从起始通道开始转换。
INCHx:模拟通道选择。这个设置是和对应的ADC12MEMx存储器对应的,就是将外部的模拟信号输入引脚和ADC12MEMx相对应起来。对应起来后该引脚输入的模拟信号经过转换后的数字值就存在那个ADC12MEMx寄存器里。
3、ADC12中断使用注意事项:
ADC12的中断向量为ADC_VECTOR。
4、当使用多通道AD转换时,ADC12的寄存器设置有顺序之分。如下:
该设置是使用了A0~A3四个AD通道。A3作为序列通道的最后一个。当A3通道转换结束后进入中断。需要特别注意的设置顺序是ADC12MCTL0~ ADC12MCTL3的设置不能放在后边,放在后边的话就不能实现多通道转换的目的。
5、当不设置EOS序列结束通道却使用多通道时候,要开ADC12OVIE即ADC12MEMx溢出中断,同样可以查询到各个通道AD转换的值。
6、ADC模块涉及的主要寄存器。共有四类。
转换控制类寄存器:ADC12CTL0、ADC12CTL1.共两个。
中断控制类寄存器:ADC12IFG、ADC12IE、ADC12IV。共三个。
存储控制类寄存器:ADC12MCTL0——ADC12MCTL15.共16个。
存储器类寄存器:ADC12MEM0——ADC12MEM15,共6个。
7、ADC12OSC是单片机芯片内部的专为ADC12模块产生的时钟源,频率为5MHz范围内,但会随着芯片的本身,供电电压和温度而变化。