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