标题:
一个DHT11传感器测温湿度单片机程序分享
[打印本页]
作者:
123920
时间:
2018-2-8 16:36
标题:
一个DHT11传感器测温湿度单片机程序分享
分享一个DHT11的温湿度测量程序和数字温湿度传感器DHT11技术手册.pdf
0.png
(42.27 KB, 下载次数: 47)
下载附件
2018-2-8 23:37 上传
单片机源程序如下:
#include<stm32f10x.h>
#include<SysTick.h>
#include<GPIO.h>
#include<DHT11.h>
/*复位DHT11*/
void Init_Dht11()
{
/*设置GPIO为输出口*/
Gpio_Config_Mode_Out();
/*拉低总线*/
DHT11_DQ_OUT_Low;
/*延迟18US*/
Delay_us(18);
/*复位总线*/
DHT11_DQ_OUT_High;
/*设置GPIO为输入口*/
Gpio_Config_Mode_In();
/*等待复位信号*/
while(DHT11_DQ_IN);
/*等待高电平*/
while(!DHT11_DQ_IN);
/*等待低电平 准备输出*/
while(DHT11_DQ_IN);
}
/*读一个字节*/
u8 Read_One_Byte()
{
u8 i=0;
u8 a=0x01;
u8 b=0;
for(i=0;i<8;i++)
{
/*设置GPIO为输入口*/
Gpio_Config_Mode_In();
/*等待高电平*/
while(!DHT11_DQ_IN);
/*延迟30us*/
Delay_us(30);
if(DHT11_DQ_IN==1)
{
b=b<<1;
b=b|a;
/*等待低电平*/
while(DHT11_DQ_IN);
}
else
{
b=b<<1;
}
}
return(b);
}
u16 Read()
{
u8 a=0;
u8 b=0;
u8 c=0;
u16 d=0;
/*复位DHT11*/
Init_Dht11();
/*读出整数部分*/
a=Read_One_Byte();
/*读出小数部分*/
b=Read_One_Byte();
/*读出整数部分*/
c=Read_One_Byte();
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
DHT11驱动.rar
(2.17 MB, 下载次数: 22)
2018-2-8 16:36 上传
点击文件名下载附件
DHT11侧温湿度程序
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1