资源简介

用CCS6.1开发的MSP430G2553Launchpad的ADC10程序,可以烧板。

资源截图

代码片段和文件信息

#include 
#include “DigitalTube.h“

/*
 * main.c
 */
void main(void) {
    WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer

    InitLEDPins();
/*
    ADC10CTL0 = ADC10ON + REFON + ADC10SHT_2 + REF2_5V;
    ADC10CTL1 = INCH_3 + SHS_0 + ADC10SSEL_2 + ADC10DIV_3 + CONSEQ_0;
    ADC10AE0 = BIT3; // enable P1.3 analog input
*/
    ADC10CTL0 |= ADC10ON + REFON + ADC10SHT_2 + REF2_5V + MSC + ADC10IE;
    // ADC10SC;SMCLK;4分频;序列通道单次转换
    ADC10CTL1 = SHS_0 + ADC10SSEL_2 + ADC10DIV_3 + CONSEQ_1;
    ADC10CTL1 |= INCH_5;
    ADC10DTC1 = 0X0C;
    // enable P1.0~1.5 analog input
    ADC10AE0 = BIT0+BIT1+BIT2+BIT3+BIT4+BIT5;

    float result[6];
    unsigned int temp[6];

    unsigned int i;
    for (i=0; i<6; i++)
    {
     result[i]=0.0;
     temp[i]=0;
    }

    ADC10SA = (unsigned int)temp;

//    for (i=0; i<0x3600; i++);

    ADC10CTL0 |= ENC;

    while (temp[5]==0)
    {
     ADC10CTL0 |= ADC10SC;
     while ( ADC10CTL1 & ADC10BUSY == ADC10BUSY );
    }

    for (i=0; i<6; i++)
     result[i] = (float)(temp[i])*4/1023 - 0.2;

    while (1)
     for (i=0; i<6; i++)
     LED_Show( result[i] 1 500 );
}

评论

共有 条评论