<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何設(shè)計單片機的智能溫度預(yù)警系統(tǒng)?

          如何設(shè)計單片機的智能溫度預(yù)警系統(tǒng)?

          作者: 時間:2018-08-01 來源:網(wǎng)絡(luò) 收藏

          1.引言

          本文引用地址:http://www.ex-cimer.com/article/201808/384917.htm

          如果環(huán)境溫度超過或低于限定值,必定對所處環(huán)境的人和設(shè)備造成影響,甚至給個人和社會造成巨大的損失。隨著技術(shù)的飛速發(fā)展,利用設(shè)計成為控制技術(shù)發(fā)展的需要。本文提出了一種基于的溫度預(yù)警系統(tǒng)的設(shè)計方案,并采用PROTEUS進行了仿真。該系統(tǒng)不僅可以高精度的測量溫度,同時對溫度進行實時監(jiān)控并做到超溫報警,有較高的實用價值。

          2.系統(tǒng)設(shè)計的總體方案

          本設(shè)計方案總體框圖如圖1所示,它是由單片機、四路數(shù)據(jù)采集模塊、集成功放模塊、人機交互界面和系統(tǒng)電源等組成。


          本設(shè)計系統(tǒng)以AT89C52單片機作為控制核心,數(shù)據(jù)采集部分由溫度傳感器DS18B20組成;人機交互界面為4TImes;4矩陣鍵盤輸入和LCD1602液晶顯示,可以方便的輸入數(shù)據(jù)和直觀的顯示。系統(tǒng)電源為+5V電源供電。軟件部分采用C語言進行編程,實現(xiàn)了該設(shè)計的全部控制功能。該溫度預(yù)警系統(tǒng)的測量范圍為-55℃~+125℃。當(dāng)檢測的溫度高于最高或最低溫度設(shè)定值時,實現(xiàn)報警功能。

          3.電路設(shè)計

          3.1 單片機

          AT89S52單片機是ATMEL公司推出的高檔型AT89S系列單片機中的增強型產(chǎn)品。AT89S52是一個低功耗、高性能CMOS8為單片機,片內(nèi)含8K Bytes ISP的可反復(fù)擦寫1000次的Flash只讀程序存儲器。期間采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。

          3.2 溫度采集電路

          由單片機獲取非電信號的溫度信息,必須通過溫度傳感器。傳統(tǒng)的溫度測量多以熱敏電阻作為溫度傳感器,但是,熱敏電路可靠性較差,測量溫度精度低,因此使用DS18B20溫度傳感器采集溫度。DS18B20是美國達拉斯(Dallas)公司的單數(shù)字溫度傳感器芯片,DS18B20具有體積小,功耗低,抗干擾能力強,易于微處理器連接等特點,其測量范圍-55℃~+125℃,最大分辨率為0.0625℃,在-25℃~+85℃范圍內(nèi)其測溫標(biāo)準(zhǔn)度為±0.5℃。

          DS18B20只有三個引腳,一個接地,一個接電源,一個數(shù)字輸入/輸出引腳,由于DS18B20采用單總線結(jié)構(gòu),本系統(tǒng)的四個溫度傳感器并聯(lián)在三線上,數(shù)據(jù)輸入/輸出接單片機的P1.7口,電源與數(shù)字輸入輸出腳間需要接一個4.7K的電阻,實現(xiàn)多點組網(wǎng)功能。

          3.3 報警電路設(shè)計

          本系統(tǒng)報警電路使用L M 3 8 6作為報警器的功率放大器。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應(yīng)用于錄音機和收音機之中。

          LM386的輸入端接單片機的P3.4引腳,輸出端接揚聲器,電路圖如圖2所示。當(dāng)實際溫度超過或低于設(shè)置的溫度值時,單片機相應(yīng)引腳輸出一定頻率的信號,信號經(jīng)過音頻功放放大之后,發(fā)出報警聲。


          3.4 顯示接口電路設(shè)計

          系統(tǒng)采用液晶顯示模塊來顯示4路溫度采集值及溫度設(shè)定值。本系統(tǒng)采用LCD12864液晶顯示模塊。LCD12864是一種具有4位/ 8位并行、2線或三線串行多接口方式,內(nèi)部含有國際一級、二級簡體中文字庫的點陣圖形液晶顯示模塊,其顯示分辨率為128TImes;64,可以顯示8TImes;4行16TImes;16點陣的漢字。同時又具有低電壓低功耗等特點。

          在本系統(tǒng),LCD12864的3個控制端RS(數(shù)據(jù)/命令選擇端)、R/W(讀/寫選擇端)、E(使能信號)分別連接單片機的P 3 。 7、P3.0、P3.3,用來對LCD12864進行控制;LCD12864的8個數(shù)據(jù)端連接單片機的P0口,用來向LCD12864寫入數(shù)據(jù)。液晶的第3引腳為液晶顯示偏壓信號,用來調(diào)節(jié)顯示的對比度;第1、2引腳為液晶的電源接口;第19、20引腳是顯示器背光燈的電源接口。

          3.5 鍵盤接口電路設(shè)計

          鍵盤在單片機應(yīng)用系統(tǒng)中能夠?qū)崿F(xiàn)向單片機輸入數(shù)據(jù)、傳送命令等功能,是人干預(yù)單片機的主要手段。本系統(tǒng)采用了4×4矩陣鍵盤實現(xiàn)對溫度值和功能鍵的設(shè)定。四條行線接單片機P2口的高4位,四條列線接單片機P2口的低4位。初始化時鍵盤行線為高電平,列線為低電平。鍵盤的行線接4輸入與門,4輸入與門的輸出接單片機的外部中斷0引腳P3.2口。當(dāng)有鍵按下時,將產(chǎn)生中斷,在中斷程序里對按鍵進行掃描,得到按鍵的鍵值。

          3.6 電源電路的設(shè)計

          電源是整個系統(tǒng)的能量來源,它直接關(guān)系到系統(tǒng)能否運行。在本系統(tǒng)中單片機、液晶顯示、報警等電路需要5V的電源,因此電路中選用穩(wěn)壓芯片7805,其最大輸出電流為1.5A,能夠滿足系統(tǒng)的要求。

          4.軟件設(shè)計

          主程序先對系統(tǒng)資源進行初始化,調(diào)用LCD顯示子程序,然后進入鍵盤設(shè)置界面。

          當(dāng)設(shè)置鍵按下后,開始設(shè)置各點的溫度,如果確認(rèn)鍵按下,則系統(tǒng)開始工作。首先調(diào)用DS18B20初始化子程序,再發(fā)送ROM命令,讀取DS18B20轉(zhuǎn)換的溫度值。當(dāng)讀取的溫度大于設(shè)置的溫度值時,報警器開始報警,LCD顯示溫度的實際值、設(shè)置值、路數(shù)、狀態(tài)。

          接下來對第二、三、四路溫度進行采集,處理,顯示。

          5.系統(tǒng)PROTEUS仿真

          Proteus 軟件是來自用過LabcenterElectronics公司,基于SPICEF5 仿真引擎的很合電路仿真軟件,是一款含有大量的系統(tǒng)資源、豐富的硬件接口電路,具有強大的調(diào)試功能和軟硬件相結(jié)合的仿真系統(tǒng)。它很好地解決了硬件設(shè)計和軟件調(diào)試的問題,不僅能夠仿真模擬、數(shù)字電路以及模數(shù)混合電路,還能夠仿真基于單片機的電子系統(tǒng)。本系統(tǒng)PROTEUS仿真圖如圖3所示。


          6.結(jié)論

          本方案以AT89C52為控制核心,DS18B20采集溫度、LCD12864顯示溫度和LM3386驅(qū)動報警等設(shè)計了一款智能溫度預(yù)報警系統(tǒng),并通過PROTEUS仿真,得到了很好的效果,證實了本系統(tǒng)具有結(jié)構(gòu)簡單、功耗低、智能調(diào)節(jié)等優(yōu)點。本系統(tǒng)可以應(yīng)用于糧倉、工廠、浴室等場合,具有很強的實用價值。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();