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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于單片機(jī)的多功能溫度控制器的設(shè)計(jì)

          一種基于單片機(jī)的多功能溫度控制器的設(shè)計(jì)

          作者: 時(shí)間:2010-04-09 來源:網(wǎng)絡(luò) 收藏

          摘要:文章以STC89C52RC為控制芯片,利用Dallas公司生產(chǎn)的1-Wire數(shù)字溫度傳感器DSl8820,完成溫度測量、、上下限報(bào)警及LCD顯示等功能。整個(gè)系統(tǒng)具有體積小、集成度高、可靠性強(qiáng)、可擴(kuò)展性強(qiáng)、功耗低等特點(diǎn)。
          關(guān)鍵詞:1-Wire,總線;DSl8820傳感器;LCDl602

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

          O 引言
          在某些工業(yè)生產(chǎn)過程中,如恒溫爐、倉庫儲藏、花卉種植、小型溫室等領(lǐng)域都對溫度有著嚴(yán)格的要求,需要對其加以檢測和控制。傳統(tǒng)的溫度測量方法是將溫度傳感器輸出的模擬信號放大后送至遠(yuǎn)端A/D轉(zhuǎn)換器,最后對A/D轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行分析處理。這種方法的缺點(diǎn)是模擬信號在傳輸?shù)倪^程中存在損耗并且容易受到外界的干擾,導(dǎo)致測量的溫度精度不高。
          文中以STC89C52RC為控制核心,利用美國Dallas公司最新推出的單總線數(shù)字溫度傳感器DSl8820測量溫度,處理后對溫度進(jìn)行控制,并將溫度顯示在LCDl602上,還可通過按鍵設(shè)置溫度上下限值實(shí)現(xiàn)溫度超限報(bào)警等功能。

          1 系統(tǒng)的組成和工作原理
          系統(tǒng)的結(jié)構(gòu)如圖1所示,系統(tǒng)由六部分組成:控制核心部分、溫度數(shù)據(jù)采集部分、加熱裝置控制部分、液晶顯示部分、按鍵輸入部分和報(bào)警提示部分。單片機(jī)啟動溫度采集電路完成溫度的一次轉(zhuǎn)換,然后讀出轉(zhuǎn)換后的數(shù)字量并轉(zhuǎn)化成當(dāng)前的溫度呈現(xiàn)在顯示模塊中,并將當(dāng)前的溫度與通過按鍵輸入電路設(shè)定的保持恒溫度數(shù)進(jìn)行比較,以實(shí)現(xiàn)溫度的控制。還可以通過按鍵設(shè)置溫度的上下限值以實(shí)現(xiàn)超溫或低溫報(bào)警提示功能。本系統(tǒng)的目標(biāo)要對溫度的控制精度達(dá)到0.1℃。


          1.1 報(bào)警電路
          報(bào)警電路采用蜂鳴器作為發(fā)聲裝置,當(dāng)溫度高于設(shè)定的上限值或低于下限值,給蜂鳴器送周期為1s,占空比為50%的方波,報(bào)警的時(shí)間可以持續(xù)1分鐘或等待按鍵解除報(bào)警,這由軟件控制實(shí)現(xiàn)。


          上一頁 1 2 3 4 下一頁

          評論


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