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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 一種多用智能溫度測(cè)量儀的設(shè)計(jì)與實(shí)現(xiàn)

          一種多用智能溫度測(cè)量儀的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2011-03-08 來源:網(wǎng)絡(luò) 收藏

          1.2 硬件電路設(shè)計(jì)
          系統(tǒng)硬件電路如3所示。

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

          c.JPG


          包括信號(hào)采集、系統(tǒng)控制、數(shù)字顯示、高溫報(bào)警四個(gè)部分。DS18B20為信號(hào)采集器件所采集到的溫度信號(hào),通過內(nèi)部處理由的DQ端送到單片機(jī)P3.2端口,經(jīng)單片機(jī)的計(jì)算處理后,由P0口和P1口分別作為4位共陽數(shù)碼管的段控信號(hào)和位控信號(hào),共同完成對(duì)所測(cè)溫度值的數(shù)字顯示,最高位是符號(hào)顯示,如顯示負(fù)號(hào)“-”時(shí),表示當(dāng)前溫度是負(fù)溫度,否則為正溫度;由P2.0端口控制蜂鳴器,當(dāng)測(cè)量的溫度超過“預(yù)設(shè)報(bào)警溫度”時(shí),發(fā)出提示音報(bào)警;P2.1~P2.3端口來控制黃、綠、紅3個(gè)發(fā)光二極管分別表示低溫、正常、高溫三種溫度狀態(tài)。石英晶體JT和電容C2,C2共同組成晶振電路;電容C1、電阻R13、SB共同構(gòu)成復(fù)位電路;其中電阻R13。為下拉電阻,SB為手動(dòng)復(fù)位按鈕。

          2 軟件設(shè)計(jì)
          為了便于子程序的調(diào)用和維護(hù)系統(tǒng),程序遵循標(biāo)準(zhǔn)化、模塊化的原則,主要完成包括讀DS18B20溫度數(shù)據(jù)、數(shù)據(jù)的整理轉(zhuǎn)換、溫度顯示、報(bào)警等模塊的設(shè)計(jì)。由于程序任務(wù)相對(duì)較少,結(jié)構(gòu)相對(duì)簡單,本系統(tǒng)由主程序和多個(gè)子程序組成,采用順序性結(jié)構(gòu)主程序流程。
          2.1 軟件設(shè)計(jì)要點(diǎn)
          由于DS18B20采用的是單線總線協(xié)議方式,即在一條數(shù)據(jù)線上實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而單片機(jī)硬件上不支持單總線協(xié)議,因此必須采用軟件方法來模擬單總線的協(xié)議是序來完成對(duì)DS18B20芯片的訪問。
          由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此對(duì)讀寫的數(shù)據(jù)位有嚴(yán)格的時(shí)序要求,它有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將單片機(jī)作為主設(shè)備,DS18B20作為從設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求DS18B20回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。



          關(guān)鍵詞: 傳感器

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