stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)

关于DHT11

DHT11是一款数字温湿度传感器,DHT11是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有可靠的稳定性,响应快,抗干扰能力强。传感器包括一个高分子电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,通过单总线与微处理器通讯,只需要一根线。

stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)相关参数

1、DHT11数据结构
DHT11数字湿温度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,具体格式在下面说明。
一次完整的数据传输为40bit,高位先出。
数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和
校验和数据为前四个字节相加。
传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间
应该分开处理。如果,某次从传感器中读取如下5Byte数据:

stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)

由以上数据格式可以得到温湿度计算方法
humi (湿度)= byte4 . byte3=45.0 (%RH)
temp (温度)= byte2 . byte1=28.0 ( ℃)
jiaoyan(校验)= byte4+ byte3+ byte2+ byte1=73(=humi+temp)(校验正确)
2、DHT11传输数据时序
主机发送开始信号后,延时等待 20us-40us 后读取 DH11T 的回应信号,读取总线为低电平,说明 DHT11 发送响应信号,DHT11 发送响应信号后,再把总线拉高,准备发送数据,每一 bit 数据都以低电平开始。

stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)

3、DHT11的数字“0”和数字“1”表示方法
DHT11的数字0和数字1表示方式和常见的不同,一般的数据表示0的是低电平,表示1的是高电平,DHT11不同,开始传输数据之后他数字0的表示方式是高电平26-28us,数字1的表示方式是高电平116-118us。

stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)
stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)代码篇

本次实验定义的IO口是PB11,传输的数据是串口一
1、主机发送开始信号到DHT11即单片机拉低18ms之后再拉高20-40us

static void DHT11_Rst(void)
{                
		GPIO_SETOUT();											//配置成输出模式
    GPIO_ResetBits(DHT11_IO,DHT11_PIN); //拉低数据线
    Delay_ms(20);    										//拉低至少18ms
    GPIO_SetBits(DHT11_IO,DHT11_PIN); 	//拉高数据线 
	  Delay_us(30);     									//主机拉高20~40us
		GPIO_ResetBits(DHT11_IO,DHT11_PIN);
}

2、DHT11发送响应信号到主机(32单片机),DHT11的数据线会拉低40-50us的,在拉高40-50us,让单片机的IO口检测信号。

函数名:static u8 DHT11_Check(void)
参数说明:无
返回值:检测到回应-->返回1,否则0
函数作用:检测DHT11的响应信号
***********************************************/
static u8 DHT11_Check(void) 	   
{   
	u8 retry=0;
	GPIO_SETIN();			//设置为输入模式	
	
  while (!GPIO_ReadInputDataBit(DHT11_IO,DHT11_PIN) && retry= 100)	//超时未响应/未收到开始信号,退出检测
		return 0;
	else 
		retry = 0;
  while (GPIO_ReadInputDataBit(DHT11_IO,DHT11_PIN) && retry=100)		//超时,DHT11工作出错,退出检测
		return 0;
	return 1;					//设备正常响应,可以正常工作
}

3、DHT11开始传输数据给单片机,这有两个传输数据的函数,一个是传输字节的,在由传输字节的函数来写传输一个8位字符串的函数。

函数名:static u8 DHT11_Read_Bit(void)
参数说明:无
返回值:返回从DHT11上读取的一个Bit数据
函数作用:从DHT11上读取一个Bit数据
***********************************************/
static u8 DHT11_Read_Bit(void)
{
 	u8 retry = 0;
	//DHT11的Bit开始信号为12-14us低电平
	while(GPIO_ReadInputDataBit(DHT11_IO,DHT11_PIN) && retry

4、DHT11数据采集完毕之后通过主函数在串口显示出来

函数名:int main(void)
参数说明:无
返回值:无
函数作用:主函数
***************************************************************************/
 int main(void)
 {	
	 
   clock_init();
	 uart_init(115200);		//初始化串口
	 printf("wecome to DHT11");
	 
	 
	 //初始化DHT11(有BUG,第一次上电总是失败,按一下复位按钮又能进了)
	 if(!DHT11_Init()){
		 printf("rn EEROR! THE DHT11 HAS NO RESPOND...");
		 //while(1);
	 }
	 printf("rn THE DHT11 HAS RESPOND");
	 Delay_ms(10);		//这里延时10ms主要是因为,刚刚接收到响应信息,要等DHT11发送完信息
	 
	 while(1)
	 {
		 if(DHT11_Read_Data(&temp,&humi))
			printf("rn temp:%d,humi:%d",temp,humi);
		 else
		 //printf("rn EEROR! THE DHT11 HAS NO RESPOND...");//由于是库函数编程,不能准确把握函数的执行时间,
																													//所以会经常出现这条警告信息
		 Delay_ms(100);
	 }
	  
 }
 

接线和实验结果

stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)
stm32f103zet6引脚图及功能(stlinkv2烧录stm32教程)总结

DHT11是性价比比较高的一个温湿度模块,用串口来显示温湿度来说是比较直观的,长期发布此类文章,喜欢的点个关注吧。

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 社保是什么时候开始实行的(全国交社保从哪年开始)

    要准确知道社保从哪年开始缴纳,就要清楚我国的各项政策,网上有很多错误和误导性的东西,今天我们就来社保的来龙去脉,前世今生来详细解说,去伪存真。免得大家云里雾里,不知道该听谁的。 企…

    2022年4月8日
  • 自我介绍ppt免费模板素材(ppt模板免费使用方法)

    随着毕业季进入尾声,一大批毕业生们走出象牙塔,离开舒适区,步入社会,成为职场新人。 入职新公司时,很多人都会遇到这样一个难题:用一分钟时间介绍和展示自己。 作为入职新公司的第一次见…

    2022年2月13日 投稿
  • 电话手表哪个牌子好(电话手表十大排名)

    步步高旗下,小天才科技是一家儿童智能电话手表及平板设备制造商,专注于从事儿童智能硬件产品的研发与设计,主打早教市场。2015年推出首款儿童电话手表,平板电脑设备则有多款益智类游戏,…

    2022年4月25日 投稿
  • 干什么挣钱快(如何创业白手起家)

    这是一个粉丝的问题。俗话说财不进急门,但社会上挣快钱,快挣钱,依然是每一位创业者或者生意人的不懈追求。那么,目前社会上,有哪些既不违法、又挣钱特别快的生意途径呢?我这里给大家推荐一…

    2022年4月10日 投稿
  • 职工医保报销比例(职工医保住院怎么报销)

    缴纳职工医保的朋友都比较清楚,在缴满一定的年限且达到法定的退休年龄时,咱们是可以办理医保退休手续的,在退休后,是可以享受终身医保的待遇的,那医保待遇都包含哪些方面呢? 这里以河南郑…

    2022年5月12日
  • 中学生手机推荐(适合青少年用的手机)

    在我上学的时候,根本没有手机,平常的娱乐活动就是和伙伴们一起在户外玩各种游戏。随着科技发展,智能手机已经离不开我们的生活了,微信使通讯变得更加简单,移动支付也让日常购物更加便捷。 …

    2022年3月1日 投稿
  • 手机被监控了怎么解除(手机被监控怎么查出来)

    在谍战片中看到各种监听器时,你是否会想到我们的手机也有可能被监听呢?事实上,我们的手机有可能一直都被监听。只是监听的轻重程度不同而已。最轻的就是商家偷偷获取隐私;稍重一点就会监听我…

    2022年4月27日 投稿
  • 什么叫股票市盈率(市盈率多少才合理)

    经常听人说,这个股票估值是多少多少倍市盈率。 到底啥是市盈率啊? 今天,我们就来讲一讲,这个投资领域最熟悉的,陌生人。 1.什么是,市盈率? 我们买股票的时候,不是什么价格都可以买…

    2022年4月30日
  • 旗舰店好还是专卖店好(专卖店为啥比旗舰店便宜)

    天猫转让以独特的优势在电商圈发展壮大,很多商家因为一次次的天猫申请被拒或者操作不当导致无法入驻,天猫店铺转让就可以轻松解决这个困境,不了解天猫转让行业的商家经常会问购买天猫店铺的时…

    2022年5月25日
  • 远程连接电脑软件叫什么(分享实用远程工具)

    在日常工作和生活中,你是否有远程办公、技术支持、远程维护的需求? 最近我发现了一款宝藏软件:「ToDesk远程控制软件」,可以一站式解决你的需求! ToDesk: 它跟TeamVi…

    2022年5月3日 投稿
品牌推广 在线咨询
返回顶部