标题: 我做的课程,MSP430 adc采样的程序 [打印本页]

作者: 小别针    时间: 2017-3-26 20:57
标题: 我做的课程,MSP430 adc采样的程序
我们的课程设计,单片机采样程序。



  1. #include<MSP430G2553.h>

  2. /*初始化函数,
  3. * BIT为选择输入端口可累加输入即BIT=BIT0+BIT1...由P1.0到P1.7口可作为AD采样。
  4. * SREF_0是电压选择基准。有0——7,七个基准。
  5. * ADC10SSEL_0为ADC10时钟源选择。0为ADC10OSC,1为ACLK,2为MCLK,3为SMCLK
  6. * CONSEQ_0为转换序列模式选择。0为单通道单次转换,1为单序列单次转换,2位单通道重复转换     ,3为单序列重复转换
  7. */
  8. void init_ADC10(unsigned char BIT)
  9. {
  10.         P1DIR &=~ BIT;
  11.         P1SEL |= BIT;
  12.         ADC10AE0 |= BIT;
  13.         ADC10CTL0 = ADC10ON + MSC + SREF_0 + REFON;
  14.         //开AD内核,选择电源为参考电压
  15.         ADC10CTL1 = ADC10SSEL_0 + CONSEQ_0; //采用单通道次采用分时复用
  16. }
  17. /*开始函数,在开始函数中自行选择所用通道*/
  18. unsigned int start_ADC10(unsigned int INCH)
  19. {
  20.             unsigned int temp;
  21.             ADC10CTL1 |= INCH;       //Channal 0
  22.                 ADC10CTL0 |= ADC10SC + ENC; // 开始转换  开转换允许
  23.                 while (ADC10CTL1 & ADC10BUSY != 0); //判断是否转换完毕
  24.                 temp = ADC10MEM;
  25.                 ADC10CTL0 &= ~(ADC10SC + ENC); //关转换允许才能选择通道
  26.                 ADC10CTL1 &= ~INCH_0; //通道清0
  27.                 return temp;//实际电压值=[3.3/(2^10)]*temp
  28. }
复制代码

下载:
ADC10.zip (1.23 KB, 下载次数: 17)

作者: melo1201    时间: 2017-5-9 16:06
学习学习 感谢分享




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1