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