第一部分:系統(tǒng)概述
本文主要介紹以STC89C51RC單片機為核心的一個具有紅外遙控、溫度檢測、報警和萬年歷功能的紅外遙控溫度報警系統(tǒng)。系統(tǒng)的硬件部分包括最小系統(tǒng)板,數(shù)據(jù)采集、人機交互界面三大部分。最小系統(tǒng)部分主要是擴展了發(fā)聲模塊和時鐘模塊,(DS1302)數(shù)據(jù)采集部分由溫度傳感器(18B20)和紅外接收模塊(HS0038)。人機界面部分為紅外遙控器輸入 ,128 64點陣式液晶顯示,可以直觀的顯示時間和溫度,使用方便。軟件部分應用單片機C語言實現(xiàn)了本設計的全部控制功能,包括基本的溫度檢測紅外接收功能,和發(fā)揮部分的顯示萬年歷的功能,可以設置日期和重新設定允許溫度上下限制,具有超出允許溫度報警功能,由于系統(tǒng)資源豐富,還可以方便的擴展其應用
第二部分:具體實現(xiàn)方案
硬件組成:
1)硬件結構框圖如下:
2)各部分硬件電路實現(xiàn)
基于AT89S52的主控電路:
主控電路以STC89C51RC為核心;單片機使用11.0592MHz晶振, P0口外接上拉電阻,增大了帶負載能力;P3.2接紅外接收頭,輸入控制信號;P3.3接溫度傳感器,輸入溫度信號;P3.7接蜂鳴器,輸出作報警信號。P0、P2.0 - P2.4接128 64液晶。
紅外信號處理模塊電路:
HS0038紅外接收器,接收紅外遙控器發(fā)射的信號,輸出DATA口和單片機的外部中斷0P3.2口相連。當有紅外信號時,觸發(fā)中斷查詢中斷時間,并和紅外起始碼,“0”、“1”、終止碼的時間進行比較。從而檢測紅外的操作碼。
溫度檢測模塊:
DS18B20采用單總線傳輸模式,通過P3.3口實現(xiàn)數(shù)據(jù)的雙向傳輸。
時鐘模塊:
采用DS1302時鐘,更方便的實現(xiàn)萬年歷功能。
第三部分:軟件組成
主程序流程圖:
軟件說明:
由于涉及到大量數(shù)據(jù)的運算,程序不宜采用匯編語言,C語言大大縮短了開發(fā)時間,且程序可讀性非常好。
第四部分:使用操作說明
本系統(tǒng)利用紅外遙控器對系統(tǒng)進行控制,分為數(shù)字鍵:0-9,模式鍵,確定鍵,光標上下左右移鍵。
本系統(tǒng)開機顯示競賽題目(偉納杯電子設計大賽),后進入主界面顯示日期時間、溫度允許范圍以及現(xiàn)場溫度。
數(shù)字鍵:用于輸入溫度和日期的數(shù)值;
模式鍵:切換到設置界面。
確認鍵:用于確認設置并且還到主界面顯示。
上下左右鍵:用于上下左右移動光標。
運行中如果系統(tǒng)采集的現(xiàn)場溫度超出了用戶設置的范圍蜂鳴器即時報警同時降溫設備工作。
結束語
本系統(tǒng)采用STC89S51RC單片機實現(xiàn)題目要求的各種功能,在設計的過程中我們遇到了很多問題,如單片機有時不能正常工作,但我們經(jīng)過反復的調(diào)試 ,最終使系統(tǒng)成功的得以實現(xiàn)。