久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于STM32的DHT22溫濕度檢測12864顯示程序
[打印本頁]
作者:
King97
時間:
2019-4-18 18:50
標題:
基于STM32的DHT22溫濕度檢測12864顯示程序
溫濕度檢測DHT22+12864顯示
單片機源程序如下:
#include "humiture.h"
#include "systick.h"
char RHData_H_Temp,RHData_L_Temp,TData_H_Temp,TData_L_Temp,CheckData_Temp; //溫濕度數據校驗前存放位置
char RHData_H,RHData_L,TData_H,TData_L,CheckData; //最終溫濕度數據存放處
char check_temp;
void Humitureport_outputinit(void)
{
GPIO_InitTypeDef GPIO_InitStructure_A; //聲明一個結構體變量,用來初始化GPIO_A ; A PORT AS OUTPUT
//SystemInit(); //system CLK initial
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //enable APB2 external clock
/* 配置GPIO_A的模式和IO口 */
GPIO_InitStructure_A.GPIO_Pin = Humiture_Port; //選擇你要設置的IO口
GPIO_InitStructure_A.GPIO_Mode = GPIO_Mode_Out_PP; //設置推挽輸出模式
GPIO_InitStructure_A.GPIO_Speed = GPIO_Speed_50MHz; //設置傳輸速率
GPIO_Init(GPIOA,&GPIO_InitStructure_A); //init GPIOA port by GPIO_InitStructure structure
}
void Humitureport_inputinit(void)
{
GPIO_InitTypeDef GPIO_InitStructure_A; //聲明一個結構體變量,用來初始化GPIO_A ; A PORT AS OUTPUT
//SystemInit(); //system CLK initial
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //enable APB2 external clock
/* 配置GPIO_A的模式和IO口 */
GPIO_InitStructure_A.GPIO_Pin = Humiture_Port; //選擇你要設置的IO口
GPIO_InitStructure_A.GPIO_Mode = GPIO_Mode_IPU; //設置為上拉輸入模式
GPIO_InitStructure_A.GPIO_Speed = GPIO_Speed_50MHz; //設置傳輸速率
GPIO_Init(GPIOA,&GPIO_InitStructure_A); //init GPIOA port by GPIO_InitStructure structure
}
char Bit_Select(void)
{
uchar i,temp;
uchar Byte_Data = 0; //存放每字節溫濕度的數據
// Byte_Data = 0;
// Humitureport_inputinit();
for(i=0;i<8;i++)
{
//FLAG=2;
//while((!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12))&&FLAG++); //判斷數據位是0還是1
while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12)); //判斷數據位是0還是1
delay_us(30); //如果30微秒過后引腳還為高電平則為1
if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12))
temp = 1;
else
temp = 0;
//FLAG=2;
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12));
// if(FLAG == 1)break; //超時則跳出for循環
Byte_Data<<=1;
Byte_Data|= temp;
}
return Byte_Data;
}
/*******************************************************************************
* 函 數 名 : HumitureRead
* 函數功能 : 溫濕度數據讀取
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void HumitureRead(void)
{
Humitureport_outputinit(); //端口配置為輸出模式
GPIO_ResetBits(GPIOA,GPIO_Pin_12); //主機拉低18ms
delay_ms(1);
GPIO_SetBits(GPIOA,GPIO_Pin_12); //主機由上拉電阻拉高延時30us
delay_us(30);
Humitureport_inputinit(); //主機設為輸入模式
if(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12)) //判斷DHT22是否有響應信號輸出
{
// FLAG=2;
// while((!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12))&&FLAG++); //判斷DHT22的80us響應信號是否結束
// FLAG=2;
// while((GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12))&&FLAG++); //判斷DHT22是否發出80us高電平,如果是進入數據接受狀態
//FLAG=2;
while(!GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12)); //判斷DHT22的80us響應信號是否結束
//FLAG=2;
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12)); //判斷DHT22是否發出80us高電平,如果是進入數據接受狀態
RHData_H_Temp = Bit_Select();
RHData_L_Temp = Bit_Select();
TData_H_Temp = Bit_Select();
TData_L_Temp = Bit_Select();
CheckData_Temp = Bit_Select();
// GPIO_ResetBits(GPIOA,GPIO_Pin_12); //DHT22拉低總線50us
delay_us(50);
Humitureport_outputinit(); //端口配置為輸出模式
GPIO_SetBits(GPIOA,GPIO_Pin_12); //主機拉高總線
check_temp = (RHData_H_Temp + RHData_L_Temp + TData_H_Temp + TData_L_Temp);
if(check_temp == CheckData_Temp)
{
RHData_H = RHData_H_Temp;
RHData_L = RHData_L_Temp;
TData_H = TData_H_Temp;
TData_L = TData_L_Temp;
CheckData= CheckData_Temp;
}
}
}
/*******************************************************************************
* 函 數 名 : Humitureoutput
* 函數功能 : 溫濕度數據輸出
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void Humitureoutput(void)
{
HumitureRead();
HumitureData[0] = RHData_H;
HumitureData[1] = RHData_L;
HumitureData[2] = TData_H;
HumitureData[3] = TData_L;
HumitureData[4] = CheckData;
}
復制代碼
所有資料51hei提供下載:
基于STM32的DHT22驅動程序.7z
(201.2 KB, 下載次數: 116)
2019-4-19 17:36 上傳
點擊文件名下載附件
基于STM32的溫濕度檢測
下載積分: 黑幣 -5
作者:
jemery1030
時間:
2019-8-25 21:50
感謝分享
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
av网站在线播放
|
激情网站在线观看
|
国产精品福利一区二区三区
|
91在线视频免费观看
|
成人性生交a做片
|
91色视频在线
|
国产精品久久免费观看
|
久久久女女女女999久久
|
亚洲综合日韩精品欧美综合区
|
久久久久九九九女人毛片
|
国产精品成人一区二区三区
|
成人毛片在线观看
|
成人99
|
99精品免费视频
|
亚洲一区不卡
|
亚洲人成在线观看
|
一级二级三级在线观看
|
五月综合激情网
|
亚洲一区二区视频
|
天天澡天天狠天天天做
|
亚洲欧美在线观看
|
国产一二区免费视频
|
国产美女福利在线观看
|
国产精品成人一区二区
|
精品欧美一区免费观看α√
|
在线一区二区三区
|
日韩精品一区二区在线观看
|
久久久久国产精品一区三寸
|
亚洲精品一区在线观看
|
久久com
|
亚洲免费在线
|
精品国产久
|
红桃视频一区二区三区免费
|
全免费a级毛片免费看视频免费下
|
av在线影院
|
精品av久久久久电影
|
91在线资源
|
国产高清一区二区三区
|
天堂成人av
|
日韩在线一区二区三区
|
一区二区免费视频
|