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

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

关于DHT11

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

使用STM32F103ZET6采集DHT11温湿度串口显示

相关参数

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

使用STM32F103ZET6采集DHT11温湿度串口显示

由以上数据格式可以得到温湿度计算方法
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采集DHT11温湿度串口显示

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

使用STM32F103ZET6采集DHT11温湿度串口显示
使用STM32F103ZET6采集DHT11温湿度串口显示

代码篇

本次实验定义的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)//DHT11会拉低40~50us
	{
		retry++;
		Delay_us(1);
	}
	if(retry >= 100)	//超时未响应/未收到开始信号,退出检测
		return 0;
	else 
		retry = 0;
  while (GPIO_ReadInputDataBit(DHT11_IO,DHT11_PIN) && retry<100)//DHT11拉低后会再次拉高40~50us
	{
		retry++;
		Delay_us(1);
	}
	if(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<100)//等待变为低电平(等待Bit开始信号)
	{
		retry++;
		Delay_us(1);
	}
	retry = 0;
	while(!GPIO_ReadInputDataBit(DHT11_IO,DHT11_PIN) && retry<100)//等待变高电平(代表数据开始传输)
	{
		retry++;
		Delay_us(1);
	}
	Delay_us(30);//等待30us
	//0信号为26-28us,1信号则为116-118us,所以说超过30us去读取引脚状态就可以知道传输的值了
	if(GPIO_ReadInputDataBit(DHT11_IO,DHT11_PIN)) return 1;
	else return 0;		   
}


/***********************************************************************
函数名:static u8 DHT11_Read_Byte(void)
参数说明:无
返回值:返回从DHT11上读取的一个byte数据
函数作用:从DHT11上读取一个byte数据
************************************************************************/
static u8 DHT11_Read_Byte(void)    
{        
  u8 i,dat;
  dat=0;
	
	for (i=0;i<8;i++) 
	{
   	dat<<=1; 
	  dat|=DHT11_Read_Bit();
  }	
	
  return dat;
}

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采集DHT11温湿度串口显示
使用STM32F103ZET6采集DHT11温湿度串口显示

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月9日 下午5:27
下一篇 2022年5月9日 下午5:29

相关推荐

  • 摆地摊做什么好,10个最赚钱而且很受欢迎的产品

    现在正是摆地摊的好时候,对于地摊老手来说,最主要的就是备货,然后自己又得辛苦一阵子了,可是对于地摊新手来说,并不是那么的容易,因为没有接触过这个地摊行业,不知道自己应该卖什么好,卖什么可以赚钱,这个当然是重要的,朵姐觉着,地摊小白应该首先知道自己要卖什么,再去学相关的知识。那朵姐今天就给大家说说地摊小白到底应该卖什么,跟着朵姐一块来看看吧。 1.摆地摊卖什么好——纯棉袜子 现在真的是卖袜子的好季节…

    2022年8月28日
    600
  • 投资理财首选平台,什么投资理财最好最安全

    股市行情不稳,银行利率偏低,信托基金门槛高,闲散资金放哪里好?随着我国居民理财意识的增强,越来越多人开始认可便捷、高效的互联网 金融理财。《中国互联网理财人年度分析报告》显示,截至2016年第四季度,我国的移动金融APP安装数量已高达8.7亿台。互联网 金融市场广阔,但同时鱼龙混杂,如何甄别理财平台的安全性成为了众多投资者关心的问题。 资深人士建议,从信息的公开透明度、收益区间的合理性、风控体系的…

    2022年8月7日
    710
  • 产品文案怎么写,产品推广文案范例

    一个产品,由产品经理和程序员开发出来,耗费了大量精力与时间,然后面向市场的时候,如果没有合适的产品文案来向市场“表达”产品的亮点和核心功能,那么不管产品本身有多成功,其推广之路将会异常曲折。 产品文案优异与否,很难定义,有的取决于行业视野,有的取决于洞察力,有的取决于风格与审美的和谐,而笔者则更看重“高效而精准的表达”。 产品文案分为两类,第一类是功能性的,字数极简,通常在八个字以内,第二类是介绍…

    2022年8月16日
    1000
  • win10怎么改字体大小,具体操作方法分享给大家

    随着win10系统的不断完善,现在越来越多的用户都将自己的电脑更换上了win10系统。但也有部分用户对于win10系统的设置还不是特别了解的,win10电脑系统字体大小如何设置呢?接下来,小编就将win10电脑设置系统字体教程分享给大家。 操作过程: 1、首先,点击任务栏左下角的“开始菜单”,点击“设置”按钮。 2、进入Windows设置界面后,选择“系统”选项进入。 3、然后在显示界面找到“高级…

    2022年8月5日
    550
  • 微信公众号商城怎么做,公众号商城收费标准

    公众号商城怎么做? 现在越来越多商家把自己的产品做到了公众号里面,不仅能够展示还能进行销售,把公众号的粉丝转化为消费者。那么微信公众号怎么制作微商城?今天小编跟大家分享分享。 1、申请一个微信公众号,并完成认证。公众号类型选择服务号,因为服务号支持开通微信支付功能及能够获取微信公众平台更多接口,而订阅号则不能申请微信支付功能的。 2、到微管家新商城平台注册账号。然后将微信公众号与微管家新商城进行绑…

    2022年8月30日
    410
  • 收录是什么意思,什么网站收录最多

    1.什么是网站收录   对于网站收录的概念,互联网中或者搜索引擎中已经有大量的相关定义。网站收录,指的是爬虫爬取了网页,并将页面内容数据放入搜索引擎数据库中这一结果。 什么是网站收录?如何提高网站收录?   2.如何增加收录   既然收录是一个页面能参与排名的前提,那么尽量增加本网站的收录量就显得尤为重要。怎么有效增加网站收录?增加收录的方法有哪些?此处提供三个方面的参考意见。   1、收录入口 …

    2022年7月16日
    510
  • 公司注册注意事项有哪些,公司详细注册流程一览

    现在,也许你正在想着如何开始你自己的生意,做你自己的老板。任何一个有经验的企业家都会告诉你,这可不是一件容易的事。 实现梦想的第一步就是要注册一家公司。当你的公司注册程序进入实际筹备阶段时,有些事情是必须要做的,否则将来肯定会后悔。 但是很多人都不知道注册公司流程是什么样的,也有很多需要注意的地方。本篇文章我们就着重给大家介绍一下关于注册公司流程的注意事项。 一、注册地址有且只能有一个 我国法律明…

    2022年5月23日
    1200
  • 移动营销优秀案例分享,移动营销常用的方法和手段

    移动营销推广是指以互联网或者移动互联作为主要平台开展的各种营销推广活动,今天八爪网就给大家分享六招移动营销推广的方法,一起来看看吧。 一、利用短信引入老客户 有很多企业在以前的运营中会有许多的老客户,这些老客户主要就是会员,他们都留有手机号,我们可以将这些有手机号的用户转换为微信用户。我们还可以举办一个老客户转来有抽奖的活动,比如说大转盘抽奖,关注抽奖等,我们可以通过这种方式让老客户自然的转为微信…

    2022年6月26日
    720
  • 音质最好的耳机是什么,全球十大耳机排名

    在一个嘈杂的飞机上、尖叫的孩子和大声说话的世界里,您需要一对优质、有效的降噪耳机来享受宁静的时光。无论是精致的耳机让您平静地享受音乐,还是便携式耳机都能让世界变得干净,每个音乐爱好者都能找到适合自己的东西。以下是最好的降噪耳机。 1.BOSEQUIETCOMFORT35II 整体上最好的降噪耳机 优点:顶级降噪技术;电池寿命长;轻巧,舒适的设计;可以使用ANC在有线模式下收听。 缺点:Google…

    2022年7月31日
    3750
  • 创业板什么意思,股市的创业板是怎么定义的

    说到创投板块可能大家都不是很明确它的意思,但是如果你知道创业板,那对于创投板块的含义就很容易理解了。 创投板块是指是指主板市场中涉足风险创业投资,有望在创业板上市中大获其利的上市公司或者自身具有“分拆”上市概念的个股。 创业板市场,又称二板市场,是与传统主板市场在上市资源、上市条件、交易方式、监管手段等方面有显著差别的新市场的总称。创业板的上市资源主要是高成长性的中小型企业,其中高科技行业占有较大…

    2022年5月18日
    850

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信