單片機(jī)的智能溫度預(yù)警系統(tǒng)教學(xué)案例
1.引言
本文引用地址:http://cafeforensic.com/article/201710/365452.htm如果環(huán)境溫度超過或低于限定值,必定對(duì)所處環(huán)境的人和設(shè)備造成影響,甚至給個(gè)人和社會(huì)造成巨大的損失。隨著單片機(jī)技術(shù)的飛速發(fā)展,利用單片機(jī)設(shè)計(jì)溫控系統(tǒng)成為控制技術(shù)發(fā)展的需要。本文提出了一種基于單片機(jī)的溫度預(yù)警系統(tǒng)的設(shè)計(jì)方案,并采用PROTEUS進(jìn)行了仿真。該系統(tǒng)不僅可以高精度的測(cè)量溫度,同時(shí)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)控并做到超溫報(bào)警,有較高的實(shí)用價(jià)值。
2.系統(tǒng)設(shè)計(jì)的總體方案
本設(shè)計(jì)方案總體框圖如圖1所示,它是由單片機(jī)、四路數(shù)據(jù)采集模塊、集成功放模塊、人機(jī)交互界面和系統(tǒng)電源等組成。
本設(shè)計(jì)系統(tǒng)以AT89C52單片機(jī)作為控制核心,數(shù)據(jù)采集部分由溫度傳感器DS18B20組成;人機(jī)交互界面為4&TImes;4矩陣鍵盤輸入和LCD1602液晶顯示,可以方便的輸入數(shù)據(jù)和直觀的顯示。系統(tǒng)電源為+5V電源供電。軟件部分采用C語言進(jìn)行編程,實(shí)現(xiàn)了該設(shè)計(jì)的全部控制功能。該溫度預(yù)警系統(tǒng)的測(cè)量范圍為-55℃~+125℃。當(dāng)檢測(cè)的溫度高于最高或最低溫度設(shè)定值時(shí),實(shí)現(xiàn)報(bào)警功能。
3.電路設(shè)計(jì)
3.1 單片機(jī)
AT89S52單片機(jī)是ATMEL公司推出的高檔型AT89S系列單片機(jī)中的增強(qiáng)型產(chǎn)品。AT89S52是一個(gè)低功耗、高性能CMOS8為單片機(jī),片內(nèi)含8K Bytes ISP的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器。期間采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。
3.2 溫度采集電路
由單片機(jī)獲取非電信號(hào)的溫度信息,必須通過溫度傳感器。傳統(tǒng)的溫度測(cè)量多以熱敏電阻作為溫度傳感器,但是,熱敏電路可靠性較差,測(cè)量溫度精度低,因此使用DS18B20溫度傳感器采集溫度。DS18B20是美國(guó)達(dá)拉斯(Dallas)公司的單數(shù)字溫度傳感器芯片,DS18B20具有體積小,功耗低,抗干擾能力強(qiáng),易于微處理器連接等特點(diǎn),其測(cè)量范圍-55℃~+125℃,最大分辨率為0.0625℃,在-25℃~+85℃范圍內(nèi)其測(cè)溫標(biāo)準(zhǔn)度為±0.5℃。
DS18B20只有三個(gè)引腳,一個(gè)接地,一個(gè)接電源,一個(gè)數(shù)字輸入/輸出引腳,由于DS18B20采用單總線結(jié)構(gòu),本系統(tǒng)的四個(gè)溫度傳感器并聯(lián)在三線上,數(shù)據(jù)輸入/輸出接單片機(jī)的P1.7口,電源與數(shù)字輸入輸出腳間需要接一個(gè)4.7K的電阻,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能。
3.3 報(bào)警電路設(shè)計(jì)
本系統(tǒng)報(bào)警電路使用L M 3 8 6作為報(bào)警器的功率放大器。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。
LM386的輸入端接單片機(jī)的P3.4引腳,輸出端接揚(yáng)聲器,電路圖如圖2所示。當(dāng)實(shí)際溫度超過或低于設(shè)置的溫度值時(shí),單片機(jī)相應(yīng)引腳輸出一定頻率的信號(hào),信號(hào)經(jīng)過音頻功放放大之后,發(fā)出報(bào)警聲。
3.4 顯示接口電路設(shè)計(jì)
系統(tǒng)采用液晶顯示模塊來顯示4路溫度采集值及溫度設(shè)定值。本系統(tǒng)采用LCD12864液晶顯示模塊。LCD12864是一種具有4位/ 8位并行、2線或三線串行多接口方式,內(nèi)部含有國(guó)際一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊,其顯示分辨率為128&TImes;64,可以顯示8&TImes;4行16&TImes;16點(diǎn)陣的漢字。同時(shí)又具有低電壓低功耗等特點(diǎn)。
在本系統(tǒng),LCD12864的3個(gè)控制端RS(數(shù)據(jù)/命令選擇端)、R/W(讀/寫選擇端)、E(使能信號(hào))分別連接單片機(jī)的P 3 。 7、P3.0、P3.3,用來對(duì)LCD12864進(jìn)行控制;LCD12864的8個(gè)數(shù)據(jù)端連接單片機(jī)的P0口,用來向LCD12864寫入數(shù)據(jù)。液晶的第3引腳為液晶顯示偏壓信號(hào),用來調(diào)節(jié)顯示的對(duì)比度;第1、2引腳為液晶的電源接口;第19、20引腳是顯示器背光燈的電源接口。
3.5 鍵盤接口電路設(shè)計(jì)
鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能夠?qū)崿F(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令等功能,是人干預(yù)單片機(jī)的主要手段。本系統(tǒng)采用了4×4矩陣鍵盤實(shí)現(xiàn)對(duì)溫度值和功能鍵的設(shè)定。四條行線接單片機(jī)P2口的高4位,四條列線接單片機(jī)P2口的低4位。初始化時(shí)鍵盤行線為高電平,列線為低電平。鍵盤的行線接4輸入與門,4輸入與門的輸出接單片機(jī)的外部中斷0引腳P3.2口。當(dāng)有鍵按下時(shí),將產(chǎn)生中斷,在中斷程序里對(duì)按鍵進(jìn)行掃描,得到按鍵的鍵值。
3.6 電源電路的設(shè)計(jì)
電源是整個(gè)系統(tǒng)的能量來源,它直接關(guān)系到系統(tǒng)能否運(yùn)行。在本系統(tǒng)中單片機(jī)、液晶顯示、報(bào)警等電路需要5V的電源,因此電路中選用穩(wěn)壓芯片7805,其最大輸出電流為1.5A,能夠滿足系統(tǒng)的要求。
4.軟件設(shè)計(jì)
主程序先對(duì)系統(tǒng)資源進(jìn)行初始化,調(diào)用LCD顯示子程序,然后進(jìn)入鍵盤設(shè)置界面。
當(dāng)設(shè)置鍵按下后,開始設(shè)置各點(diǎn)的溫度,如果確認(rèn)鍵按下,則系統(tǒng)開始工作。首先調(diào)用DS18B20初始化子程序,再發(fā)送ROM命令,讀取DS18B20轉(zhuǎn)換的溫度值。當(dāng)讀取的溫度大于設(shè)置的溫度值時(shí),報(bào)警器開始報(bào)警,LCD顯示溫度的實(shí)際值、設(shè)置值、路數(shù)、狀態(tài)。
接下來對(duì)第二、三、四路溫度進(jìn)行采集,處理,顯示。
5.系統(tǒng)PROTEUS仿真
Proteus 軟件是來自用過LabcenterElectronics公司,基于SPICEF5 仿真引擎的很合電路仿真軟件,是一款含有大量的系統(tǒng)資源、豐富的硬件接口電路,具有強(qiáng)大的調(diào)試功能和軟硬件相結(jié)合的仿真系統(tǒng)。它很好地解決了硬件設(shè)計(jì)和軟件調(diào)試的問題,不僅能夠仿真模擬、數(shù)字電路以及模數(shù)混合電路,還能夠仿真基于單片機(jī)的電子系統(tǒng)。本系統(tǒng)PROTEUS仿真圖如圖3所示。
6.結(jié)論
本方案以AT89C52為控制核心,DS18B20采集溫度、LCD12864顯示溫度和LM3386驅(qū)動(dòng)報(bào)警等設(shè)計(jì)了一款智能溫度預(yù)報(bào)警系統(tǒng),并通過PROTEUS仿真,得到了很好的效果,證實(shí)了本系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、功耗低、智能調(diào)節(jié)等優(yōu)點(diǎn)。本系統(tǒng)可以應(yīng)用于糧倉(cāng)、工廠、浴室等場(chǎng)合,具有很強(qiáng)的實(shí)用價(jià)值。
評(píng)論