久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
為DHT11+LCD1602數字溫濕度測量儀添加溫度矯正
[打印本頁]
作者:
加點福靈劑吧
時間:
2025-1-6 16:39
標題:
為DHT11+LCD1602數字溫濕度測量儀添加溫度矯正
現有DHT11+LCD1602的溫濕度測量儀代碼,如下所示
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit Data=P1^6;
uchar rec_dat[9];
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcden=P2^2;
void delay(uint n)
{ uint x,y;
for(x=n;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_dat(uchar dat)
{
lcdrs=1;
P0=dat;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init_lcd()
{
lcden=0;
lcdrw=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void DHT11_delay_us(uchar n)
{
while(--n);
}
void DHT11_delay_ms(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void DHT11_start()
{
Data=1;
DHT11_delay_us(2);
Data=0;
DHT11_delay_ms(30);
Data=1;
DHT11_delay_us(30);
}
uchar DHT11_rec_byte()
{
uchar i,dat=0;
for(i=0;i<8;i++)
{
while(!Data);
DHT11_delay_us(8);
dat<<=1;
if(Data==1)
dat+=1;
while(Data);
}
return dat;
}
void DHT11_receive()
{
uchar R_H,R_L,T_H,T_L,RH,RL,TH,TL,revise;
DHT11_start();
if(Data==0)
{
while(Data==0);
DHT11_delay_us(40);
R_H=DHT11_rec_byte();
R_L=DHT11_rec_byte();
T_H=DHT11_rec_byte();
T_L=DHT11_rec_byte();
revise=DHT11_rec_byte();
DHT11_delay_us(25);
if((R_H+R_L+T_H+T_L)==revise)
{
RH=R_H;
RL=R_L;
TH=T_H;
TL=T_L;
}
rec_dat[0]='0'+(RH/10);
rec_dat[1]='0'+(RH%10);
rec_dat[2]='%';
rec_dat[3]=' ';
rec_dat[4]=' ';
rec_dat[5]='0'+(TH/10);
rec_dat[6]='0'+(TH%10);
}
}
void main()
{
uchar i;
init_lcd();
while(1)
{
DHT11_delay_ms(100);
DHT11_receive();
write_com(0x80);
for(i=0;i<9;i++)
write_dat(rec_dat[ i]); write_dat(rec_dat[7]); write_dat(0xdf); write_dat('C'); }}
本文計劃對源代碼進行改進,實現兩個功能,一是修改溫濕度值的顯示位數,使其能夠顯示溫濕度值小數點后一位,二是實現對溫濕度的手動校正。
修改后的代碼如下所示。
#include<regx52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit Data=P1^6;
uchar rec_dat[9];
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcden=P2^2;
sbit k1=P2^3;
sbit k2=P2^4;
sbit k3=P2^5;
sbit k4=P2^6;
void delay(uint n)
{ uint x,y;
for(x=n;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_dat(uchar dat)
{
lcdrs=1;
P0=dat;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init_lcd()
{
lcden=0;
lcdrw=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void DHT11_delay_us(uchar n)
{
while(--n);
}
void DHT11_delay_ms(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void DHT11_start()
{
Data=1;
DHT11_delay_us(2);
Data=0;
DHT11_delay_ms(30);
Data=1;
DHT11_delay_us(30);
}
uchar DHT11_rec_byte()
{
uchar i,dat=0;
for(i=0;i<8;i++)
{
while(!Data);
DHT11_delay_us(8);
dat<<=1;
if(Data==1)
dat+=1;
while(Data);
}
return dat;
}
uchar R_H,R_L,T_H,T_L,RH,RL,TH,TL,revise;
int flag1=0,flag2=0;
void DHT11_receive()
{
DHT11_start();
if(Data==0)
{
while(Data==0);
DHT11_delay_us(40);
R_H=DHT11_rec_byte();
R_L=DHT11_rec_byte();
T_H=DHT11_rec_byte();
T_L=DHT11_rec_byte();
revise=DHT11_rec_byte();
DHT11_delay_us(25);
if((R_H+R_L+T_H+T_L)==revise)
{
RH=R_H;
RL=R_L;
TH=T_H;
TL=T_L;
}
rec_dat[0]='0'+((RH*10+flag1)/100);
rec_dat[1]='0'+((RH*10+flag1)%100/10);
rec_dat[2]=0x2e;
rec_dat[3]=(RH*10+flag1)%10+'0';
rec_dat[4]='%';
rec_dat[5]=' ';
rec_dat[6]='0'+((TH*10+flag2)/100);
rec_dat[7]='0'+((TH*10+flag2)%100/10);
rec_dat[8]=0x2e;
rec_dat[9]=(TH*10+flag2)%10+'0';
}
}
void main()
{
uchar i;
init_lcd();
while(1)
{
if(k1==0)
{
DHT11_delay_ms(30);
flag1=flag1+1;
}
if(k2==0)
{
DHT11_delay_ms(30);
flag1=flag1-1;
}
if(k3==0)
{
DHT11_delay_ms(30);
flag2=flag2+1;
}
if(k4==0)
{
DHT11_delay_ms(30);
flag2=flag2-1;
}
DHT11_delay_ms(100);
DHT11_receive();
write_com(0x80);
for(i=0;i<=9;i++)
write_dat(rec_dat[ i]);
write_dat(0xdf);
write_dat('C');
}
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲成人av
|
偷拍自拍网站
|
天天操夜夜操
|
99久久久无码国产精品
|
午夜影院在线观看版
|
午夜免费福利影院
|
国产午夜精品久久久久
|
欧美视频在线播放
|
成人免费精品视频
|
色婷婷综合久久久久中文一区二区
|
h片在线免费观看
|
特黄特色大片免费视频观看
|
夜夜夜操
|
欧美视频免费在线观看
|
在线观看午夜视频
|
日韩国产精品一区二区三区
|
欧美久久久久
|
日韩在线视频免费观看
|
国产日韩一区
|
欧美大片一区二区
|
91综合网
|
亚洲高清视频一区
|
日韩欧美亚洲一区
|
免费看国产一级特黄aaaa大片
|
亚洲视频免费在线
|
天堂成人av
|
欧美一级淫片免费视频黄
|
2018天天干天天操
|
美女久久
|
夜夜草天天草
|
国产伦精品一区二区三区照片91
|
五月槐花香
|
av在线电影网站
|
欧美激情在线精品一区二区三区
|
91久久国产综合久久
|
国产在线精品一区二区
|
www.一区二区
|
91亚洲一区
|
久久国产99
|
国产精品久久久久久久久久久久久久
|
日本一区二区三区在线观看
|