陳卓 周瑞乾

摘要:隨著電子信息技術的飛速發展,單片機技術已日趨成熟,并廣泛應用于人們的日常生活和學術科研當中。本文主要介紹了一種基于STC89C52單片機的溫度報警系統,闡述了系統的設計框架和功能,重點對各主要模塊的軟件設計思想進行了描述和分析,并給出了部分源程序。
關鍵詞:單片機 溫度控制 STC89C52
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2016)06-0189-02
1 系統的設計框架
本系統主選取STC89C52單片機作為中心控制單元,選取DS18B20溫度傳感器作為溫度測量單元,并以按鍵為輸入裝置,以蜂鳴器和報警燈為報警裝置,用LED數碼管來實現溫度顯示[1]。單片機作為“大腦”實時與溫度傳感器DS18B20保持著通信狀態,不斷從DS18B20獲取新檢測到的數據,并在內部進行分析處理。接通電源以后LED數碼管會將處理后的數據以BCD碼的形式進行顯示和刷新。當檢測到的實時溫度超出提前手動進行設置的報警值上下限的時候,啟動蜂鳴器鳴叫,同時報警燈接通間斷性閃爍紅光,溫度檢測精確到小數點后一位有效數字。如果遇到突發性斷電,數據不會損壞,而會自動儲存與單片機內部EEPROM中。如果長時間處于設置界面而不進行相關鍵入操作,系統會在15秒之后自動退出設置狀態,恢復正常測溫狀態。
2 主要模塊的功能分析
2.1 主控制器模塊
采用STC89C52單片機作為整個系統的核心,即主控單元。通過各元件反饋的信息,及時進行處理并將結果再傳送到各端口,實現既定的控制功能,以滿足所需性能指標。整個系統的功能是通過各個元件獨立正常運行來完成的,其中最關鍵和最復雜的部分要數如何進行溫度的自動顯示并報警,這就需要依靠一個強大的微處理器。STC89C52芯片是一種低功耗、高性能的CMOS8位微處理器,它繼承51系列單片機內核,并在其基礎上有了很大改進。具有功能強大的位操作指令,編程自由度高[2]。I/O口均可按位尋址,內部程序存儲空間擴展到8K,并帶有4K字節EEPROM存儲空間。縮小了元件體積,降低了成本,而且價格非常經濟,是本設計的理想選擇。
2.2 溫度測量與顯示模塊
采用美國DALLAS半導體公司的生產的 DS18B20 進行溫度測量。DS18B20 相比于老式溫度傳感器,最大特色是采用了單總線的數據傳輸,即僅僅用一根線就可以實現與單片機芯片數據的雙向通信[3]。它不同于傳統熱敏電阻,可直接在檢測端將溫度轉化為成串行數字信號,省去傳統的測溫方法的很多外圍電路。而且可將多個 DS18B20并聯至多根線上,實現多點組網功能。且該芯片的性能穩定,元件線性較好。它的測溫范圍寬,最低至-55℃,最高至+125V℃。在-10℃~+85℃之間精度可達±0.5℃,其可編程分辨率為9~12位,測溫精度極高。當分辨率設定為9位時,甚至可以在94ms內實現溫度信號到數字信號的轉化過程,體現了高速高效性。
采用4位共陽極LED數碼管顯示溫度值,輸出信號使用三極管8550進行放大,作為數碼管的驅動電路。當位選打開時,將對應碼段的數值送入,使對應的數碼管接通,而后以BCD碼形式將溫度顯示出來并刷新。
2.3 報警裝置模塊
采用蜂鳴器與報警燈結合的方式,進行溫度報警。在讀取DS18B20測量的實時溫度值以后,將此數值和預設的報警溫度門限進行對比判斷。如果當前溫度小于報警溫度的下限值或大于報警溫度的上限值,則啟動蜂鳴器和報警燈進行報警。
3 系統的軟件設計
系統總流程圖如圖1所示,本溫度報警系統是通過主程序對三大模塊程序的調用來實現的,分為溫度信號處理程序、數碼管顯示程序和按鍵設置報警門限程序等。每個模塊獨立完成各自的任務。溫度信號處理程序是將DS18B20測量的溫度數據送入STC89C52處理,進行判斷比較。數碼管顯示程序是把處理以后的結果通過LED數碼管以十進制形式顯示。按鍵設定報警門限程序是通過手動按鍵輸入,對報警溫度的上下限進行設置,范圍可精確到0.1℃。
4 結語
本文從系統的整體結構入手,闡述了基于STC89C52單片機的溫度報警系統的工作原理。進而將重點放在主控制器模塊、溫度測量與顯示模塊以及報警裝置模塊三大主要模塊的分析和設計上。最后提出了系統的軟件設計的要點,并給出了部分模塊的源程序,為后續溫度報警系統的硬件實現和調試打下了基礎。
參考文獻
[1]呂俊亞.一種基于單片機的溫度控制系統設計與實現[J].計算機仿真,2012(7):242-245.
[2]江世明.單片機原理及應用[M].上海:上海交通大學出版社,2013(12).
[3]劉青.DS18B20在糧倉恒溫監控系統中的應用[J].自動化應用,2013(7):70-71.