久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5134|回復: 2
收起左側

基于STM32的SHT1X溫濕度監測

[復制鏈接]
ID:127084 發表于 2016-6-17 16:11 | 顯示全部樓層 |閱讀模式
網上有很多關于STM32的SHT1X溫濕度的監測程序,大部分都有問題,也有很多人在咨詢。現在我把自己測試成功的程序和資料分享給大家。希望對大家有幫助。網友只需要更改SHT1X溫濕度傳感器的SDA和SCL的引腳即可。)

實驗平臺:ALIENTEK MiniSTM32開發板

實驗圖片:

231533ykeddey8royocovy.jpg


231536e4drrrr7z7cmh41s.jpg

231651id6myyytxx654aip.jpg


  1. //實驗平臺:ALIENTEK Mini STM32開發板
  2. //實驗名稱:SHT10溫濕度傳感器顯示實驗

  3. #include "led.h"
  4. #include "delay.h"
  5. #include "sys.h"
  6. #include "usart.h"
  7. #include "lcd.h"
  8. #include "SHT10.h"

  9. SHT1x sht1x; //定義傳感器結構體

  10. int main(void)
  11. {

  12.     u8 t=0,error=0,checksum,value=0;
  13.     volatile u8 T_Display=0,H_Display=0;
  14.     u16 T_Value=0,H_Value=0;

  15.     delay_init(); //延時函數初始化
  16.         uart_init(9600); //USART1初始化
  17.         LED_Init(); //LED初始化
  18.     LCD_Init();   
  19.     SHT1x_Init();
  20.    
  21.     POINT_COLOR=RED;//設置字體為紅色
  22.         LCD_ShowString(60,120,200,16,16,"SHT1X Test");

  23.         POINT_COLOR=BLUE;//設置字體為藍色
  24.          LCD_ShowString(60,150,200,16,16,"Temp:   .   C");        
  25.         LCD_ShowString(60,170,200,16,16,"Humi:   .   %RH");        
  26.    
  27.     if(!SHT1X_read_statusreg(&value))
  28.     {
  29.         if(value&0x07)
  30.         {
  31.             for(value=5;value!=0;value--)
  32.             {
  33.                 if(!SHT1X_write_statusreg(0))break;
  34.                 else SHT1X_softreset();
  35.             }
  36.         }
  37.     }
  38.         while(1)
  39.         {  
  40. //------------------------讀取SHT1X傳感器數據--------------------------------------
  41.         error+=SHT1x_Measure( &T_Value,&checksum,0);  //measure temperature
  42.         error+=SHT1x_Measure( &H_Value,&checksum,1);  //measure humidity
  43.                         
  44.         if(error!=0)SHT1x_Reset(); //通訊故障,復位傳感器
  45.         else
  46.         {
  47.             sht1x.T_Result = T_Value;
  48.             sht1x.H_Result = H_Value;
  49.             SHT1X_Caculation1((float*)&sht1x.T_Result, (float*)&sht1x.H_Result );
  50.            
  51.             sht1x.Temperature=sht1x.T_Result;
  52.             sht1x.Humidity=(u16)sht1x.H_Result;
  53.             sht1x.DEW=SHT1X_dewpoint1(sht1x.T_Result, sht1x.H_Result);
  54.         }
  55. //------------------------------------------------------------------------------
  56.         

  57. //顯示函數處理         
  58. //-------------------溫度顯示-------------------------------------------------
  59.       
  60.         if(sht1x.Temperature<0)
  61.         {
  62.             LCD_ShowChar(60+40,150,'-',16,0);                        //顯示負號
  63.             sht1x.Temperature=-sht1x.Temperature;    //轉為正數
  64.         }
  65.         else LCD_ShowChar(60+40,150,' ',16,0);  //去掉負號
  66.         
  67.         LCD_ShowNum(60+40+8,150,sht1x.Temperature/100,2,16);        //顯示正數部分        
  68.         if((sht1x.Temperature%100)>=0 && (sht1x.Temperature%100)<=9 )
  69.         {
  70.             LCD_ShowNum(60+40+32,150,sht1x.Temperature%100,1,16);        //顯示小數部分         
  71.         }
  72.         else
  73.         {
  74.             LCD_ShowNum(60+40+32,150,sht1x.Temperature%100,2,16);        //顯示小數部分         
  75.         }
  76.         
  77. //-------------------------濕度顯示-----------------------------------------------
  78.         LCD_ShowNum(60+40+8,170,sht1x.Humidity/100,2,16);        //顯示正數部分            
  79.         if((sht1x.Humidity%100)>=0 && (sht1x.Humidity%100)<=9 )
  80.         {
  81.             LCD_ShowNum(60+40+32,170,sht1x.Humidity%100,1,16);        //顯示小數部分         
  82.         }
  83.         else
  84.         {
  85.             LCD_ShowNum(60+40+32,170,sht1x.Humidity%100,2,16);        //顯示小數部分         
  86.         }
  87. //--------------------------------------------------------------------------------        
  88.         t++;
  89.         if(t==20)
  90.         {
  91.                 t=0;
  92.                         LED0=!LED0;
  93.         }
  94.         }
  95. }
復制代碼

SHT10_SHT11數字溫濕度傳感器-中文資料.pdf (446.07 KB, 下載次數: 26)

STM32-SHT1X程序.zip (386.53 KB, 下載次數: 29)

回復

使用道具 舉報

ID:127652 發表于 2016-6-22 11:45 | 顯示全部樓層
正需要,謝謝樓主分享!
回復

使用道具 舉報

ID:83183 發表于 2016-6-25 21:35 | 顯示全部樓層
為啥都是0,而且不變
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人自拍一区 | 婷婷综合久久 | 丝袜一区二区三区 | 成人av电影在线观看 | 亚洲九九色 | 久视频在线观看 | 中文字幕精品视频 | 天天欧美 | 激情六月丁香 | 黄色三级在线播放 | 日韩美女在线看免费观看 | 日本精品一区 | 成人午夜视频在线观看 | 日韩成人av在线 | 精品国产乱码一区二区三区 | 日本成人免费网站 | 欧美精品99 | 国产日韩精品一区二区 | 免费视频一区二区 | 成人啊啊啊 | 一区视频| 久久久人 | 999免费观看视频 | 国产一区二区精品在线 | 欧美性video 精品亚洲一区二区 | 久久国产综合 | 亚洲精品一区二区三区中文字幕 | 欧美不卡一区二区三区 | 99精品欧美一区二区蜜桃免费 | 精品久久一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 免费人成在线观看网站 | 亚洲精品中文在线 | avhd101在线成人播放 | 亚洲喷水 | 欧区一欧区二欧区三免费 | 91社影院在线观看 | 国产精品日日摸夜夜添夜夜av | 国产精品久久久久久久久久妞妞 | 天天久久| 国产亚洲网站 |