21ic电子技术开发论坛 单片机与嵌入式系统 ST MCU 干货,普通温度传感器阻值转温度程序
发新帖我要提问
返回列表
打印
[STM32F1]

干货,普通温度传感器阻值转温度程序

[复制链接]
740|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
奇立电源|  楼主 | 2016-4-30 00:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//ad值最大4096
//下偏rntc=(4096*上偏电阻)/4096-ad
//上偏ntc=(4096-ad)*上偏电阻/ad
查表法 放阻值表
tmp[50]={,,,,,10000,,,,,,};//0~49度
//1000对应25度

//输人电阻值返回温度
//返回值为三位整数,方便数码管显示
u16  get_Temperature(u16 ntc)
  {
    u16 i,tmpL,tmpH;
    u16 t,ftmp;  //温度整数和小数
  
    if(ntc<10000)//如果小于25度向前查
       for(i=25;i>0;i--)//25是数组下标表示25度
        {
           if(ntc>tmp[i])
             {     
              tmpL=tmp[i];//实测阻值的前后温度
              tmpH=tmp[i+1];//用于计算小数点位
              t=i;      //得到对应温度
              i=0;//退出循环否则i--为0
             }
     //    ftmp=(ntc- tmpL) *10/( tmpH- tmpL);
        
       }
   else    //向后查
      for(i=25;i<50;i++)
       {
          if( ntc<tmp[i])
               {   
                 tmpH=tmp[i];//注意哪个是高
                 tmpL=tmp[i-1];
                 t=i;
                 i=50;//退出循环
                 
               }
      }
     //计算小数  *10取整数
       ftmp=(ntc- tmpL) *10/( tmpH- tmpL);
       t=t*10+ftmp;
  return  t;
}


没有电脑的日子太难过了,纯手机端手打代码,看资料来灵感就写一
段,查表从中间向两头查,效率肯定高一点,欢迎测试!

沙发
奇立电源|  楼主 | 2016-4-30 00:43 | 只看该作者
自顶一下,晚安

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

98

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部