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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于BASIC Stamp微控制器的溫度記錄系統(tǒng)

          基于BASIC Stamp微控制器的溫度記錄系統(tǒng)

          作者: 時間:2012-04-27 來源:網絡 收藏

          摘要: 核心設計測量電路,實現(xiàn)了傳感器數據的測量和保存。采用傳感器DS1621,經過有線通信,多路數據由串行口輸送到微型計算機接收實時顯示和保存。應用于環(huán)境試驗設備改造初試階段,滿足設計要求,證明溫度的低成本和簡單實現(xiàn)是可行的。
          關鍵詞:溫度; ;DS1621;微型計算機;Visual Basic

          溫度測量在環(huán)境試驗中是常見的一種測量方式。傳統(tǒng)的溫度測量設備顯示樣品溫度于設備箱上,需要試驗人員定時查看和,這極大地浪費了人力而且?guī)碇T多不便。當溫度試驗箱種類多而且需要長時間試驗時情況更糟,因為試驗人員需要三班倒不間斷試驗過程記錄。因此,改造傳統(tǒng)的高低溫箱記錄方式已經成為當務之急,同時,市場需要一種經濟的設計方式。
          本研究中一種以微為基礎的溫度記錄系統(tǒng)被開發(fā),以滿足溫度數據測量記錄的低成本和靈活模式。開發(fā)系統(tǒng)的主要硬件包括一臺微型計算機,一個以 為基礎的微電路板以及串行通訊鏈接設備。兩線串行接口數字傳感器DS1621被用來進行溫度測量,微型計算機運行控制程序。一旦用戶在微型計算機界面上決定實時記錄信息,信息便通過RS-232端口送往微。微型計算機和微控制器通過特定的串行通信協(xié)議通信,微型計算機告知微控制器溫度測量何時開始以及測量次數并等待微控制器發(fā)送具體數據。電路板的設計考慮了開放式結構。該系統(tǒng)采用了28引腳易于插拔的插座來容納BASIC Stamp微控制器。微控制器將通過軟件模擬片內集成總線I2C轉換讀取的溫度數據并實時傳送回微型計算機。

          1 系統(tǒng)硬件設計
          系統(tǒng)的主要原理圖如圖1所示。其中BASIC Stamp微控制器是美國Parallax公司的產品,采用5 V直流電源供電,支持在線串行編程,最高時鐘頻率達到20 MHz,通訊波特率設定為9 600。BASIC Stamp微控制器帶有片上BASIC解釋芯片、內存(包括EEPROM和RAM)、5 V穩(wěn)壓器和一些通用輸入/輸出端口。該微控制器的工作溫度為0~70℃,每秒鐘約執(zhí)行4 000條指令,低電平復位。EEPROM可以存儲大約500條指令。端口P是雙向輸入/輸出復用管腳,可以進行設置,其中P0和P1分別與傳感器DS1621的串行數據線SDA以及串行時鐘線SCL管腳相連,上拉電阻均為2kΩ接+5 V。因為增強特性,該微控制器是串行通信的很好選擇,通過簡單指令即可完成串行通信。微型計算機和BASICStamp(具體型號BS2)的通信連接如圖2所示,連接通過若干導線完成。注意DTR與ATN在下載完程序后要斷開以便傳感器的數據能傳回微型計算機。另外,下載程序時DTR與ATN必須連接,否則BASIC Stamp不能被微型計算機識別從而無法編程。

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

          b.JPG


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();