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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于DS18B20的室內(nèi)智能溫度控制系統(tǒng)設(shè)計(jì)

          基于DS18B20的室內(nèi)智能溫度控制系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-05-25 來(lái)源:網(wǎng)絡(luò) 收藏

          3 軟件部分
          軟件部分主要涉及上位機(jī)軟件和下位機(jī)ATmage8單片機(jī)的程序,上位機(jī)的軟件部分只需要編輯一個(gè)GUI用戶界面,在里面實(shí)現(xiàn)和單片機(jī)之間的通信即可,圖4為上位機(jī)的GUI界面。

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

          d.jpg


          上位機(jī)的程序只是起控制閾值和現(xiàn)實(shí)當(dāng)前的功能,在這個(gè)界面上,我們就可以很清楚的看出每個(gè)傳感器的值,由于傳感器分別分布在的4個(gè)區(qū)域,則顯示的當(dāng)前溫度就是四個(gè)區(qū)域的溫度。這樣工作人員就可以按實(shí)際的情況分別修改幾個(gè)區(qū)域的溫度閾值,來(lái)的控制的溫度,達(dá)到生產(chǎn)要求。
          單片機(jī)的程序主要和上位機(jī)通信,控制傳感器和繼電器,圖5為下位機(jī)程序的流程圖。

          e.jpg


          和外部中斷初始化后,系統(tǒng)就開(kāi)始進(jìn)入while循環(huán),等待外部中斷的產(chǎn)生,當(dāng)上位機(jī)的閾值發(fā)生改變并且通過(guò)串口發(fā)送給單片機(jī),程序開(kāi)始進(jìn)入中斷,中斷里面是發(fā)送程序,接收到上位機(jī)的指示就發(fā)送當(dāng)前的溫度給上位機(jī);同時(shí)主程序里開(kāi)始進(jìn)行溫度的采集和閾值的對(duì)比,利用程序來(lái)進(jìn)行判斷,判斷如果不匹配的話,溫度低了就加熱,溫度高了就定制加熱,保證溫度在合適的范圍內(nèi)。

          4 結(jié)束語(yǔ)
          本系統(tǒng)是采用高性能的ATmage8單片機(jī)和高精度的數(shù)字溫度傳感器的一個(gè)室內(nèi)溫度調(diào)節(jié)系統(tǒng),采用上位機(jī)控制溫度的閾值,傳達(dá)給單片機(jī)執(zhí)行。實(shí)驗(yàn)驗(yàn)證,很好的體現(xiàn)了很好的精度性能,誤差控制在0.5℃之內(nèi),適合小面積的工農(nóng)業(yè)生產(chǎn)和生活應(yīng)用,具有很高的使用價(jià)值。

          電流變送器相關(guān)文章:電流變送器原理
          脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
          溫濕度控制器相關(guān)文章:溫濕度控制器原理

          上一頁(yè) 1 2 3 下一頁(yè)

          評(pí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); })();