欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5287|回復: 0
打印 上一主題 下一主題
收起左側

C語言二分值查表程序,單片機+NTC測溫度

[復制鏈接]
跳轉到指定樓層
樓主
ID:450849 發表于 2020-7-10 16:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
再來發一個驅動代碼,希望對大家有幫助,

  1. //NTC_TAB_SIZE
  2. //當查找值 不等于表格中在值時,返回序列號小于下一個值, 例如  表中相鄰 120,130, 輸入125 則返回  130的序列號;
  3. /**********二分法查表求溫度值*********/
  4.   
  5. unsigned char get_ntc_temp(unsigned int value)
  6. {
  7.         
  8.         unsigned char index,middle,min,max=0;         

  9.         min = 0;
  10.         max = NTC_TAB_SIZE-1;

  11.     if((value <= NTC10K_TAB[0])&&(value >= NTC10K_TAB[NTC_TAB_SIZE-1]))
  12.     {
  13.                 if(value == NTC10K_TAB[0])
  14.                 {
  15.                         return 0;
  16.                 }
  17.                 if(value == NTC10K_TAB[NTC_TAB_SIZE-1])
  18.                 {
  19.                         return NTC_TAB_SIZE-1;
  20.                 }
  21.                
  22.                 while(min <= max)
  23.                 {
  24.                         middle = (max + min) >>1;
  25.                         
  26.                         if(value == NTC10K_TAB[middle])
  27.                         {
  28.                                 index = middle;     // TestCnt++;
  29.                                 return index;
  30.                         }
  31.                         else if(value > NTC10K_TAB[middle] )
  32.                         {
  33.                                 max = middle;//TestCnt++;
  34.                         }
  35.                         else if( value <= NTC10K_TAB[middle] )
  36.                         {
  37.                                 min  = middle;//TestCnt++;
  38.                                 if((max - min)==1)
  39.                                 {
  40.                                         return min;
  41.                                 }
  42.                         }
  43.                 }
  44.     }
  45.     else
  46.     {
  47.         index = 0xff;          // 溫度超出數組范圍,就返回0度
  48.     }
  49.     return index;
  50. }

  51. //        aa = get_ntc_temp(3674);

復制代碼

ntc.zip

1.37 KB, 下載次數: 141, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表