基于MSP430F149的RLC、頻率及相位差測(cè)量?jī)x的設(shè)計(jì)
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ǔ)
本文利用MSP430單片機(jī)設(shè)計(jì)的RLC、頻率及相位差的測(cè)量?jī)x,經(jīng)測(cè)試證明,各項(xiàng)指標(biāo)均可達(dá)到設(shè)計(jì)要求,并且具有精度高、體積小、性能穩(wěn)定和操作簡(jiǎn)便等特點(diǎn)。
評(píng)論