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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機(jī)兩路溫度控制器的設(shè)計方案

          基于51單片機(jī)兩路溫度控制器的設(shè)計方案

          作者: 時間:2013-11-23 來源:網(wǎng)絡(luò) 收藏

            4.1 主程序模塊

            主程序中先對數(shù)據(jù)進(jìn)行初始化,然后調(diào)用鍵盤掃描子程序KEY_TEST,溫度比較子程序C O M P A R E,溫度采集子程序G E T _ T E M P,溫度顯示子程序D I S _ S E T和DISPLAY,再判斷采集,顯示第二個溫度傳感器的溫度值。編寫程序如下:

            

            4.2 LED顯示模塊

            LED顯示可以分為動態(tài)顯示和靜態(tài)顯示兩種,靜態(tài)顯示占用更多口線,為了減少硬件成本,本設(shè)計采用動態(tài)掃描顯示的方法顯示兩個溫度傳感器的溫度值。

            DISPLAY和DISPLAY1函數(shù)分別讀取第一個和第二個溫度傳感器的溫度并根據(jù)暫存單元的數(shù)據(jù)顯示兩個溫度傳感器的溫度。編程思路:根據(jù)SIGN標(biāo)志來判斷轉(zhuǎn)入不同的顯示,將查表所得的數(shù)據(jù)存入不同的單元并顯示在LED上。

            4.3 鍵盤控制模塊

            鍵盤通過設(shè)定SIGN標(biāo)志來判斷設(shè)定第一個或者第二個溫度傳感器的最高溫或者最低溫,編程思路為:將SIGN初始設(shè)定為0,當(dāng)?shù)谝粋€按鍵按下時將其賦為1,再次按下時加一,直到按到第5次重新賦值為0,根據(jù)SIGN的值確定進(jìn)行不同的設(shè)置。

            4.4 溫度傳感器模塊

            根據(jù)溫度傳感器完成溫度轉(zhuǎn)換所必須經(jīng)過的3個步驟,程序:MOV A,#0CCH//跳過ROM MOV A,#44H / / 進(jìn)行溫度變換 MOV A,#0BEH//讀暫存存儲器內(nèi)容。

            4.5 報警模塊

            當(dāng)實時溫度高于設(shè)定的最高溫度時或者實時溫度低于設(shè)定的最低溫度時,單片機(jī)會控制蜂鳴器或者電風(fēng)扇工作,判斷當(dāng)前溫度是否在正常范圍的函數(shù)為COMPARE,高溫部分程序如下:

            

            5.仿真測試

            我們對寫入程序之前,必須調(diào)試自己的程序。但我們不能看到程序是怎樣運行的。因此我們可以用仿真機(jī)來仿真,通過仿真機(jī)我們可以看到發(fā)送過來的數(shù)據(jù),讀出來的溫度值,所利用寄存的值的變化。系統(tǒng)連接示意圖如下圖所示:

            

            我們現(xiàn)在能把DS18B20所采集到的溫度在PC機(jī)上顯示出來并且每一個溫度值顯示后換一行。試驗證明了系統(tǒng)實用性強(qiáng),達(dá)到了預(yù)定的功能。

            6.總結(jié)

            本方案中所設(shè)計的,采用AT89C作為內(nèi)核,采用DS18B20作為溫度傳感器,通過四位LED顯示,通過循環(huán)掃描實現(xiàn)了兩路溫度的采集與顯示。然后又經(jīng)過過仿真測試證實了改設(shè)計方案經(jīng)濟(jì)適用,實用性強(qiáng),能夠測量兩個地方的溫度,滿足溫室大棚,室內(nèi)家居,工業(yè)控制等不同環(huán)境下的使用。

          蜂鳴器相關(guān)文章:蜂鳴器原理

          上一頁 1 2 下一頁

          評論


          相關(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); })();