微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > msp430的一些常用的C语言控制程序---ADC12(2)

msp430的一些常用的C语言控制程序---ADC12(2)

时间:11-11 来源:互联网 点击:
下面是ADC12单通道单次的中断方式的例子:

//ADC12单通道单次的中断方式
#includemsp430x14x.h>
unsigned ADC_Result;
void ADC12_Init();
void main(){
WDTCTL = WDTPW + WDTHOLD;
ADC12_Init();
_BIS_SR(GIE);
ADC12CTL0 |= ADC12SC;
while(1);
}
//
void ADC12_Init(){
ADC12CTL0 &= ENC;
P6DIR &= ~BIT6;
P6SEL |= BIT6; //选择P6.6的第二功能
ADC12CTL0 = ADC12ON + SHT0_6 + REFON; //打开ADC12,可以进行转换,采样保持定时器0,一般选6,8,内部参考电压发生器打开
ADC12CTL0 &= ~REF2_5V; //选择内部参考电压为1.5V,根据实际用的时候选
ADC12CTL1 = SHP + CONSEQ_0 + SHS_0;//使用采样定时器 + 单通道单次转换模式 + 采样输入信号源控制位(ADC12SC,).
ADC12MCTL0 = SREF_1 + INCH_6;//参考电压Vref+,AVss.通道6
ADC12IE |= BIT0;//中断使能
ADC12CTL0 |= ENC;// + ADC12SC;//转换使能
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(){
ADC_Result = ADC12MEM0;//此处可从IAR中观察值
ADC12CTL0 |= ADC12SC;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top