全天分段熱水智能控制器的設計與實現(xiàn)
主程序流程圖如圖5所示,初始化主要是各I/O口、各寄存器、定時器的初始化,上電自檢,開定時器和定時中斷允許,顯示LOGO,讀時鐘以及當前溫度并顯示等。然后判斷標志位F是否等于1,若F=1,說明加熱鍵按下,則CPU直接查詢溫度判斷循環(huán)泵的啟動或停止,當實際溫度小于設置溫度3度時,水泵啟動且LCD顯示對應的RUN,當實際溫度大于設置溫度時,水泵停止工作且LCD顯示對應的STOP;若F=0,說明加熱鍵沒按下,則CPU先進行時間段判斷,再進行溫度判斷,當時間在設置的三段范圍內(nèi)且實際溫度小于設置溫度3度時,水泵啟動,否則水泵停止工作。
設定按鍵外部中斷為高優(yōu)先級,使主程序能實時響應按鍵處理,進行相應的操作。若長按設置鍵,則進入設置環(huán)節(jié),否則有按鍵按下時則背光亮5秒鐘,便于用戶讀取時間和溫度,然后自動熄滅。鍵處理子程序是本設計的重點和難點。其流程圖如圖6所示。本文引用地址:http://www.ex-cimer.com/article/160623.htm
單片機與DS18B20之間數(shù)據(jù)交換采用單總線,由于只有一根線通信,所以必須采用嚴格的主從結構,當主機呼叫從機時,從機才能應答,主機訪問單線期間必須嚴格遵循單線命令的序列,如果命令序列混亂,單線器件不會響應主機。
單片機與時鐘芯片PCF8563及外部存儲器之間通信采用I2C總線,I2C總線是由數(shù)據(jù)線SDA和時鐘SCL構成的串行總線,可發(fā)送和接受數(shù)據(jù),最高傳送速率100 kbps。各種被控制電路均并聯(lián)在這條總線上,但每個電路和模塊都有唯一的地址。本設計中的PCF8563和AT24C02B雖然掛在同一條總線上,其地址分別為0xa2和0xa0,彼此獨立,互不相關。這點在編程時必須注意,很容易出錯。I2C總線的優(yōu)點是簡單和有效。由于接口直接在組件之上,因此,I2C總線占用的空間非常小,減少了電路板的空間和器件引腳的數(shù)量,降低了成本。
系統(tǒng)采用單片機C語言編寫,開發(fā)環(huán)境是Microchip的MPIAB IDE V8.50,在線調試及下載工具是ICD3。
4 結束語
文中從硬件和軟件的角度出發(fā),設計了一套基于PIC16F72單片機的溫度智能控制系統(tǒng)。與傳統(tǒng)的溫控系統(tǒng)相比,本系統(tǒng)大大地提高了資源利用率,且元器件選擇頗具考究,有很大創(chuàng)新,硬件結構簡單、體積小巧,成本低廉、界面直觀、安全可靠。并且在設計時考慮到以后擴展系統(tǒng)工程的需要,單片機留出了一定的控制引腳以便于外接其他功能模塊。該控制器已經(jīng)成功運用在小型即熱式電熱水器中。
評論