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