zoukankan      html  css  js  c++  java
  • 外部温度传感器

     1   unsigned const int tempvoltage[]={
     2  0xC42,0xC1C,0xBF5,0xBCE,0xBA5,0xB7D,0xB53,0xB29,0xAFE,0xAD3,
     3  0xAA8,0xA7C,0xA4F,0xA23,0x9F5,0x9C8,0x99B,0x96D,0x93F,0x911,
     4  0x8E4,0x8B6,0x888,0x85B,0x82D,0x800,0x7D3,0x7A7,0x77A,0x74E,
     5  0x723,0x6F8,0x6CD,0x6A3,0x67A,0x651,0x629,0x601,0x5DA,0x5B3,
     6  0x58D,0x568,0x544,0x520,0x4FD,0x4DB,0x4B9,0x498,0x478,0x459,
     7  0x43A,0x41C,0x3FF,0x3E2,0x3C6,0x3AB,0x390,0x376,0x35D,0x345,
     8  0x32D
     9  };
    10  //这里是NTC表中的AD值0~60度
    11 
    12 u16 Get_Adc_Average(u8 ch,u8 times) //采集ad值
    13 {
    14     u32 temp_val=0;
    15     u8 t;
    16     for(t=0;t<times;t++)
    17     {
    18         temp_val+=Get_Adc(ch);
    19         delay_ms(5);
    20     }
    21     return temp_val/times;
    22 }      
    23 
    24 
    25 
    26 u8 Compare_tempvol(u16 Vol) //vol来自于上面函数
    27 { 
    28      u8 cmp_cnt; 
    29      cmp_cnt =0; 
    30      while(Vol<tempvoltage[cmp_cnt]) 
    31      { 
    32       cmp_cnt++; 
    33       if(cmp_cnt>59) 
    34       break; 
    35      } 
    36      return cmp_cnt; 
    37 }

     1 if(temperature<0x32D || temperature>0xC42) //判断ad值得范围         3 
     4                 printf("
    flagerror
    
    ");                
     5 
     6         }
     7 
     8         else
     9         {
    10                 adcx= Compare_tempvol(temperature); 
    11 
    12                 printf("
    AD值=%d
    ",adcy);                
    13                 printf("
    温度=%d
    ",adcx);      

    通过NTC表来的到温度值。

    最后结果为:

  • 相关阅读:
    stm32 usart 串口
    stm32 usart 串口
    stm32 PWM
    stm32 PWM
    stm32 定时器 通用定时器
    stm32 定时器 通用定时器
    stm32 外部中断
    linux+jre+apache+mysql+tomcat调优
    Cent OS服务器配置(JDK+Tomcat+MySQL)
    linux---文本编辑vi
  • 原文地址:https://www.cnblogs.com/zengsf/p/7324472.html
Copyright © 2011-2022 走看看