当前位置:首页 > 单片机 > 单片机
[导读] floatad_value;floatvalue;intmain(void){WDTCTL=WDTPW+WDTHOLD;//关看门狗BCSCTL1=CALBC1_1MHz;//设定DCO为1MHZDCOCTL=CALBC1_1MHZ;ADC10CTL1=INCH_10;//选择第10通道,为片内温度传感器ADC10CTL0=REFO

floatad_value;
floatvalue;
intmain(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;//计算温度
return0;
}
#pragmavector=ADC10_VECTOR//ADC10中断服务
__interruptvoidadc_isr(void)
{
ad_value=ADC10MEM;//将AD采样值存入ad_value
_BIC_SR_IRQ(CPUOFF);//退出低功耗0
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭