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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機控制的溫濕度監(jiān)控儀

          基于51單片機控制的溫濕度監(jiān)控儀

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

            1 系統(tǒng)硬件組成

            本系統(tǒng)完成對溫度、濕度的實時測量,配合有關(guān)控制部分即可對溫度濕度進行實時控制,同時具有溫度、濕度和露點顯示功能,滿足一般上業(yè)環(huán)境對溫度、濕度和露點檢測的需要。系統(tǒng)由STC89C51RC、RAM、鍵盤、溫度傳感器、濕度傳感器、A/D轉(zhuǎn)換電路、D/A轉(zhuǎn)換電路等組成。如圖1所示。

            

          系統(tǒng)硬件組成

            STC89系列是具有Flash結(jié)構(gòu)的51系列單片機,因此,程序存儲器(ROM)可不用外擴,為了記憶校正后的參數(shù),需要存儲各種校正參數(shù),本系統(tǒng)采用具有掉電保護功能的鐵電存儲器,以便在校正后,將校正參數(shù)存儲下來。系統(tǒng)以溫度傳感器采用AD590集成溫度傳感器,具有傳感精度高、工作性能穩(wěn)定的特點。濕度傳感器采用HS11OO濕度傳感器,HS11OO電容式相對傳感器采用獨特的電容單元設(shè)計,適用于批量大、成本低的場合。其特點是:長期飽合后可迅速恢復(fù)、高可靠性和長期穩(wěn)定性、快速響應(yīng)等。

            本系統(tǒng)具有2路D/A轉(zhuǎn)換輸出,可對溫度或濕度進行反饋控制。D/A采用兩路DAC7512進行,DAC7512是一種軌對軌的低功耗的12位串行輸入的D/A轉(zhuǎn)換器,輸出標(biāo)準(zhǔn)的4~20 mA電流信號,可滿足對溫度、濕度的控制需要。

            系統(tǒng)還具備與上位機通信的功能,采用RS422通信方式,可實行遠距離的一對多點通信,上位機可查詢多達64個采樣點的溫度、濕度和露點數(shù)據(jù)。

            系統(tǒng)還具備校準(zhǔn)功能,可對溫度進行2點校準(zhǔn),對濕度進行4點校準(zhǔn)。另外,系統(tǒng)還具有露點顯示功能,滿足不同使用場合對露點顯示的需要。

            2 軟件設(shè)計

            由溫度傳感器輸出的信號需經(jīng)過信號調(diào)理后進行A/D轉(zhuǎn)換,A/D轉(zhuǎn)換采用ADS1110具有自校準(zhǔn)功能的帶內(nèi)部基準(zhǔn)電壓的芯片,它采用I2C總線與主機進行通信,具有16位的轉(zhuǎn)換精度。系統(tǒng)定時循環(huán)對溫度和濕度進行采樣,將采樣結(jié)果經(jīng)過單位轉(zhuǎn)換后直接顯示在顯示屏上,同時進行露點的計算,將計算結(jié)果顯示在顯示屏上。采用定時掃描鍵盤的方式讀鍵盤輸入情況,并判斷是否進行濕度或溫度校準(zhǔn)功能。系統(tǒng)的工作流程圖如圖2所示。

            

          系統(tǒng)的工作流程圖
          上一頁 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); })();