📄 main.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 + -