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

標題: stm32 ntc溫度測試程序 [打印本頁]

作者: mr.zhang2018    時間: 2020-3-25 10:54
標題: stm32 ntc溫度測試程序
關于stm32溫度采集   采用ADC采集NTC熱敏電阻   通過led顯示

單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"                           
  5. #include "lcd.h"
  6. #include "adc.h"
  7. #include "dma.h"
  8. #define ADC1_DR_Address    ((u32)0x40012400+0x4c)       
  9. volatile u16 adc_value[6];

  10. float temp;





  11. //ntc函數


  12. //溫度對應
  13. const static float ntc[21]=
  14.    {1628.0369,1607.9082,1573.5637,1518.3742,1435.5667,1332.3733,1179.6867,1016.9468,
  15.     848.4260,688.30238,546.84645,428.67342,333.80328,260.01129,203.26611,159.43124,
  16.           125.75058,100.03476,80.186094,64.863774,52.957916};        //-20~80對應的mV值
  17.          
  18. //通過ad值去計算溫度               
  19. float ntc_proc(long ad_data)
  20. {float mid,t;
  21. unsigned char i;
  22. mid = ad_data;
  23. mid = mid * 0.8058608058608059;//計算對應的電壓值(mV)3300*ADC_value/4095   ADC是12位精度   3300/4095=0.8058608058608059
  24. for(i=1;i<21;i++)
  25.    {if(mid>ntc[i])
  26.       break;
  27.    }
  28. t = (i - 4) * 100 - (mid-ntc[i]) / (ntc[i-1]-ntc[i]) * 100;
  29. return t;      
  30. }


  31. //主函數



  32. int main(void)
  33. {                                                       
  34.   Stm32_Clock_Init(9);        //系統時鐘設置
  35.         uart_init(72,115200);        //串口初始化為115200
  36.         delay_init(72);                            //延時初始化
  37.        
  38.         MYDMA_Config(DMA1_Channel1,ADC1_DR_Address ,(u32) adc_value,6);
  39.         printf("\r\n DMA_Init成功 \r\n");       
  40.   
  41.         Adc_Init();                                  //ADC初始化       
  42.         printf("\r\n Adc_Init成功 \r\n");

  43. //  ADC1->CR2|=1<<8;       //開啟DMA傳輸       
  44. //        printf("\r\n 開啟adc_DMA \r\n");
  45.        

  46.        
  47.         while(1)
  48.         {
  49.         temp=ntc_proc(adc_value[0]);       
  50.         printf("\r\n AD值 %d  \r\n",adc_value[0]);
  51.         printf("\r\n 溫度值 %f  \r\n",temp);
  52.         //printf("\r\n AD值 %d %d %d %d %d %d \r\n",adc_value[0],adc_value[1],adc_value[2],adc_value[3],adc_value[4],adc_value[5]);
  53.         }
  54. }
復制代碼

所有資料51hei提供下載:
stm32 ntc溫度測試程序.7z (128.21 KB, 下載次數: 88)



作者: admin    時間: 2020-3-26 00:42
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1