lcd1602屏幕显示温度和湿度,
用温度湿度来控制继电器运行(图片显示为湿度大于35%控制继电器闭合),
继电器可以控制灯或风扇等负载
#include "reg52.h"
#include "intrins.h"
#define databuffer P0
sbit RS=P1^0;
sbit RW=P1^1;
sbit EN=P1^4;
sbit led1=P3^7;
sbit DHT=P3^3;
sbit FS=P3^4;
char datas[5];
char temp[10];
char hum[11];
sfr AUXR=0x8E;
void UartInit(void) //9600bps@11.0592MHz
{
AUXR=0x01;
SCON=0x40;
TMOD&=0x0F;
TMOD|=0x20;
TH1=0xFD;
TL1=0xFD;
TR1=1;
}
void senddata(char c)
{
SBUF=c;
while(!TI);//当t1=1,表示发送完数据
TI=0;
}
void sendstring(char*str)
{
while(*str!='\0'){
senddata(*str);
str++;
}
}
void Delay1000ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 8;
j = 1;
k = 243;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay30ms() //@11.0592MHz
{
unsigned ch