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

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于MSP430F149的RLC、頻率及相位差測(cè)量?jī)x的設(shè)計(jì)

          基于MSP430F149的RLC、頻率及相位差測(cè)量?jī)x的設(shè)計(jì)

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


          2 軟件設(shè)計(jì)
          2.1 主程序設(shè)計(jì)
          本系統(tǒng)的主程序流程圖如圖7所示。本系統(tǒng)的主程序主要完成對(duì)時(shí)序的初始化及對(duì)顯示界面的初始化,其中初始化包括對(duì)單片機(jī)的初始化和對(duì)接口芯片的初始化。首先是對(duì)單片機(jī)進(jìn)行初始化,以設(shè)置時(shí)鐘和必要的標(biāo)志位以及變量初值;接著對(duì)顯示器初始化,設(shè)置數(shù)據(jù)、地址傳輸端口;然后將按鍵選擇程序開(kāi)啟,主要設(shè)置按鍵任務(wù);最后對(duì)時(shí)鐘A、B以及A/D轉(zhuǎn)換進(jìn)行初始化,設(shè)置必要的控制字和開(kāi)中斷。

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


          本系統(tǒng)中,對(duì)RC、頻率以及相位差的測(cè)量都要利用單片機(jī)定時(shí)器的捕獲功能來(lái)獲取頻率值。圖9所示是頻率捕獲波形圖。事實(shí)上,要獲得方波信號(hào)的頻率值,首先要在主程序中設(shè)置好時(shí)鐘與定時(shí)器控制寄存器,然后開(kāi)定時(shí)器中斷程序。中斷開(kāi)啟以后,定時(shí)器開(kāi)始計(jì)數(shù),當(dāng)接收到方波的上升沿時(shí),可存儲(chǔ)該時(shí)刻的計(jì)數(shù)初值B,待下一次上升沿到來(lái)時(shí),再存儲(chǔ)該時(shí)刻的計(jì)數(shù)C,兩次上升沿時(shí)刻之間的差值便是方波的周期。接著,經(jīng)過(guò)短暫延時(shí)后重新測(cè)量,如此循環(huán)測(cè)量并計(jì)算最終結(jié)果。如果在兩次上升沿捕獲的過(guò)程中,計(jì)數(shù)器的計(jì)數(shù)值CCRx發(fā)生了溢出,則需要在中斷程序中設(shè)置溢出次數(shù)變量Y,以在計(jì)算周期時(shí)將溢出值計(jì)算在內(nèi)。每次捕獲后得到的方波周期為:



          3 結(jié)束語(yǔ)
          本文利用單片機(jī)設(shè)計(jì)的RLC、頻率及相位差的測(cè)量?jī)x,經(jīng)測(cè)試證明,各項(xiàng)指標(biāo)均可達(dá)到設(shè)計(jì)要求,并且具有精度高、體積小、性能穩(wěn)定和操作簡(jiǎn)便等特點(diǎn)。


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: 430F F149 MSP 430

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();