一、设置温湿度上下限值
在DHT21存储器内有设置温湿度上下限值的地址空间。而DHT21的存储器分为2部分:静态RAM和非易失性的E²PROM。在静态RAM内,第0和第1字节用于存放16bit的温度值,紧接其后的第2字节用于存放温度上限值(高温限TH),第3字节用于存放温度下限值(低温限TL)。同样,第4和第5字节用于存放16bit的湿度转换值,第6字节存放上限湿度值(高湿限RH),第7字节用于存放下限湿度值(低湿限RL)。可以在系统安装和工作前,用写RAM命令4EH将上下限温湿度值写入对应的字节单元。但是,当静态RAM掉电后信息就丢失了,因此有必要再通过拷贝RAM命令48H将第2和第3字节单元的温度报警限值第6字节单元的湿度报警限值拷到E²PROM中。主程序只要在初始化部分使用重调E²PROM命令B8H,就可以将E²PROM中的温度报警限值重新拷贝到静态RAM中。
二、液晶显示模块
这部分程序主要完成的功能是循环显示各点上的温湿度值,主要分5个步骤:
1)定义LCD1602管脚,包括RS,R/W,E,D0~D7。这里定义是指这些管脚分别接在单片机哪些I/O口上。本设计中定义如下:
sbit E=P5.2;
sbit RS=P5.0;
sbit RW=P5.1;
sbit D0~D7=P4.0~P4.7;
2)显示初始化,在这一步进行初始化及设置显示模式等操作,包括以下步骤:设置显示方式→延时→清理显示缓存→设置显示模式.
3)设置显示地址,这部分操作。
4)中断控制程序:实现循环显示功能,且每次显示数据保持2秒。
5)写显示字符的数据。其流程图如图21所示。http://www.zhenghang88.com