|
我们的课程设计,单片机采样程序。
- #include<MSP430G2553.h>
- /*初始化函数,
- * BIT为选择输入端口可累加输入即BIT=BIT0+BIT1...由P1.0到P1.7口可作为AD采样。
- * SREF_0是电压选择基准。有0——7,七个基准。
- * ADC10SSEL_0为ADC10时钟源选择。0为ADC10OSC,1为ACLK,2为MCLK,3为SMCLK
- * CONSEQ_0为转换序列模式选择。0为单通道单次转换,1为单序列单次转换,2位单通道重复转换 ,3为单序列重复转换
- */
- void init_ADC10(unsigned char BIT)
- {
- P1DIR &=~ BIT;
- P1SEL |= BIT;
- ADC10AE0 |= BIT;
- ADC10CTL0 = ADC10ON + MSC + SREF_0 + REFON;
- //开AD内核,选择电源为参考电压
- ADC10CTL1 = ADC10SSEL_0 + CONSEQ_0; //采用单通道次采用分时复用
- }
- /*开始函数,在开始函数中自行选择所用通道*/
- unsigned int start_ADC10(unsigned int INCH)
- {
- unsigned int temp;
- ADC10CTL1 |= INCH; //Channal 0
- ADC10CTL0 |= ADC10SC + ENC; // 开始转换 开转换允许
- while (ADC10CTL1 & ADC10BUSY != 0); //判断是否转换完毕
- temp = ADC10MEM;
- ADC10CTL0 &= ~(ADC10SC + ENC); //关转换允许才能选择通道
- ADC10CTL1 &= ~INCH_0; //通道清0
- return temp;//实际电压值=[3.3/(2^10)]*temp
- }
复制代码
下载:
ADC10.zip
(1.23 KB, 下载次数: 17)
|
|