MSP430学习笔记(4)ADC12
时间:11-27
来源:互联网
点击:
- mes-0为单次转换,1为多次转换,
- ucharTube-0为单通告转换,1为多通道转换
- ucharn-待转换的通道(只有在Tube为0的时候有用)
- ucharV-0为内部参考电压,1为外部参考电压
- //返回值:无
- //功能:完成ADC12Init的初始化
- *************************************************************************/
- voidADC12Init(ucharTimes,ucharTube,ucharn,unsignedcharv)
- {
- if(Tube==0)//单通道转换
- {
- if(v==0)
- {
- ADC12CTL0=ADC12ON+SHT0_8+MSC+REFON+REF2_5V;//使用内部电压,打开ADC12内核,8分频,内部参考电压2.5V
- ADC12MCTL0=SREF_0;//使用内部电压,参考位为AVCC和AVSS
- }
- if(v==1)
- {
- ADC12CTL0=ADC12ON+SHT0_8;//使用外部电压,打开ADC12内核,8分频
- ADC12MCTL0=SREF_2;//使用外部电压,参考为为VeREF+和AVSS
- }
- if(Times==0)ADC12CTL1=SHP+CONSEQ_0;//单通道单次转换,采样信号来自采样定时器
- if(Times==1)ADC12CTL1=SHP+CONSEQ_2;//单通道多次转换,采样信号来自采样定时器
- switch(n)//选择通道
- {
- case0:ADC12MCTL0|=INCH_0;break;
- case1:ADC12MCTL0|=INCH_1;break;
- case2:ADC12MCTL0|=INCH_2;break;
- case3:ADC12MCTL0|=INCH_3;break;
- case4:ADC12MCTL0|=INCH_4;break;
- case5:ADC12MCTL0|=INCH_5;break;
- case6:ADC12MCTL0|=INCH_6;break;
- case7:ADC12MCTL0|=INCH_7;break;
- }
- ADC12IE=n;//使能待转换通道的中断
- ADC12CTL0|=ENC;//开启软件使能
- }
- if(Tube==1)//多通道转换
- {
- if(v==0)
- {
- ADC12CTL0=ADC12ON+SHT0_8+MSC+REFON+REF2_5V;//使用内部电压,打开ADC12内核,8分频,内部参考电压2.5V
- ADC12MCTL0=SREF_0;//使用内部电压,参考位为AVCC和AVSS
- }
- if(v==1)
- {
- ADC12CTL0=ADC12ON+SHT0_8;//使用外部电压,打开ADC12内核,8分频
- ADC12MCTL0=SREF_2;//使用外部电压,参考为为VeREF+和AVSS
- }
- if(Times==0)ADC12CTL1=SHP+CONSEQ_1;//多通道单次转换,采样信号来自采样定时器
- if(Times==1)ADC12CTL1=SHP+CONSEQ_3;//多通道多次转换,采样信号来自采样定时器
- ADC12IE=0xff;//使能待转换通道的中断
- ADC12CTL0|=ENC;//开启软件使能
- }
- }
MSP430学习笔记ADC1 相关文章:
- MSP430学习笔记(二)(11-26)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)