float ad_value;
float 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); //开总中断并进入低功耗
value=((ad_value*1.5/1023)-0.986)/0.0035; //计算温度
return 0;
}
#pragma vector = ADC10_VECTOR //ADC10 中断服务
__interrupt void adc_isr(void)
{
ad_value=ADC10MEM; //将AD 采样值存入ad_value
_BIC_SR_IRQ(CPUOFF); //退出低功耗0
}
上一篇:ADC10 测量单通道多次模式
下一篇:MSP430单片机16 位定时器Timer_A 操作
推荐阅读最新更新时间:2024-03-16 15:53
- 热门资源推荐
- 热门放大器推荐