华北水利水电大学毕业设计
通讯时间大约在4ms。数据分为整数部分和小数部分,当前小数部分读数为0,用于之后扩展。具体的操作流程如下:
DHT11数字温湿度传感器一次完整的数据传输为40位,先输出高位。
数据格式为:8位湿度整数数据+8位湿度小数数据 +8位温度整数数据+8位温度小数数据+8位校验。数据传送正确时,“8位湿度整数数据”所得结果的最后8位等于校验和数据。
用户MCU发送一次开始信号(低电平)后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束(拉高)后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。DHT11复位时序如图2-5所示:
图2-6 DHT11复位时序
总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,本次设计的程序中拉低20ms.保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 本次设计的程序中延时40us,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可。由于单片机的上拉能力不足,容易产生很大的寄生电容从而导致RC充放电,容易使数据出错,因此总线由4.7K上拉电阻拉高。DHT11开始发送数据过程如图2-6所示:
图2-7 数据传输
9
华北水利水电大学毕业设计
数字?0?信号表示方法如图2-7所示:
图2-8 数字0信号表示方法
数字?0?表示方法为,DHT11先把总线拉低12-14us然后拉高,高电平保持时间在26-28us范围内,则此时为?0?电平。
数字?1?信号表示方法如图2-8所示:
图2-9 数据?1?信号表示方法
数字?1?表示方法为,DHT11先把总线拉低12-14us然后拉高,高电平保持时间在
116-118us范围内,则此时为?1?电平。本次设计的程序是在高电平延时30us之后读取,如果还是低电平,则输出?0?,如果是高电平,则输出?1?。
2.3.2 传感器电路
传感器模块对整个电路进行信号采集和初步处理,DHT11在3-5.5V电压下可以正常工作。在DHT11传感器上电后,为了越过不稳定状态需要等待一秒,在此期间不发送任何指令。DHT11和微处理器之间的通讯和同步通过DATA实现,DATA和单片机的P2.0口相连,使用4.7K上拉电阻,防止干扰增加稳定性。采用单总线数据格式,接口简单,无需另外校准。单次的通讯时间约为4ms。分辨率为8bit,完全能够满足日常环境温湿度的检测要求。由于湿度的监测受周围温度变化影响很大,气体的相对湿度,在很大程度上也依赖于温度。所以应该尽量在相对稳定的环境中检测湿度,在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。为降低热传导,DHT11与印刷电路板其它部分的铜镀层应尽可能最小,
10
华北水利水电大学毕业设计
并在两者之间留出一道缝隙。传感器电路如图2-9所示:
图2-10 DHT11传感器电路
2.4 液晶显示部分
2.4.1 1602字符型液晶显示屏 简介
本系统采用1602字符型液晶显示屏,字符型液晶显示模块可专门用于数字、字母、符号等点阵,是一种点阵LCD。目前常用的有16*1、16*2、20*2和40*2行等模块。通常有14或16条引脚线,还有一条背光电源线VCC和一条地线,和14脚的LCD的控制原理一样。在单片机系统中常用液晶显示器作为显示元件。1602型LCD有D0-D7一共8位据线总线和R/W/RS/EN三个控制端口,可以显示2行共16个字符。工作电压为5V,并且具有背光功能和字符对比度调节。其实物如图2-10所示;
图2-11 1602字符型液晶显示器实物图 1602LCD主要技术参数:
11
华北水利水电大学毕业设计
显示容量:16×2个字符
芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 1602LCD引脚功能如图2-11所示:
图2-12 1602字符型液晶显示器引脚功能
1602LCD的引脚定义如下表:
12
华北水利水电大学毕业设计
表2-4 字符型LCD引脚定义表
2.4.2 1602LCD
电路
本次设计的显示部分采用1602液晶显示器,可以显示预设最佳相对湿度和室内实时的相对湿度。RS脚和E脚分别和单片机的P1.0和P1.1相连,D0-D7口和单片机的P0口相连,P0口作为一列8位漏极开路型双向I/O口,常用作地址/数据总线复用口。内部没有上拉电阻,使用时需添加外部上拉电阻。在用作输出口时,每脚可吸收8TTL门电流,可以驱动逻辑门电路,当P0口的管脚写1时,可以作为高阻抗输入端使用。当访问程序存储器或者外部数据存储器时,可以作为数据/地址的第八位,在访问期间内部上拉电阻激活。在用FLASH编程时,P0口可以作为原码输入口接受指令字节,在用
13