⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 是MSP430F2274的源代码
💻 C
字号:
#include "msp430x22x4.h"
//此程序是用ADC10来测片内温度两极管的电压
//执行程序来查看ADC10MEM寄存器的值,
//并用V(temp)=0.00355*TempC+0.986公式来计算片子温度
//最后ad采样值存在ad_value,温度值存在temp_value中,设置断点查看各个计数值
//                 MSP430F2274
//             -----------------
//         /|\|              XIN|-  
//          | |                 |
//          --|RST          XOUT|-
//            |                 |
//            |             P1.0|-->LED
float ad_value;
float temp_value;
int main( void )
{
  WDTCTL=WDTPW+WDTHOLD;                   //关看门狗
  BCSCTL1 =CALBC1_1MHZ;                   //设定DCO为1MHZ
  DCOCTL =CALBC1_1MHZ;
  ADC10CTL1=INCH_10;                      //选择第10通道,为片内温度传感器
  ADC10CTL0=REFON+SREF_1;                 //打开1.5V正参考,地为负参考
  ADC10CTL0 |=ADC10ON+ADC10SHT_3+ADC10IE; //打开ADC10内核,设定采样保持时间为64个ADC10CLK,使能ADC10中断
  ADC10CTL0 |=ENC+ADC10SC;                //启动AD转换
  _BIS_SR(GIE+CPUOFF);                    //开总中断并进入低功耗
  temp_value=((ad_value*1.5/1023)-0.986)/0.00355;//计算温度
  return 0;  
}

#pragma vector = ADC10_VECTOR             //ADC10中断服务
__interrupt void adc_isr(void)
{
  ad_value=ADC10MEM;                      //将AD采样值存入ad_value
  _BIC_SR_IRQ(CPUOFF);                    //退出低功耗0
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -