标题:
51-DHT11实现温湿度的检测显示于Lcd1602
[打印本页]
作者:
hblgq
时间:
2018-4-19 11:39
标题:
51-DHT11实现温湿度的检测显示于Lcd1602
******************************************
名称:室内环境监测系统
功能:利用DHT11进行温湿度的测量,并实时显示在LCD1602
连接方式:
DHT11: VDD 供电 3-5.5VDC
DATA 串行数据,单总线----P1^0口
NC 空脚,请悬空
GND 接地,电源负极
LCD: 1、GND-电源地
2、VCC-+5V
3、V0-对比度调整(接地或者正极)
4、RS-寄存器选择,高电平时候选择数据寄存器,低电平时选择指令寄存器(第四脚)-----P2^0
5、RW-读写信号线,高电平时进行读操作,低电平时进行写操作(第五脚)----P2^1
6、E/EN-使能端,高电平时读取信息,负跳变时执行指令(第六脚)----P2^2
7-14、D0-D7-数据位-P0口八位
15、背光正极
16、背光负极
Date: 2016-11-7
********************************************/
# include <reg51.h>
# include <intrins.h>
#include "define.h"
#include "delay.h"
#include "lcd.h"
#include "cl.h"
uchar RH,TH;
/*****主函数*****/
void main()
{
/*初始化LCD*/
lcd_init();
while(1)
{
/*接收数据*/
receive();
/*LCD的第一行显示(湿度) */
display(0x00,'H');
display(0x01,':');
display(0x02,RH/10+0x30); /*0x30表示带字库的LCD1602中0x30的位置放有数字0
RH/10+0x30即表示湿度的十位数字在字库RH/10+0x30的位置处放着*/
display(0x03,RH%10+0x30);
display(0X04,'%');
/*LCD的第二行显示(温度)*/
display(0x40,'T');
display(0x41,':');
display(0x42,TH/10+0x30);
display(0x43,TH%10+0x30);
/*温湿度单位转换*/
display(0x44,0xdf);
display(0x45,0x43);
}
}
作者:
hblgq
时间:
2018-4-19 11:40
非常好的资源,比买DHT11送的例子还易学习使用。 测试后有一个发现,要求的11.0592MHz的晶振用这个例子在12MHz下依然可用,正在了解作者是如何克服了DHT11严格的时序要求
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1