12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /****************************************************
- *
- * DHT11温湿度传感器驱动程序
- * 程序作者: 小浩电子科技
- * 编写时间: 2015/10/12
- * DHT11检测范围:20-90%RH 0-50℃
- * 注意事项:DHT11对温湿度采集小数部分为0
- *
- *****************************************************/
- #ifndef __DHT11_H__
- #define __DHT11_H__
- #include <reg52.h>
- #include "intrins.h"
- sbit DHT11_PIN=P3^2;
- //引脚配置为输出;
- #define DHT11_PIN_OUT() { _nop_(); }
- //引脚配置为输入;
- #define DHT11_PIN_IN() {_nop_(); }
- //拉高数据线;
- #define DHT11_PIN_H() { DHT11_PIN = 1;_nop_(); }
- //拉低数据线;
- #define DHT11_PIN_L() { DHT11_PIN = 0; _nop_(); }
- /****************************************************
- *
- * 函数名: dht11_delay_us
- * 函数功能:us延时函数
- * 函数参数:
- * param1: 延时多少us
- *
- *****************************************************/
- void dht11_delay_us(unsigned int n);
- /****************************************************
- *
- * 函数名 : dht11_read_byte
- * 函数功能 : 读取DHT11传感器一个字节
- * 函数返回值: 成功返回读取值,失败返回100
- *
- *****************************************************/
- unsigned char dht11_read_byte(void);
- /************************************************************************
- *
- * 函数名 : dht11_value
- * 函数功能: 获取温湿度数值
- * 函数参数:
- * param1: 温度值
- * param2: 湿度值
- * param3: 类型(DHT11_STRING or DHT11_UINT8)
- * 返回值: 读取成功返回0,失败返回-1
- * 用法举例:
- * 例一:
- * unsigned char temp , humi;
- * char r_val;
- * r_val = dht11_value(&temp , &humi , DHT11_UINT8);
- *
- * 例二:
- * unsigned char temp[2],humi[2];
- * char r_val;
- * r_val = dht11_value(temp , humi , DHT11_STRING);
- *
- *************************************************************************/
- #define DHT11_STRING 1
- #define DHT11_UINT8 2
- char dht11_value(unsigned char *temp , unsigned char *humi , unsigned char flag);
- #endif
|