久久久久免费精品_www黄色在线_日本wwww视频_www.色就是色.com_性欧美在线视频_国产女女做受ⅹxx高潮_黄色片免费在线观看视频_日本手机在线视频_国产主播在线看_国产福利视频在线播放

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機 >> 正文

STM32(三十一)DHT11溫濕度傳感器獲取溫濕度數(shù)據(jù)

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2023/7/29
一、傳感器實物圖

DHT11溫濕度傳感器 

二、DHT11傳感器應用電路圖:

DHT11傳感器應用電路圖 

DHT11傳感器應用電路圖 

 

 通過原理圖可知dht11通過DQ腳和STM32F407ZE06的PG9連接。通過DQ進行數(shù)據(jù)傳輸,串行接口 (單線雙向),半雙工的工作模式。

串行接口 (單線雙向)

DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當前小數(shù)部分用于以后擴展,現(xiàn)讀出為零.操作流程如下:

  • 一次完整的數(shù)據(jù)傳輸為40bit,高位先出。
  • 數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗和
  • 數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“ 8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)” 所得結果的末8位。
三、數(shù)據(jù)傳輸過程

  用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發(fā)送響應信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù).從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集.采集數(shù)據(jù)后轉換到低速模式。

   

t1~t2 至少18ms
t3~t4 20~40us
t5~t6    80us
t7~t8    80us
t9~t10    50us
t11~t12 26us~28us(表示數(shù)據(jù)0)
t13~t14    50us
t15~t16 70us(表示數(shù)據(jù)1)

(1)起始階段:主機(DQ腳PG9)主動發(fā)送至少18ms(t1-t2)的低電平(開始信號)此時PG9是輸出模式(MCU給DHT11發(fā)),保證DHT11能檢測到起始信號,DHT11檢測到起始信號后,從低功耗模式轉換為高速模式,在拉高延時等待20~40us(t3-t4),此時開始信號結束。

(2)響應階段:DHT11檢測到起始信號后,發(fā)送80us(t5-t6)的低電平響應(此時PG9是輸入模式,由DHT11向MCU發(fā)),在拉高延時80us(t7-t8)準備輸出,此時響應結束,準備傳輸數(shù)據(jù)。

(3)數(shù)據(jù)傳輸階段:數(shù)據(jù)傳輸階段,每一bit數(shù)據(jù)都以50us低電平(t9-t10)時隙開 ,數(shù)據(jù)0和數(shù)據(jù)1的區(qū)別在與高電平的時間長短。

  數(shù)據(jù)0:26us~28us的高電平。(即只要判斷高電平的時間超過30us就是傳輸數(shù)據(jù)1,否則就是0).

  數(shù)據(jù)1:70us的的高電平。

 

 四、實驗:通過串口打印出溫濕度數(shù)據(jù)。

 

  代碼分析:有兩種方式,一種是使用精準延時,還有一種就是while循環(huán)。

//dht11.c文件
#include "dht11.h" GPIO_InitTypeDef GPIO_InitStruct; u8 buff; void Dht11_Init(void) { //1.初始化時鐘 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); //2.初始化硬件 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;//PG9 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;//輸出模式 GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;//推挽輸出 GPIO_InitStruct.GPIO_Speed = GPIO_Fast_Speed;//速度 快速 25MHz GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;//上拉 GPIO_Init(GPIOG,&GPIO_InitStruct); } /***************傳入?yún)?shù)確定是輸出還是輸入**********************/ void pin_mode(GPIOMode_TypeDef mode) { GPIO_InitStruct.GPIO_Mode = mode;//模式切換 GPIO_Init(GPIOG,&GPIO_InitStruct);//加進結構體 } /******************初步配置(開始信號)**************************/ uint8_t start_dht11(void) { //1.設置為輸出模式,并且空閑狀態(tài)為高電平 pin_mode(GPIO_Mode_OUT); PGout(9)=1; delay_us(2); //2.主機拉低 至少18ms PGout(9)=0; delay_ms(20); //3.主機拉高 20-40us PGout(9)=1; delay_us(30); //4.設置為輸入模式,進入兩個電平跳變 pin_mode(GPIO_Mode_IN); if(!PGin(9))//if(PGin(9)==0) { //檢測低到高跳變 while(!PGin(9)); //檢測高到底跳變 while(PGin(9)); return 1; } return 0; } /*********************獲取8bit數(shù)據(jù)*******************/ void get_8bit_data(void) { u8 i=0; for(i=0;i<8;i++) { buff = buff <<1; while(!PGin(9));//過濾低電平時間,確定高電平到來 delay_us(30); if(PGin(9))//如果還是高電平,數(shù)據(jù)就是1 { buff |= 0x01; } else//低電平的話,數(shù)據(jù)就是0 { buff &= 0xfe; } while(PGin(9));//過濾剩余的高電平時間 } } /****************獲取溫濕度數(shù)據(jù)*******************/ uint8_t get_dht11_data(char DataBuf[]) { if(start_dht11()) { get_8bit_data();//獲取的是濕度整數(shù) DataBuf[0] = buff; get_8bit_data();//獲取的是濕度小數(shù) DataBuf[1] = buff; get_8bit_data();//獲取的是溫度整數(shù) DataBuf[2] = buff; get_8bit_data();//獲取的是溫度小數(shù) DataBuf[3] = buff; get_8bit_data();//獲取的是校驗和 DataBuf[4] = buff; } if(DataBuf[4] == DataBuf[0]+DataBuf[1]+DataBuf[2]+DataBuf[3]) { return 1; } else return -1; }

  

//mian.c文件
#include "stm32f4xx.h"
#include "led.h"
#include "key.h"
#include "exti.h"
#include "sys.h"
#include "tim.h"
#include "pwm.h"
#include "uart.h"
#include "stdio.h"
#include "dht11.h"
uint16_t uart1_recv_data;
//重定向fputc 換個方向,此路不通,屏幕輸出不了就往串口發(fā)
//fputc fputs / fgetc fgets
int fputc(int ch,FILE *f)
{
USART_SendData(USART1,ch);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);
return ch;
}
//串口接收中斷
void USART1_IRQHandler(void)
{
//判斷確實進中斷標志
//if(USART_GetITStatus(USART1, USART_IT_RXNE) !=RESET)//==SET
if(((USART1->SR) & (0x1<<5)) !=0)//發(fā)生中斷 該為由硬件自定置1
{
//清楚中斷標志位 往里面寫1 記住一定要清空
//USART_ClearITPendingBit(USART1,USART_IT_RXNE);//用寄存器方式自己去改
USART1->SR &= ~(0x1<<5);
uart1_recv_data = USART_ReceiveData(USART1);
} 
}
int main(void)
{
u8 ret;
char DataBuf[5] = {0};
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//NVIC 分組
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//滴答定時器8分頻
LED_Init();
Key_Init();
//Exti_Init();
//Tim_Init();
//Pwm_Tim14();
Uart_Init(115200);
Dht11_Init();
printf("hello uart1\r\n");
while(1)
{
ret = get_dht11_data(DataBuf);
if(ret == 1)
{
printf("溫度:%d ℃ 濕度:%d\r\n",DataBuf[2],DataBuf[0]); 
}
else
{
printf("get dht11 failed!");
}
delay_s(2);
}
return 0;
}
Tags:STM32單片機,STM32,DHT11,溫濕度傳感器  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
久久久久免费精品_www黄色在线_日本wwww视频_www.色就是色.com_性欧美在线视频_国产女女做受ⅹxx高潮_黄色片免费在线观看视频_日本手机在线视频_国产主播在线看_国产福利视频在线播放
亚洲一区二区五区| caoporm超碰国产精品| 亚洲一级Av无码毛片久久精品| 91精品国产闺蜜国产在线闺蜜| 26uuu亚洲| 蜜桃av一区二区在线观看 | 日韩一区二区在线看片| 亚洲综合一区在线| 99精品视频在线播放观看| 丝袜 亚洲 另类 欧美 重口| 国产精品无人区| 国产v综合v亚洲欧| 男人在线观看视频| 中日韩免费视频中文字幕| 国产精华液一区二区三区| 欧美成人久久久免费播放| 国产日韩欧美精品在线| 国产精品亚洲一区二区三区妖精| 国产午夜精品福利视频| 国产欧美日韩视频在线观看| 国产成a人亚洲精| 男人的天堂久久久| 亚洲欧美一区二区三区久本道91| 99精品国产热久久91蜜凸| 91激情五月电影| 亚洲蜜臀av乱码久久精品 | 成人精品免费视频| 成人在线观看小视频| 亚洲婷婷在线视频| 特种兵之深入敌后| 6080日韩午夜伦伦午夜伦| 日本欧美在线看| 欧美老女人性生活视频| 国产欧美一区二区精品秋霞影院| 国产成人无遮挡在线视频| 久久久久99精品成人片试看| 一区二区三区四区国产精品| 大尺度做爰床戏呻吟舒畅| 精品国产乱码久久久久久久久| 韩国三级中文字幕hd久久精品| 999精品视频在线观看播放| 亚洲人成影院在线观看| 亚洲欧美高清在线| 久久综合一区二区| 成人av网址在线观看| 欧美日韩一级片在线观看| 视频在线在亚洲| 少妇太紧太爽又黄又硬又爽小说| 中文字幕亚洲成人| 91精品人妻一区二区三区蜜桃2| 日韩亚洲欧美在线观看| 国产精品自拍av| 欧美又粗又大又爽| 美女视频黄a大片欧美| 国产美女高潮视频| 亚洲图片欧美色图| www.99热| 一区二区视频在线| 一级黄色片大全| 综合电影一区二区三区| 污污内射在线观看一区二区少妇 | 久久精品99国产精品| 老熟妻内射精品一区| 亚洲无线码一区二区三区| 国产第一页精品| 亚洲一二三区在线观看| x88av在线| 亚洲综合在线免费观看| 91精品国自产在线| 亚洲在线视频免费观看| 在线免费观看视频| 亚洲国产日日夜夜| 蜜桃av免费在线观看| 亚洲大片在线观看| 可以免费看av的网址| 天天av天天翘天天综合网| 黄色片子在线观看| 蜜桃精品视频在线观看| 欧美性猛交一区二区三区精品| 精品一区二区三区不卡| 欧美午夜宅男影院| 国产精品一区久久久久| 8x福利精品第一导航| 成人理论电影网| 久久色在线视频| www.四虎精品| ●精品国产综合乱码久久久久| 国产精品一区二区入口九绯色| 亚洲欧美视频在线观看视频| 久久丫精品忘忧草西安产品| 亚洲国产综合人成综合网站| 日韩女优一区二区| 国产真实精品久久二三区| 69精品人人人人| 91蝌蚪porny九色| 国产精品三级av在线播放| 日韩精品卡通动漫网站| 亚洲午夜久久久久久久久电影院| 欧美老熟妇一区二区三区| 精品一区二区三区欧美| 制服丝袜av成人在线看| 女人扒开腿免费视频app| 中文字幕在线一区| 91大神福利视频| 久久国产麻豆精品| 欧美一级高清大全免费观看| 俄罗斯女人裸体性做爰| 自拍偷拍欧美激情| 老熟妇高潮一区二区三区| 激情综合网av| 精品国产乱码久久| 成人网站免费观看| 日本不卡免费在线视频| 91精品婷婷国产综合久久竹菊| 亚洲欧美日韩中文字幕在线观看| 中文字幕一区二区三区精华液| 5566中文字幕| 国产乱子伦视频一区二区三区| 精品国产1区2区3区| 亚洲熟妇无码av| 奇米精品一区二区三区在线观看| 4438x亚洲最大成人网| 国产成人精品一区二区三区在线观看| 亚洲欧洲综合另类在线| 一本大道av一区二区在线播放| 国产白丝网站精品污在线入口| 中文字幕欧美国产| 永久免费未视频| 大胆欧美人体老妇| 国产精品国产三级国产| 三级av在线免费观看| 成人手机电影网| 亚洲欧美一区二区视频| 色婷婷av一区| 一起草最新网址| 亚洲午夜免费视频| 日韩一区二区精品葵司在线 | 精品少妇一区二区三区视频免付费| 国产性生活毛片| 青青国产91久久久久久| 精品国产一区a| 俄罗斯毛片基地| 国产91高潮流白浆在线麻豆| 国产精品国产三级国产| 欧美亚洲另类激情小说| 怡红院一区二区| 免费成人美女在线观看.| 久久这里都是精品| 中文字幕无码日韩专区免费| 成年人网站91| 亚洲自拍偷拍麻豆| 欧美一区二区三区视频免费播放| 日本xxx在线播放| 国产在线看一区| 国产精品久久网站| 欧美午夜精品久久久久久超碰 | 中文字幕在线观看91| 五月婷婷激情综合网| 欧美成人精精品一区二区频| 毛片aaaaaa| 99久久国产免费看| 五月婷婷激情综合网| 久久久亚洲精华液精华液精华液| 久久爱一区二区| 真实乱偷全部视频| 青青草国产成人99久久| 久久久久久97三级| 91极品视觉盛宴| 亚洲第一香蕉网| 粗大黑人巨茎大战欧美成人| 亚洲图片有声小说| 国产片一区二区三区| 在线免费观看不卡av| 性欧美成人播放77777| 国产成人自拍高清视频在线免费播放| 亚洲图片你懂的| 欧美xxxxxxxxx| avove在线播放| jlzzjizz在线播放观看| 国产传媒久久文化传媒| 午夜视频一区二区| 欧美激情一区二区| 欧美二区在线观看| 91视频免费看片| 激情综合激情五月| 国产精品69毛片高清亚洲| 一级中文字幕一区二区| 337p日本欧洲亚洲大胆色噜噜| 色婷婷狠狠综合| www色com| 久久久久亚洲AV成人网人人小说| 韩国一区二区三区| 亚洲第一会所有码转帖| 欧美激情一区二区三区蜜桃视频| 欧美日本在线播放| 中国毛片直接看| 久久久久亚洲av无码专区桃色| 成人a区在线观看| 久久精品国产99国产| 亚洲国产精品久久一线不卡|