ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:594.47KB ,
资源ID:21520587      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21520587.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DHT11温湿度传感器与单片机之间的通信docxWord格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DHT11温湿度传感器与单片机之间的通信docxWord格式.docx

1、1.通讯过程如图1所示图1总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必 须大于18毫秒保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后 等待主机开始信号结束,然后发送80uS氐电平响应信号主机发送开始信号结束后 延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输 入模式,或者输出高电平均可,总线由上拉电阻拉高。信号线说明:主机信号DHT桔号总线为低电平,说明DHT11发送响应信号QHT11发送响应信号后,再把总线 拉高80us准备发送数据,每一bit数据都以50uS氐电平时隙开始,高电平的长短定了 数据位是0还是1.

2、格式见下面图示如果读取响应信号为高电平,则DHT11没有响 应,请检查线路是否连接正常当最后一 bit数据传送完毕后,DHT11拉低总线50us, 随后总线由上拉电阻拉高进入空闲状态。数字0信号表示方法如图4所示26us-28us表示信号线说明:主机信号 DBT信号图4数字1信号表示方法如图5所示DHT信号图5实现电路(简易视图)vccXT All50】ADIXTAL2PJ1.4D:XST EAVTfPO 5 -4D= 生* AD4心心W AITF1QT:FSD?Pl ITKALEPJ2FU Fl 4Pir |FUTxDPJJFlFiJEKTl PM TOP1&A5Pii Ti.F11A?F1

3、XA10 |p; iiDF:3AUF14AJ2 F16AJ4F2A12DKT11A二编程思路根据传感器的通信协议,首先由单片机通过 I/O 口主动产生要求的激发信号,然后将数据线的控制权交给传感器,接着单片机通过 while语句不间断的检查I/O 口的高低 电平,从而达到对时序的正确把握, 解析出准确的传输数据。四程序代码#include #define uchar unsigned char#define uint unsigned intsbit dat=P1A0;sbit RS=P2A5;/ledsbit RW=P2A6;sbit E=P2A7;/led 使能端void delay(in

4、t x)int y,z;for(y=0;yx;y+)for(z=0;z=0;i-)n=0;m=0; while(dat=0); while(dat=1) n+;if(n24&m=0) a=a+k;m=1;if(m=1)break;k=k/2;return a;void xianshi(uchar x,int k)int i,j,n; i=x/100;j=x/10%10;n=x%10;/ledxiezhiling(0x80+3*k);/ledxieshuju(0x30+i); ledxiezhiling(0x80+3*k+1);ledxieshuju(0x30+j);ledxiezhiling(

5、0x80+3*k+2);ledxieshuju(0x30+n);void xianshi2(uchar x,int k)i=x/100;ledxiezhiling(0xc0+3*k); ledxieshuju(0x30+i); ledxiezhiling(0xc0+3*k+1); ledxieshuju(0x30+j);ledxiezhiling(0xc0+3*k+2); ledxieshuju(0x30+n);void main()int i;uchar a5;uchar x;ledchushihua();delay(10000);while(1) delay(10000);a0=0;a1=

6、0;a2=0;a3=0; a4=0; kaishi(); xiangying(); a0=jieshou(); a1=jieshou(); a2=jieshou(); a3=jieshou(); a4=jieshou(); while(dat=1);x=a0+a1+a2+a3; for(i=0;i5;i+) xianshi(ai,i); xianshi2(x,0);五实践效果图六反思与总结虽然对时序的编程在之前已做过不少,但是在这次实 践中发现了不少新问题。在编程思路正确的情况,我们还是花了 2天的时间才把这个程序搞定。期间出过的错误有,在循环中忘了将变量 归零的,也有将数据帧的高低位反过来接的。同时在调试阶 段中,没有透过现象看本质, 盲目的修改,浪费了大量时间。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1