This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F2274

Other Parts Discussed in Thread: MSP430F2274

这款单片机的ADC模块,选择ADC10的通道时候,手册里面有一个(VCC-VSS)/2,没看懂是什么意思,求帮忙解答 ,谢谢

  • 这个就是指电源电压的一半,若是您选择了INCHx为1011,则表示这是电源电压的一半

    若是选择了INCHx为1100,对于MSP430F2274则表示为A12
  • 什么是电源电压一半 说ADC的参考电压吗 还是啥 我想弄明白的是参考电压电一半指的是啥呢

  • Up to eight external input channels (twelve on MSP430F22xx devices)

    这里是指的输入通道,而A12等表示的是输入通道为固定值(VCC - VSS) / 2

    看一下下面的例程,会对您有所帮助

    /* --COPYRIGHT--,BSD_EX
     * Copyright (c) 2012, Texas Instruments Incorporated
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     * *  Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     * *  Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the distribution.
     *
     * *  Neither the name of Texas Instruments Incorporated nor the names of
     *    its contributors may be used to endorse or promote products derived
     *    from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     *******************************************************************************
     * 
     *                       MSP430 CODE EXAMPLE DISCLAIMER
     *
     * MSP430 code examples are self-contained low-level programs that typically
     * demonstrate a single peripheral function or device feature in a highly
     * concise manner. For this the code may rely on the device's power-on default
     * register values and settings such as the clock configuration and care must
     * be taken when combining code from several examples to avoid potential side
     * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware
     * for an API functional library-approach to peripheral configuration.
     *
     * --/COPYRIGHT--*/
    //******************************************************************************
    //  MSP430F22x4 Demo - ADC10, Sample A11, Lo_Batt, Set P1.0 if AVcc < 2.3V
    //
    //  Description: A single sample is made on A11 (AVcc/2) with reference to
    //  internal 1.5V Vref. Software sets ADC10SC to start sample and conversion
    //  - ADC10SC automatically cleared at EOC. ADC10 internal oscillator times
    //  sample (16x) and conversion. ADC10BUSY flag is polled for EOC. If A11
    //  (AVcc/2) < 0311h (1.15V) indicating AVcc is less 2.3V, P1.0 set indicating
    //  a lo_Batt condition, else reset.
    //
    //                MSP430F22x4
    //             -----------------
    //         /|\|              XIN|-
    //          | |                 |
    //          --|RST          XOUT|-
    //            |                 |
    //            |A11 (AVcc/2) P1.0|-->LED
    //
    //  A. Dannenberg
    //  Texas Instruments Inc.
    //  April 2006
    //  Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.41A
    //******************************************************************************
    #include <msp430.h>
    
    int main(void)
    {
      WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
      ADC10CTL1 = INCH_11;                      // AVcc/2
      ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON;
      TACCR0 = 30;                              // Delay to allow Ref to settle
      TACCTL0 |= CCIE;                          // Compare-mode interrupt
      TACTL = TASSEL_2 + MC_1;                  // TACLK = SMCLK, Up mode
      __bis_SR_register(CPUOFF + GIE);          // LPM0, TA0_ISR will force exit
      TACCTL0 &= ~CCIE;                         // Disable timer Interrupt
      P1DIR |= 0x01;                            // Set P1.0 to output direction
    
      for (;;)
      {
        ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
        while (ADC10CTL1 & ADC10BUSY);          // ADC10BUSY?
        if (ADC10MEM < 0x311)                   // ADC10MEM = A11 > 1.15V?
          P1OUT |= 0x01;                        // Set P1.0 LED on
        else
          P1OUT &= ~0x01;                       // Clear P1.0 LED off
      }
    }
    
    #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
    #pragma vector=TIMERA0_VECTOR
    __interrupt void TA0_ISR(void)
    #elif defined(__GNUC__)
    void __attribute__ ((interrupt(TIMERA0_VECTOR))) TA0_ISR (void)
    #else
    #error Compiler not supported!
    #endif
    {
      TACTL = 0;                                // Clear Timer_A control registers
      LPM0_EXIT;                                // Exit LPM0 on return
    }