关闭
关闭
首页 > 嵌入式硬件 > 驱动开发

#include "typedef.h"

本文引用地址: http://embed.21ic.com/hardware/drivers/201801/50398.html

#include

#include "TemDHT11.h"

#ifndef _DHT11_TYPE

#define _DHT11_TYPE

//连接端口

#define DHT11_Dir P2DIR

#define DHT11_In P2IN

#define DHT11_Out P2OUT

#define DHT11_Bit BIT4

#endif

//8bit湿度+8bit湿度小数点

//8bit温度+8bit温度小数点

//数据位为0是高电平26~28us | 1高电平70us

u8 DHT11_Data[5] = {0}; //从DHT11中读到的数据

void read_DHT11(u8 *Data)

{

u8 re,m,n,Time_out;

DHT11_Dir &= (~DHT11_Bit); //引脚为输入

for(n = 0; n < 5; n++)

{

for(m = 0; m < 8; m++)

{

while( !(DHT11_In & DHT11_Bit) ); //每1bit以50us低电平时限开始,直到高电平到来

delay_us(30);

re = 0;

if((DHT11_In & DHT11_Bit)) //30us后还是高电平说明是1

{

re = 1;

}

Time_out = 2;

while((DHT11_In & DHT11_Bit) && (Time_out++ ));

if(Time_out == 1) //超时处理

{

break;

}

*Data <<= 1;

if(re)

{

*Data |= 0x01;

}

}

Data++;

}

}

//DHT11的握手协议模拟和数据的读取

u8 DHT11_GetData(void)

{

u8 o,sum;

DHT11_Dir |= DHT11_Bit;

DHT11_Out &= ~DHT11_Bit; //拉低,发出开始信号

delay_ms(18); //拉低18ms

DHT11_Out |= DHT11_Bit; //拉高20us等待

delay_us(20);

DHT11_Dir &= (~DHT11_Bit);

if( !(DHT11_In & DHT11_Bit) ) //DHT11响应

{

while( !(DHT11_In & DHT11_Bit) ); //80us低电平,等待DHT11的响应信号

while( (DHT11_In & DHT11_Bit) ); //DHT11准备发送数据

read_DHT11(DHT11_Data); //主机接收数据

sum = 0;

for(o = 0; o < 4; o++) //数据校验

{

sum += DHT11_Data[o];

}

if(sum != DHT11_Data[4])

{

return 0;

}

else

{

return 1;

}

}

return 0;

}

//对温度湿度进行格式化(如果获取温度成功)

void DHT11_format(char *Des_str)

{

Des_str[0] = DHT11_Data[0]/10 + 0x30;

Des_str[1] = DHT11_Data[0] + 0x30;

Des_str[2] = '.';

Des_str[3] = DHT11_Data[1]/10 + 0x30;

Des_str[4] = DHT11_Data[1] + 0x30;

Des_str[5] = '%';

Des_str[6] = ' ';

Des_str[7] = DHT11_Data[2]/10 + 0x30;

Des_str[8] = DHT11_Data[2] + 0x30;

Des_str[9] = '.';

Des_str[10] = DHT11_Data[3]/10 + 0x30;

Des_str[11] = DHT11_Data[3] + 0x30;

Des_str[12] = 'C';

Des_str[13] = 0;

}

换一批

延伸阅读

[趣科技] 惊喜!新材料令手机碎屏可在24小时内自行修复

惊喜!新材料令手机碎屏可在24小时内自行修复

报道称,在研究人员发明了一种可以自我修复的“弹性”屏幕之后,智能手机屏幕划痕累累以及会被摔裂的日子可能很快就屈指可数了。......

关键字:手机碎屏 手机材料

[新鲜事] 西数收购闪迪变身闪存巨头之后,Rambus也找上门了

西数收购闪迪变身闪存巨头之后,Rambus也找上门了

进军存储市场之后,西数还有个小BOSS需要通关——那就是Rambus,别看他们是一家小公司,但Rambus在存储技术上的专利使得他们收服了三星、美光、东芝、NVIDIA、AMD、Intel等多家半导体巨头,现在西数也不例外,双方达成了5年期......

关键字:西数 Rambus 闪存

[新鲜事] Intel 跟特朗普服软!美国本土投资70亿美元

Intel 跟特朗普服软!美国本土投资70亿美元

最近很多美国的科技大佬对特朗普很不爽,但现在Intel已经“服软”了,配合这位美国总统的新政还是当务之急。......

关键字:Intel 特朗普

[猎聘集] 为什么在中国电子工程师的发展明显不如软件工程师方向?

为什么在中国电子工程师的发展明显不如软件工程师方向?

做了9年硬件电路设计,5年智能手机,4年医疗器械,看到这个问题,心情很复杂,自己喜爱的工作居然无奈的发展到了这个窘境。......

关键字:电子工程师 软件工程师

[新鲜事] 苹果拼了!开卖廉价iPhone

苹果拼了!开卖廉价iPhone

之前有媒体曝光了廉价iPhone的消息,其实就是苹果准备重新上架iPhone 6,并且只有32GB金色一个版本,不过命名可能会简单暴力的直接叫做“iPhone”。......

关键字:iPhone 6 苹果

[猎聘集] 库克面试应聘者:我就静静地看着你不说话

库克面试应聘者:我就静静地看着你不说话

作为苹果公司的 CEO,蒂姆·库克在面试应聘者的时候,他会做出什么样的举动呢?根据前苹果和谷歌员工 Kim Scott 回忆,在面试的过程中,库克是相对比较沉默的,这种沉默的力量会让面试者倍感压力。......

关键字:库克 苹果
条评论

我 要 评 论

网友评论

大家都爱看

  • 兆易创新研发14nm嵌入式异构AI芯片

    昨日,兆易创新发表公告,重申了收购上海思立微的目的。兆易创新表示,这次产业并购,旨在整合境内优质的芯片设计领域资产,获取智能人机交互领域的核心技术,拓展并丰富公司产品线,在整体上形…

    2018-01-31
  • 华为的优势,就是自家的各种自研芯片

    CPU即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    2017-08-16
  • 你不知道Ryzen芯片有多火?来看看AMD的股票吧

    据外媒报道,美银美林认为,AMD最新的Ryzen芯片可能会引发一波销售浪潮,进而推动该股继续上涨。它认为AMD股票还有40%以上的上涨空间。

    2017-08-16
  • 国产芯片:厚积薄发,强势崛起

    关于国产芯片,是近几年才有崛起的势头,可是在几年之前,国产芯片还处于“沉睡”的状态,尤其是手机芯片,几乎大部分都依赖进口,而且国外的市场几乎被高通和联发科所垄断,也就展讯还在市场边…

    2017-08-16
  • 为了数据安全 大疆无人机增加隐私飞行功能

    大疆周一表示,在美国陆军因为“网络缺陷”而要求其成员停用大疆无人机后,这家中国无人机制造商将加强无人机的数据安全性。 大疆政策和法务副总裁布伦丹&middot…

    2017-08-15