一、設置溫濕度上下限值
在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://m.9919977.com