(完整版)msp430驱动dht11温湿度传感器
《(完整版)msp430驱动dht11温湿度传感器》由会员分享,可在线阅读,更多相关《(完整版)msp430驱动dht11温湿度传感器(4页珍藏版)》请在装配图网上搜索。
1、DHT11是数字的湿度传感器 .6元一个买的 .与它的通信方式类似于I2C 总线通信 .串行数据一次返回40 位.数据格式 :8bit湿度整数数据 +8bit湿度小数数据+8bi 温度整数数据 +8bit温度小数数据+8bit 校验和数据传送正确时校验和数据等于“8bit湿度整数数据 +8bit 湿度小数数据+8bi 温度整数数据 +8bit温度小数数据”所得结果的末8 位。如果模块离芯片距离近 , 建议在数据线接一5k 电阻上拉 .时序图如下 :第一次拉低要求至少 18ms,之后拉高 20-40us ,之后 DHT拉低 80us 后再拉高 80us. 之后进入数据阶段 . 每个数据 ,0,1
2、 以高电平的 时间长短区分 .0 数据高电平时间为 26-28us,1 为 70us. 不论 1 或者 0,之前都先输出 50us 的低电平 . 数据传输完成后拉高总线 .在此次的程序中用P2.1 作为信息口 .程序如下#include #define HIGH P2OUT|=BIT1;#define LOW P2OUT&=BIT1;void DelayNus(int n)CCR0 = n;TACTL |= MC_1; /增计数到 CCR0while(!(TACTL & BIT0); /等待TACTL &= MC_1; / 停止计数TACTL &= BIT0; /清除中断标志char rece
3、ive(void) /接受函数char tem,cnt=0; /临时变量用于存储接受数据while(cnt8)while(!(P2IN&BIT1); /等待 50us 的低电平结束DelayNus(45);if(P2IN&BIT1) /长于 30us 定义为 1tem+;tem=1;while(P2IN&BIT1); /结束高电平elsetem0;i-);while(IFG1&OFIFG);_EINT();BCSCTL2|=SELM_2+SELS; /SMCLK 分8频P2DIR|=BIT1;P2OUT|=BIT1;TACTL|=TASSEL_2+ID_3;/initedLOW;DelayNus(18000);HIGH;DelayNus(30);P2DIR&=BIT1;while(P2IN&BIT1);while(!(P2IN&BIT1);while(P2IN&BIT1);/Data comeshumdh=receive();humdl=receive();temph=receive();templ=receive();check=receive();cal=humdh+humdl+temph+templ;if(check=cal)LPM0;return 0;
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。