×
单片机 > 单片机程序设计 > 详情

MSP430 AD 单通道单次转换

发布时间:2020-05-16 发布时间:
|

今天学了一下msp430 ad转换,编程ad单通道单次转换。


首先顺一下思路:


adc12 :单通道单次转换流程,开了adc12on 后,shs (选择输入信号源)= 0,ENC上跳,adc12sc 上跳, 开始采样,经过采样保持时间,转换成功,值放在adc12MEMx中。发生中断,adcifg置位,读取后adc12mem 后,自动复位。




相关寄存器:


ADC12CTL0 : SHT0_2 + ADC12ON


设置采样保持时间,打开内核




ADC12CTL1 : SHS(DEFAULT) ,SHP(1) 定时器,




ADC12CTL0:ENC,ADC12SC 置位




while(1)


{


ADC12SC 置位;


diaplay(转换数据);


}




interrupt()


{


  read ADC12MEM0;


}






参考程序:


#include

 

#define uchar unsigned char

#define uint unsigned int

uchar   table[16] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

                0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uchar  position[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uchar count=1,count1=0,i,j;

uchar temp,result[4],index ;

 

void show(uchar pos,uchar num)

{

P4OUT  = 0x00;   // tobe all turn off 

P6OUT |= 0x40;   // DUAN open

P4OUT  = table[num];  //DUAN NUM

P6OUT &= 0XBF;   // DUAN close

        P4OUT  = 0XFF;

P5OUT |= 0X20;

P4OUT &= position[pos];

        P5OUT &= 0XDF;

 

}

 

void delayms(uint t)

{

    uint i;

    while(t--)

      for(i=110;i>0;i--);//进过参数的调整 

}

 

//******************单通道单次转换***********/

void init_adc()

{

 P6SEL |= 0X01;

 ADC12CTL0 = SHT0_2 + ADC12ON;

 

 ADC12CTL1 = SHP;

 ADC12CTL0 |=ENC;

 ADC12IE =0X01;

 

 ADC12CTL0 |= ADC12SC;

}

 

void change()

{

  uchar i=0;

while(temp)

     {

       result[4-i++] = temp%10;

       temp /= 10;

     }

}

 

void display()

{

 uchar i;

  for(i=0;i<4;i++)

  {

    show(i,result[i]);

    delayms(2);

  }

}

 

 

 

void main(void)

{

    WDTCTL = WDTPW + WDTHOLD;

    P6DIR |= BIT2;

    P6OUT |= BIT2;

    _EINT();

    init_adc();

    P6DIR |= 0X40;   // p6^6 output

    P5DIR |=0X20;    // P5^5 OUTPUT

    P4DIR  = 0XFF;   //  P4 OUTPUT

    

    while(1)

    {

      ADC12CTL0 |= ADC12SC; //BEGAIN TRANSFER

      change();

     display();

    }

    

}

 

#pragma vector = ADC12_VECTOR

__interrupt void adc12(void)

{

  temp = ADC12MEM0;

  

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义