NTC热敏电阻

ntc 10k温度探头算法代码

发布时间:2019-11-11    文章来源:敏创原创    点击次数:
在NTC检测溫度的计划方案中,NTC的温度仪的长短一般是100-200 一些做到400-500的长短 
在这样的事情下假如用逐一查表较为的方式去查溫度 会造成查表的時间太长,危害程序流程的 
实行高效率 这儿发布一个出色的优化算法来替代这类最懒的作法 
运用案例以下: 
#define TempSize 100 //界定表长短 
//溫度值相匹配的AD值的表的界定 
const int16 TabNtc_100K[TempSize]={0xf00,0xe00,oxd00,......}; 
int16 *pTmp ; //界定一个字长的表针 
pTmp = TabNtc_100K ; //偏向要温度仪的详细地址 
CuTemp = FineTab(pTmp,TempSize,R_NTCAD); //查表算出溫度 R_NTCAD为NTC分压电路算出的AD值

  1. //*************************************  
  2. // 函数名称:FineTab  二分查找算法 ->查温度表  
  3. // 函数功能:查找数据在表中对应的位置 表中数据从大到小  
  4. // 入口参数:表地址、表长度、要查找的数据  
  5. // 出口参数:无  
  6. // 返 回 值:数据在表中的位置  
  7. //*************************************  
  8. uint8 FineTab(uint16 *a,uint8 TabLong,uint16 data)//表中数据从大到小  
  9. {  
  10.     uint8 st,ed,m ;  
  11.     uint8 i ;  
  12.   
  13.     st = 0 ;  
  14.     ed = TabLong-1 ;  
  15.     i = 0  ;  
  16.   
  17.     if(data >= a[st]) return st ;  
  18.     else if(data <= a[ed]) return ed ;  
  19.   
  20.     while(st < ed)  
  21.     {  
  22.         m = (st+ed)/2 ;  
  23.   
  24.         if(data == a[m] ) break ;  
  25.         if(data < a[m] && data > a[m+1]) break ;  
  26.           
  27.           
  28.         if(data > a[m])  ed = m ;                      
  29.         else st = m ;     
  30.           
  31.         if(i++ > TabLong) break ;  
  32.     }  
  33.   
  34.     if(st > ed ) return 0 ;   
  35.   
  36.     return m ;  
  37. }  




您可能需要以下产品:
    热敏电阻厂家介绍
    深圳敏创电子自2005年开始生产NTC热敏电阻,是国内较早从事NTC热敏电阻、NTC温度传感器等NTC负温度系数热敏电阻的生产厂家。
    联系电话:0755 - 85298752
Copyright© 2005-2018 深圳市敏创电子有限公司 版权所有 粤ICP备17067755号 站长统计