430g2553的ADC10外部参考电压问题

2019-07-19 15:38发布

在做msp430g2553的ADC10外部参考电压时,想设置一个5V以上的外部参考电压,可怎么也弄不出来!请各位大虾指教指教!

下面是我的程序:

#include <intrinsics.h>
#include "1602-4.h"
#include "1602-4.c"
/********************************************
                                               主函数
  
*******************************************/
void main()
{
   WDTCTL = WDTPW + WDTHOLD;     // 关闭看门狗
    P1SEL|=BIT4;
    P1DIR&=~BIT4;
    ADC10CTL0 =SREF_2+ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
    ADC10CTL1 = INCH_1;                         // input A1模拟信号输入选择通道A1即p1.1
    ADC10AE0 |= 0x12;                           // PA.1 ADC option select使p1.1允许AD模拟输入信号
    P1DIR |= 0x01;                              // Set P1.0 to output direction
    ADC10CTL0 |= ENC + ADC10SC;     
   // LCD_init_first();
    LCD_init();
    TA0CCTL0 = CCIE;                             // CCR0 1ms中断
    TA0CCR0 = 312;
    TA0CTL = TASSEL_2 + MC_1;                  // SMCLK, upmode
    //_BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
    TA1CCTL0 = CCIE;                             // CCR0 1ms中断
    TA1CCR0 = 312;
    TA1CTL = TASSEL_2 + MC_1;                  // SMCLK, upmode
    _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt

    while(1)
    { if(j>100)
     {
       shuzhi=qushu*35/10;
       lcd_diaoyong();
       LCD_write_command(0x0c);
       j=0;
      }
    }
}

/********************************************
*
定时器Timer0_A
*******************************************/
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer0_A (void)
{
        ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start开始转换
        qushu=ADC10MEM;
        j++;
       __bis_SR_register(CPUOFF + GIE);        // LPM0, ADC10_ISR will force exit
       __bic_SR_register_on_exit(CPUOFF);        // Clear CPUOFF bit from 0(SR)
}
/********************************************
定时器Timer1_A
*******************************************/
#pragma vector=TIMER1_A0_VECTOR
__interrupt void Timer1_A (void)
{
       P1OUT ^= 0x01;
      __bic_SR_register_on_exit(CPUOFF);        // Clear CPUOFF bit from 0(SR)
}
/********************************************

*******************************************/
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
  __bic_SR_register_on_exit(CPUOFF);        // Clear CPUOFF bit from 0(SR)
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
vibra2016
1楼-- · 2019-07-20 09:11
这个电压的,对于单片机的IO口来说,是不是偏高?会损坏该IO口的?
vivilzb1985
2楼-- · 2019-07-20 11:42
与楼上一样的疑问,,一般用的ad参考电压的很少超过5V的
vivilzb1985
3楼-- · 2019-07-20 11:51
 精彩回答 2  元偷偷看……
shenmu2012
4楼-- · 2019-07-20 17:04
把被采集电压信号的分压处理降到5V以下的
shenmu2012
5楼-- · 2019-07-20 21:24
参考电压的不要大于AD的供电电压的
typeof
6楼-- · 2019-07-20 23:01
一般都是3,3V的参考电压

一周热门 更多>