原创 使用PIC24F32KA304单片机片内温度传感器

2012-12-12 11:03 1813 15 12 分类: MCU/ 嵌入式

PIC24F32KA304单片机片内带有温度传感器,在要求不高的时候,可以利用它采集环境的温度。因为数据手册和应用笔记中对这个模块的介绍很少,所以下面介绍一下这个片内温度传感器的使用方法。


步骤:
  • 设置ADC参数,通道设置为片内温度传感器(通常是AN16)。
  • 设置CTMU模块
  • ADC采样
  • 计算温度


参考代码:

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条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /2 下一条