- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 常用传感器 计算机科学系 宋文强 6.1 数字温湿度传感器DHT11 含有已校准数字信号输出的温湿度复合传感器。 应用数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与长期稳定性。 传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。 DHT11典型应用电路 DHT11连接实体图 DHT11串行接口 DATA 引脚用于单片机与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零。操作流程如下: 一次完整的数据传输为40bit,高位先出。 数据格式: 8bit湿度整数数据 + 8bit湿度小数数据 +8bit温度整数数据 + 8bit温度小数数据 +8bit校验和 数据传送正确时,校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。 用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。 如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。 DHT11串行接口通讯过程 总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。 DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号。 主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高,总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据。 如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常。当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。 串行接口通讯过程 DHT11串行接口每一位数据都以50us低电平时隙开始,高电平长短定了数据位是0还是1 数字1信号表示方法 6.1.5 实验:DHT11实验 (1)实验目的:编程实现不断读取DHT11的温湿度值并通过串口发送给PC,掌握DHT11温湿度传感器编程的方法 简单实验程序 #include ioCC2530.h #include string.h #include UART.H #include DHT11.H“ void main(void) { uchar temp[3]; uchar humidity[3]; uchar strTemp[13]=Temperature:; uchar strHumidity[10]=Humidity:; Delay_ms(1000); // 让设备稳定 InitUart(); // 串口初始化 while(1) { memset(temp, 0, 3); memset(humidity, 0, 3); DHT11(); // 获取温湿度 temp[0]=wendu_shi+0x30; // 将温湿度的转换成字符串 temp[1]=wendu_ge+0x30; humidity[0]=shidu_shi+0x30; humidity[1]=shidu_ge+0x30; UartSendString(strTemp, 12); // 获得的温湿度通过串口输出到电脑显示 UartSendString(temp, 2); UartSendString( , 3); UartSendString(strHumidity, 9); UartSendString(humidity, 2); UartSendString(\n, 1); Delay_ms(2000); // 延时,2S 读取 1 次 } } 实验效果 6.2 红外人体感应模块 6.2 红外人体感应模块 (1)全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭高电平,输出低电平。 (2)工作电压范围宽:默认工作电压DC 4.5V-20V。 (3)微功耗:静态电流50 微安,特别适合干电池供电的自动控制产品。 (4)感应模块通电后有一分钟左右的初始化时间,在此期间模块会间隔地输出0~3 次,一分钟后进入待
文档评论(0)