基于單片機(jī)的多參數(shù)測量儀設(shè)計(jì)
2.1 主程序設(shè)計(jì)
本系統(tǒng)的主程序流程圖如圖7所示。本系統(tǒng)的主程序主要完成對時(shí)序的初始化及對顯示界面的初始化,其中初始化包括對單片機(jī)的初始化和對接口芯片的初始化。首先是對單片機(jī)進(jìn)行初始化,以設(shè)置時(shí)鐘和必要的標(biāo)志位以及變量初值;接著對顯示器初始化,設(shè)置數(shù)據(jù)、地址傳輸端口;然后將按鍵選擇程序開啟,主要設(shè)置按鍵任務(wù);最后對時(shí)鐘A、B以及A/D轉(zhuǎn)換進(jìn)行初始化,設(shè)置必要的控制字和開中斷。
2.2 定時(shí)器中斷子程序設(shè)計(jì)
在該系統(tǒng)中,定時(shí)器A、B主要用來捕獲方波以及定時(shí)。當(dāng)中斷開啟時(shí),應(yīng)先判斷中斷請求寄存器TXIV的值,以判斷該中斷是由捕獲引起還是由計(jì)數(shù)溢出引起,然后計(jì)算得到的頻率值,并在預(yù)處理后返回到主程序中。
本系統(tǒng)中,對RC、頻率以及相位差的測量都要利用單片機(jī)定時(shí)器的捕獲功能來獲取頻率值。事實(shí)上,要獲得方波信號(hào)的頻率值,首先要在主程序中設(shè)置好時(shí)鐘與定時(shí)器控制寄存器,然后開定時(shí)器中斷程序。中斷開啟以后,定時(shí)器開始計(jì)數(shù),當(dāng)接收到方波的上升沿時(shí),可存儲(chǔ)該時(shí)刻的計(jì)數(shù)初值B,待下一次上升沿到來時(shí),再存儲(chǔ)該時(shí)刻的計(jì)數(shù)C,兩次上升沿時(shí)刻之間的差值便是方波的周期。接著,經(jīng)過短暫延時(shí)后重新測量,如此循環(huán)測量并計(jì)算最終結(jié)果。如果在兩次上升沿捕獲的過程中,計(jì)數(shù)器的計(jì)數(shù)值CCRx發(fā)生了溢出,則需要在中斷程序中設(shè)置溢出次數(shù)變量Y,以在計(jì)算周期時(shí)將溢出值計(jì)算在內(nèi)。
3 結(jié)束語
本文利用MSP430單片機(jī)設(shè)計(jì)的RLC、頻率及相位差的測量儀,經(jīng)測試證明,各項(xiàng)指標(biāo)均可達(dá)到設(shè)計(jì)要求,并且具有精度高、體積小、性能穩(wěn)定和操作簡便等特點(diǎn)。
評(píng)論