溫溼度監控系統項目總結
系統構想:
DHT11採集數據,通過485總線(初期用串口)傳遞給上位機,上位機可控制其參數設置,控制其報警狀態,讀取當前溫溼度值,讀取當前下位機參數設置情況;
下位機實現思想:
基礎功能:
首先實現與上線位機通信的必備代碼:即串口的通斷,通信協議(包括協議解析和協議發送);
然後LCD1602的顯示,DHT11的數據採集,實時時鐘配置和時間獲取,數據通過IIC存儲在EEprom中;
最後加上一些表示報警狀態的外設;
基礎功能實現後:可以加上uC/OS-II操作系統,將自己的項目移到uC/OS-II操作系統上,創建三個任務:溫溼度採集及報警任務,數據傳輸協議任務,LCD顯示任務。
具體實現:
串口:首先要配置好串口,中斷,配合定時器,每次定時器間隔發送幀的數據;
通信協議:
首先確定通信格式:四字節的起始位,一個字節的數據長度,一個字節的地址,一個字節的指令,n字節的數據位,一個字節的校驗和,四個字節的結束標誌位;
然後構建協議發送,協議解析,ACK消息確認及反饋;
最後就是下位機響應協議的實現;
LCD1602:
LCD1602首先要配置I/O口,通過參考時序圖和芯片手冊,寫LCD1602的驅動;使能LCD1602之後,通過調用驅動函數,實現清屏,顯示字符,顯示字符串的功能;
DHT11:(沒有實際操作,不懂具體過程)
通過配置相應的端口,參考芯片手冊,書寫驅動,調用驅動,實現溫溼度的採集;
時鐘:通過配置時鐘,啓用時鐘;(沒有操作過,不知道具體過程)
IIC:(沒有實際操作,不知道怎麼配置)
EEProm :(沒有具體配置,還是不太懂);
報警外設:led 和 蜂鳴器;
RS485總線(類似於串口,但是沒有操作);
uC/OS :可以將自己的項目移植到uC/OS上,但是將uC/OS移植到自己的項目中沒有成功,對uC/OS的利用僅僅體現在可以將自己的任務加進去,但是對uC/OS沒有深刻的理解;
革命尚未成功,同志仍需努力;