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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 無線溫度監(jiān)控系統(tǒng),具有數(shù)據(jù)記錄功能

          無線溫度監(jiān)控系統(tǒng),具有數(shù)據(jù)記錄功能

          作者: 時間:2012-06-07 來源:網(wǎng)絡 收藏

          成對地使用一只局部溫度傳感器和一只ASK(幅移鍵控)發(fā)射器/接收器,就可以設計出一個簡單的,并且具有功能。微控制器負責處理數(shù)據(jù),并將溫度讀數(shù)顯示給用戶。微控制器的片上UART(通用異步接收器/發(fā)射器)能夠用于應用。

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

          局部溫度傳感器IC1用于檢測器件的環(huán)境溫度(圖1)。IC1的輸出是一個方波,其頻率與開爾文溫度成正比。ASK發(fā)射器IC2將信號調制在315 MHz的載波頻率上。用一臺頻率計數(shù)器就可以測量出輸出信號的頻率。當TS1腳連接到地,TS0腳連接到VDD時,配置的標尺乘數(shù)為1k/Hz。這個標尺乘數(shù)用TS1腳和TS0腳配置。ASK接收器IC3以相應的載波頻率解調信號(圖2)。

          比較器IC4用一個內置峰值檢測器連接IC3的RSSI(接收信號強度指示器)。外接RC追隨所接收信號的峰值功率,將其與一個電阻分壓器產(chǎn)生的預定電壓水平作比較。實驗室的測試表明,一個大約1.57V的閾值可在數(shù)據(jù)輸出引腳產(chǎn)生一個有效輸出,而不會接收到虛假讀數(shù)。將此閾值調節(jié)到適當水平,可以獲得最佳性能。當接收到的信號較弱或無效時,比較器的輸出為低,當收到信號足夠時,輸出為高。

          然后,微控制器IC5采用自己集成的定時器/ 計數(shù)器和LCD驅動外設,測量并顯示信號頻率值。計數(shù)器跟蹤輸入溫度信號上的上升沿轉換次數(shù),定時器則跟蹤經(jīng)過的時間。在1秒的經(jīng)過時間以后,發(fā)生一個中斷。此時,電路讀出計數(shù)器的值,將其轉換為攝氏度單位,并顯示在LCD上。然后計數(shù)器復位至零,重新開始這個過程。當發(fā)生定時器中斷時,定時器會自動重裝。UART0也輸出最后的溫度。用手持頻率計數(shù)器可以驗證這個溫度讀數(shù)。

          微控制器通過P6.0監(jiān)控信號的功率,這是一個通用輸入引腳。當輸入為邏輯低時,LCD與UART輸出“noRF”,提醒用戶如果發(fā)射器與接收器之間距離過遠時,可能發(fā)射器有問題。設計使用的LCD連接在IC的評估套件中。在匯編數(shù)據(jù)部分中用一個查找表的方法,可以保留所顯示A到G段的內部映射。這種保留可確保顯示正確的段。通過一個RS-232電平轉換器,UART輸出將數(shù)據(jù)發(fā)送給一個設備,如一臺計算機。

          在組裝時,用MAX-IDE匯編軟件對設備編程。與MAX-IDE一起使用的MAXQJTAG將代碼裝入到設備內。從這里可以下載到項目的文件。本設計提供以1°C為間隔的1秒溫度刷新速率,這在IC1的精度范圍內。

          更多資訊請關注:21ic模擬頻道



          評論


          相關推薦

          技術專區(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); })();