1. Establish LCD. H file
# # ifndef __LCD_H_
# define __LCD_H_
# include
# define uchar unsigned char
# define uint unsigned int
# define LCD1602_DATAPINS P0
Sbit LCD1602_E=P2 ^ 7;
Sbit LCD1602_RW=P2 ^ 5;
Sbit LCD1602_RS=P2 ^ 6;
Void Lcd1602_Delay1ms (uint c);
Void LcdWriteCom (uchar com);
Void LcdWriteData uchar (dat);
Void LcdInit ();
# endif
2. Establish LCD.
C function
//# include "LCD. H" contains the build library file
Void Lcd1602_Delay1ms (uint c)//delay function
{
Uchar a, b;
for (; C> 0; C -)
{
For (b=199; b> 0; B -)
{
For (a=1; A> 0; A -);
}
}
}
Void LcdWriteCom (uchar com)
{
LCD1602_E=0;
LCD1602_RS=0;
LCD1602_RW=0;
LCD1602_DATAPINS=com;
Lcd1602_Delay1ms (1);
LCD1602_E=1;
Lcd1602_Delay1ms (5);
LCD1602_E=0;
LCD1602_DATAPINS=com & lt; <4.
Lcd1602_Delay1ms (1);
LCD1602_E=1;
Lcd1602_Delay1ms (5);
LCD1602_E=0;
}
Void LcdWriteData uchar (dat)
{
LCD1602_E=0;
LCD1602_RS=1;
LCD1602_RW=0;
LCD1602_DATAPINS=dat;
Lcd1602_Delay1ms (1);
LCD1602_E=1;
Lcd1602_Delay1ms (5);
LCD1602_E=0;
LCD1602_DATAPINS=dat & lt; <4.
Lcd1602_Delay1ms (1);
LCD1602_E=1;
Lcd1602_Delay1ms (5);
LCD1602_E=0;
}
Void LcdInit initialization ()//
{
LcdWriteCom x32 (0);
LcdWriteCom x28 (0);
X0c LcdWriteCom (0);
LcdWriteCom x06 (0);
LcdWriteCom (0 x01);
LcdWriteCom (0 x80);
}
3. Establish DHT11. H library file
# # ifndef __DHT11_H__
# define __DHT11_H__
# include & lt; Reg51. H>
# include & lt; Intrins. H>
# define uchar unsigned char
# define uint unsigned int
Sbit DHT_DATA=https://bbs.csdn.net/topics/P1 ^ 0;
Bit DHT_Start ();
Bit DHT_ByteRead (unsigned char * dat);
# endif
4. Establish DHT11. C file
# include "DHT11. H"
Void delay_ms (unsigned char x)
{
Unsigned char a;
While (x -)
For (a=0; a<114; +);
}
Void delay_30us (void)
{
Unsigned char a;
For (a=12; A> 0; A -);
}
Void delay_40us (void)
{
Unsigned char a, b;
For (b=3; b> 0; B -)
For (a=4; A> 0; A -);
}
Bit DHT_Start ()
{unsigned char m=0;
DHT_DATA=https://bbs.csdn.net/topics/1;
DHT_DATA=https://bbs.csdn.net/topics/0;
Delay_ms (20);
DHT_DATA=https://bbs.csdn.net/topics/1;
Delay_40us ();
If (DHT_DATA=https://bbs.csdn.net/topics/=1)
return 0;
The else
While ((DHT_DATA=https://bbs.csdn.net/topics/=0) && (m
Delay_40us ();
Delay_40us ();
return 1;
}
Bit DHT_ByteRead (unsigned char * dat)
{unsigned char temp=0;
Unsigned char x, y;
Unsigned char m=0;
Unsigned char n=0;
Unsigned char mask=0 x01;
Unsigned char sum=0;
For (y=0; Y<5; Y++)
{
For (mask=0 x80; The mask!=0; Mask>
=1)
{
While (DHT_DATA=https://bbs.csdn.net/topics/=0&&m <200) m++;
Delay_30us ();
If (DHT_DATA)
Temp |=mask;
The else
Temp&=(~ mask);
While (DHT_DATA=https://bbs.csdn.net/topics/=1&&n <200) n++;
}
* (dat + y)=temp;
temp=0;
}
For (x=0; x<4. X++)
The sum +=* (dat) + x;
If ((sum&===* 0 XFF) + 4) (dat)
return 1;
The else
return 0;
}
5. Establish the main function. The main c files
# include
# include "LCD. H"
# include "DHT11. H"
# define uchar unsigned char
# define uint unsigned int
Sbit beep P1=^ 0;//
Sbit BG=P2 ^ 4;//
P1 sbit K1=^ 1;//
Sbit K2=p ^ 2;//
P1 sbit K3=^ 3;//
Sbit K4=P1 ^ 4;//
Sbit K5=P1 ^ 5;//
//sbit beep=P2 ^ 0;
Uchar code table0 []="H:";
Uchar code table1 []="T:".
Uchar code table2 []="%";
Uchar code table3 []="C".
Uchar code table_1 []="2016-06-03";
Uchar code table_2 []="16:00:00 5";
Uchar DHT [5].
Uchar TMP, I, j, k;
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull