?? main.c
字號(hào):
#include "msp430x22x4.h"
//此程序是用ADC10來(lái)測(cè)片內(nèi)溫度兩極管的電壓
//執(zhí)行程序來(lái)查看ADC10MEM寄存器的值,
//并用V(temp)=0.00355*TempC+0.986公式來(lái)計(jì)算片子溫度
//最后ad采樣值存在ad_value,溫度值存在temp_value中,設(shè)置斷點(diǎn)查看各個(gè)計(jì)數(shù)值
// MSP430F2274
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.0|-->LED
float ad_value;
float temp_value;
int main( void )
{
WDTCTL=WDTPW+WDTHOLD; //關(guān)看門狗
BCSCTL1 =CALBC1_1MHZ; //設(shè)定DCO為1MHZ
DCOCTL =CALBC1_1MHZ;
ADC10CTL1=INCH_10; //選擇第10通道,為片內(nèi)溫度傳感器
ADC10CTL0=REFON+SREF_1; //打開1.5V正參考,地為負(fù)參考
ADC10CTL0 |=ADC10ON+ADC10SHT_3+ADC10IE; //打開ADC10內(nèi)核,設(shè)定采樣保持時(shí)間為64個(gè)ADC10CLK,使能ADC10中斷
ADC10CTL0 |=ENC+ADC10SC; //啟動(dòng)AD轉(zhuǎn)換
_BIS_SR(GIE+CPUOFF); //開總中斷并進(jìn)入低功耗
temp_value=((ad_value*1.5/1023)-0.986)/0.00355;//計(jì)算溫度
return 0;
}
#pragma vector = ADC10_VECTOR //ADC10中斷服務(wù)
__interrupt void adc_isr(void)
{
ad_value=ADC10MEM; //將AD采樣值存入ad_value
_BIC_SR_IRQ(CPUOFF); //退出低功耗0
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -