- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51单片机的DHT11湿度1602显示c程序
#includereg52.h
#define uint unsigned int
#define uchar unsigned char
sbit lcden=P2^7;
sbit lcdrw=P2^5;
sbit lcdrs=P2^6;
sbit DHT11_IO=P3^7;
uint x,y,t;
uchar code table[]=0123456789;
void Delay1()//延时10us
{
uchar i;
i--;
i--;
i--;
i--;
i--;
i--;
}
void Delay2(uchar ms)
{ // 延时子程序
uchar i ;
while(ms--)
{
for(i = 0 ; i250;i++) ;
}
}
void mDelay(uchar delay)
{
uchar i;
for(;delay0;delay--)
{
for(i=123;i0;i--);
}
}
void delay(uint z)
{
for(x=z;x0;x--)
for(y=110;y0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
lcdrw=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
}
void write_data(uchar dat)
{
lcdrs=1;
lcdrw=0;
P0=dat;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void start(void)//开始信号
{
DHT11_IO=1;
Delay1();
DHT11_IO=0;
Delay2(20);//18ms
DHT11_IO=1;
Delay1();//20-40us
Delay1();
Delay1();
Delay1();
Delay1();
}
uchar receive_byte(void)//接收一个字节
{
uchar i,temp,count,data_byte;
for(i=0;i8;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;
}
return data_byte;
}
void receive()//接收数据
{
uchar check,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(.);
您可能关注的文档
- 分布式计算原理及应用第四章部分答案.doc
- 前沿文献阅读Recent Advancement of Nondestructive Inspection Technology.docx
- 英语写作专用,修正版.doc
- 2013年12月 翻译 新题型.doc
- 安卓相关4万字符英文翻译.docx
- 局解第四章 盆部与会阴复习题.doc
- 512分字节加地址读法.doc
- 常见奖励翻译.doc
- 英语替换词2.doc
- 黑龙江大学跨文化考试考点.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)