基于Proteus的溫控報警器設(shè)計
下面具體分析各部分電路的設(shè)計原理:
1)單片機最小系統(tǒng)包括AT89C51單片機一塊,時鐘電路(12 MHz晶振)、復(fù)位電路(上電復(fù)位)。
2)溫度采集模塊 包括ADC0808模數(shù)轉(zhuǎn)換器芯片一塊,用可變電阻模擬電壓變化,在實際應(yīng)用中可采用溫度傳感器來替代。通過模數(shù)轉(zhuǎn)換器將采集到電壓信號轉(zhuǎn)換成數(shù)字信號,使用通道0輸入電壓信號,轉(zhuǎn)換后的數(shù)字信號通過P1口輸入到單片機內(nèi)部。
3)顯示電路包括四位共陰LED數(shù)碼顯示管,采用動態(tài)顯示方式,由P0口輸出段碼,P2口的P2.0-P2.3輸出位碼。該部分電路主要用于實時顯示環(huán)境溫度。
4)報警電路包括揚聲器和兩個發(fā)光二極管,揚聲器在溫度超出范圍時發(fā)出聲音報警,發(fā)光二極管隨之發(fā)光報警。兩個發(fā)光二極管分別用于溫度高出范圍和低于范圍時報警,揚聲器也會發(fā)出兩種不同音調(diào)的聲音。
硬件電路在Proteus軟件環(huán)境下完成原理圖的設(shè)計,主要元器件清單如下:四位共陰LED數(shù)碼管7SEG-M PX4-CC-BLUE,模數(shù)轉(zhuǎn)換器ADC08 08,單片機AT89C51,電容CAP,極性電容CAP-ELEC,晶振CRYSTAL,黃色發(fā)光二極管LED-YELLOW,可變電阻POT-HG,電阻RES,排阻RESPACK-8,揚聲器SOUNDER。在環(huán)境溫度小于60度和高于160度時報警。
2 軟件程序設(shè)計
溫控報警器的主要功能由程序控制,本設(shè)計采用C語言完成程序的設(shè)計,在KeilttVision3軟件中完成調(diào)試。程序主要包含主程序、顯示子程序、定時器中斷程序等3部分。
2.1 主程序設(shè)計
主程序完成的主要內(nèi)容有:定時器/計數(shù)器參數(shù)設(shè)置、啟動模數(shù)轉(zhuǎn)換、讀取模數(shù)轉(zhuǎn)換結(jié)果、根據(jù)讀取內(nèi)容判斷是否報警等。主程序流程圖如圖2所示。本文引用地址:http://m.butianyuan.cn/article/170501.htm
2.2 顯示子程序
顯示子程序主要用于顯示溫度,可以直觀的察看溫度。采用動態(tài)顯示方式,P0口輸出段碼,P2口輸出位碼。下面給出部分代碼:
2.3 定時器/計數(shù)器中斷程序
該部分包含兩部分,T0定時器/計數(shù)器中斷主要用于為ADC0808提供時鐘信號,T1定時器/計數(shù)器定時實現(xiàn)不同頻率脈沖信號的輸出,驅(qū)動揚聲器發(fā)聲。該部分代碼不再給出。
3 調(diào)試與運行
在Proteus和Keil中進行相關(guān)的設(shè)置,可以讓兩者進行聯(lián)調(diào),聯(lián)調(diào)可以在同一臺計算機上進行,也可以在不同的計算機之間進行。通過Proteus與Keil的聯(lián)調(diào)可以輕易做到在不使用硬件的前提下直接在仿真平臺上進行實時仿真,對于系統(tǒng)的調(diào)試具有很大意義。
在硬件電路檢查無誤和程序編譯無誤之后,系統(tǒng)即可運行.運行時初始狀態(tài)為顯示器顯示溫度為145,調(diào)可變電阻使電阻值發(fā)生變化,使顯示溫度低于60℃,可以觀察到低發(fā)光二極管發(fā)光,揚聲器報警;繼續(xù)調(diào)可變電阻使顯示溫度高于160℃,可以觀察到高發(fā)光二極管發(fā)光,揚聲器以另外一種頻率聲音報警。如果需要調(diào)整報警溫度范圍,可以通過修改主程序中的溫度上限和下限值來實現(xiàn)。
4 結(jié)束語
文中給出了基于單片機的簡易溫控報警器的設(shè)計過程。在該設(shè)計中采用可變電阻代替溫度傳感器,可添加DS18B20溫度傳感器來檢測實際溫度,利用ADC0808和單片機完成數(shù)據(jù)分析,實時顯示,報警,實現(xiàn)溫度高于上限和低于下限時報警的基本功能,還可通過修改程序改變報警現(xiàn)象。
設(shè)計過程中利用Proteus與Keil軟件的完美結(jié)合,使本設(shè)計的設(shè)計和調(diào)試過程更加方便快捷,提高了設(shè)計的一次成功率,節(jié)約了設(shè)計成本,縮小了設(shè)計周期。該設(shè)計的電路及驅(qū)動程序?qū)ο鄳?yīng)的實際應(yīng)用系統(tǒng)具有一定的借鑒作用。
評論