基于51单片机的DHT11湿度1602显示c程序.doc

上传人:b****3 文档编号:2590232 上传时间:2022-11-02 格式:DOC 页数:4 大小:24KB
下载 相关 举报
基于51单片机的DHT11湿度1602显示c程序.doc_第1页
第1页 / 共4页
基于51单片机的DHT11湿度1602显示c程序.doc_第2页
第2页 / 共4页
基于51单片机的DHT11湿度1602显示c程序.doc_第3页
第3页 / 共4页
基于51单片机的DHT11湿度1602显示c程序.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机的DHT11湿度1602显示c程序.doc

《基于51单片机的DHT11湿度1602显示c程序.doc》由会员分享,可在线阅读,更多相关《基于51单片机的DHT11湿度1602显示c程序.doc(4页珍藏版)》请在冰豆网上搜索。

基于51单片机的DHT11湿度1602显示c程序.doc

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitlcden=P2^7;

sbitlcdrw=P2^5;

sbitlcdrs=P2^6;

sbitDHT11_IO=P3^7;

uintx,y,t;

ucharcodetable[]="0123456789";

voidDelay1()//延时10us

{

uchari;

i--;

i--;

i--;

i--;

i--;

i--;

}

voidDelay2(ucharms)

{//延时子程序

uchari;

while(ms--)

{

for(i=0;i<250;i++);

}

}

voidmDelay(uchardelay)

{

uchari;

for(;delay>0;delay--)

{

for(i=123;i>0;i--);

}

}

voiddelay(uintz)

{

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidwrite_com(ucharcom)

{

lcdrs=0;

lcdrw=0;

P0=com;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

voidinit()

{

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80);

}

voidwrite_data(uchardat)

{

lcdrs=1;

lcdrw=0;

P0=dat;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

voidstart(void)//开始信号

{

DHT11_IO=1;

Delay1();

DHT11_IO=0;

Delay2(20);//>18ms

DHT11_IO=1;

Delay1();//20-40us

Delay1();

Delay1();

Delay1();

Delay1();

}

ucharreceive_byte(void)//接收一个字节

{

uchari,temp,count,data_byte;

for(i=0;i<8;i++)

{

while(!

DHT11_IO);//等待50us低电平结束

temp=0;

Delay1();Delay1();Delay1();Delay1();

if(DHT11_IO==1)temp=1;

while(DHT11_IO);

data_byte<<=1;

data_byte|=temp;

}

returndata_byte;

}

voidreceive()//接收数据

{

ucharcheck,num_check,HZ,HX,WZ,WX;

start();//开始信号

DHT11_IO=1;

if(!

DHT11_IO)//读取DHT11响应信号

{

while(!

DHT11_IO);//DHT11高电平80us是否结束

while(DHT11_IO);

HZ=receive_byte();

HX=receive_byte();

WZ=receive_byte();

WX=receive_byte();

check=receive_byte();

DHT11_IO=0;//拉低延时50us

DHT11_IO=1;

num_check=HZ+HX+WZ+WX;

if(num_check=check)

{

check=num_check;

}

}

write_com(0x80);

write_data(table[HZ/10]);

write_data(table[HZ%10]);

write_data('.');

write_data(table[HX/10]);

write_data(table[HX%10]);

write_data('R');

write_data('H');

write_data('%');

// write_com(0x80+0x40);

// write_data(table[WZ/10]);

// write_data(table[WZ%10]);

// write_data('.');

// write_data(table[WX/10]);

// write_data(table[WX%10]);

//write_data('T');

}

voidmain()

{

init();

while

(1)

{

receive();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1