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