PIC24F32KA304单片机片内带有温度传感器,在要求不高的时候,可以利用它采集环境的温度。因为数据手册和应用笔记中对这个模块的介绍很少,所以下面介绍一下这个片内温度传感器的使用方法。
参考代码:
unsigned int ReadChipTemp(void)
{
unsigned int
tmp;
CTMUCON1 = 0;
CTMUCON2 = 0;
_IDISSEN = 1; // 放电,减少测量误差
_NOP();
_NOP();
_IDISSEN = 0;
_IRNG = 3;
// 100x 电流
_EDG1 = 1;
// EDG1 <> EDG2,启动测量
_CTMUEN = 1;
// 允许 CTMU
tmp = ADC(0x10); // 温度传感器通道是内部16
_CTMUEN = 0;
// 禁止 CTMU
return tmp;
}
注:
和大部分带有片内温度传感器的MCU一样,PIC24F32KA304也是利用二极管的节电压随温度变化的特性实现温度采集的。这也决定了它的精度和一致性不会太好。如果需要将这个功能用于实际产品,特别是对精度有一定要求的应用中,是需要每个设备进行校正的。和其它MCU不同的地方在于,它是通过CTMU单元和AD模块一起才能实现温度采集。
文章评论(0条评论)
登录后参与讨论