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