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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2634|回復: 0
打印 上一主題 下一主題
收起左側(cè)

基于STM32最小系統(tǒng)板的溫濕度收集器程序,并用XCOM串口顯示

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:664329 發(fā)表于 2020-10-28 18:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
燒錄程序,將溫濕度傳感器模塊輸入接口連接在STM32F103C8T6最小系統(tǒng)板PA0端口上,即可使用

單片機源程序如下:
  1. #include "bsp_dht11.h"
  2.       
  3. //復位DHT11
  4. void DHT11_Reset(void)          
  5. {                 
  6.         DHT_Direction_O;        
  7.     O_DHT_DAT = 0;        
  8.     delay_ms(20);           
  9.     O_DHT_DAT = 1;        
  10.         delay_us(30);     
  11. }

  12. //等待DHT11的回應
  13. //返回1:未檢測到DHT11的存在
  14. //返回0:存在
  15. uint8_t DHT11_IsOnline(void)           
  16. {   
  17.         uint8_t retry = 0;
  18.         DHT_Direction_I;
  19.        
  20.     while (I_DHT_DAT && retry < 100)//DHT11會拉低40~80us
  21.         {
  22.                 retry ++;
  23.                 delay_us(1);
  24.         }
  25.        
  26.         if(retry >= 100)
  27.         {
  28.                 return 1;
  29.         }
  30.         else
  31.         {
  32.                 retry = 0;
  33.         }
  34.        
  35.     while (!I_DHT_DAT && retry < 100)//DHT11拉低后會再次拉高40~80us
  36.         {
  37.                 retry ++;
  38.                 delay_us(1);
  39.         }
  40.        
  41.         if(retry >= 100)
  42.         {
  43.                 return 1;
  44.         }            
  45.         return 0;
  46. }

  47. uint8_t DHT11_ReadBit(void)                          
  48. {
  49.         uint8_t retry = 0;
  50.         while(I_DHT_DAT && retry < 100)
  51.         {
  52.                 retry ++;
  53.                 delay_us(1);
  54.         }
  55.         retry = 0;
  56.         while(!I_DHT_DAT && retry < 100)
  57.         {
  58.                 retry ++;
  59.                 delay_us(1);
  60.         }
  61.        
  62.         delay_us(40);//等待40us
  63.        
  64.         if(I_DHT_DAT)
  65.         {
  66.                 return 1;
  67.         }
  68.         else
  69.         {
  70.                 return 0;       
  71.         }               
  72. }


  73. uint8_t DHT11_ReadByte(void)   
  74. {        
  75.     uint8_t i,dat;
  76.     dat = 0;
  77.         for (i = 0; i < 8; i ++)
  78.         {
  79.                    dat <<= 1;
  80.             dat |= DHT11_ReadBit();
  81.     }                                                    
  82.     return dat;
  83. }

  84. //從DHT11讀取一次數(shù)據(jù)
  85. //temp:溫度值(范圍:0~50°)
  86. //humi:濕度值(范圍:20%~90%)
  87. //返回值:0,正常;1,讀取失敗
  88. uint8_t DHT11_Read_Data(uint8_t *temp,uint8_t *humi)   
  89. {        
  90.         uint8_t buf[5];
  91.         uint8_t i;
  92.        
  93.         DHT11_Reset();
  94.        
  95.         if(DHT11_IsOnline() == 0)
  96.         {
  97.                 for(i = 0; i < 5; i ++)//讀取40位數(shù)據(jù)
  98.                 {
  99.                         buf[i] = DHT11_ReadByte();
  100.                 }
  101.                 if((buf[0] + buf[1] + buf[2] + buf[3]) == buf[4])
  102.                 {
  103.                         *humi = buf[0];
  104.                         *temp = buf[2];
  105.                 }
  106.         }
  107.         else
  108.         {
  109.                 return 1;
  110.         }
  111.        
  112.         return 0;            
  113. }

  114. void DHT11Configuration(void)
  115. {         
  116.         GPIO_InitTypeDef  MyGPIO;
  117.        
  118.         RCC_APB2PeriphClockCmd(DHTCLKLINE, ENABLE);         
  119.        
  120.         MyGPIO.GPIO_Pin = DHT_DAT_Pin;                                 
  121.         MyGPIO.GPIO_Mode = GPIO_Mode_Out_PP;                  
  122.         MyGPIO.GPIO_Speed = GPIO_Speed_50MHz;
  123.         GPIO_Init(DHTPORT, &MyGPIO);                                 
  124.         O_DHT_DAT = 1;               
  125.                             
  126.         DHT11_Reset();  //復位DHT11
  127. }
復制代碼

所有資料51hei提供下載:
溫濕度.7z (414.84 KB, 下載次數(shù): 24)

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情一区二区三区 | 午夜久久久久 | www.日韩av.com | aaa精品 | 欧美成人精品 | 亚洲精品久久久久久久久久久 | 99热.com| 九久久 | 污视频免费在线观看 | 伊人免费观看视频 | 国产精品久久久久久久久久久久久久 | 国产精品一区二区电影 | 天天综合网天天综合 | 国产精品久久一区二区三区 | 色免费视频 | 国产精品久久久久久久久久免费 | 久久99精品久久久久久国产越南 | 中文字幕在线第一页 | 亚洲自拍偷拍欧美 | 国产欧美一区二区精品忘忧草 | 高清国产午夜精品久久久久久 | 91免费视频观看 | 99国内精品久久久久久久 | 精品国产乱码一区二区三区a | 国产精品爱久久久久久久 | 欧美另类视频在线 | 欧美中文一区 | www.成人.com| 免费高清av | 在线免费观看黄色 | 日韩1区| 亚洲欧美日韩一区 | 日韩一区二区三区在线看 | 久久久久久久一级 | 久久婷婷色| 亚洲 中文 欧美 日韩 在线观看 | 久草新在线 | 成年人在线视频 | 九九热在线精品视频 | 国产精品久久久久久久久久久免费看 | 午夜电影合集 |