/**************************************************** * * 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=P2^0; //��������Ϊ����� #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