基于SPCE061A單片機的髖作用力測試儀設(shè)計
3.3 功率的測量
測得作用力和速度之后,功率可由二者乘積算得。即功率:
P=Fv (5)
但考慮到單片機在計算實數(shù)乘法的效率和精度上的劣勢,單片機只負責將采集到的作用力和速度通過RS232上傳到上位機,實際運算則由上位機完成。此方法能滿足測試儀的實時性和精度要求。
4 系統(tǒng)軟件設(shè)計
SPCE061A內(nèi)置在線仿真電路ICE (In-CircuitEmulator)接口和在線串行編程技術(shù),使程序開發(fā)、調(diào)試和下載等均在可視化開發(fā)環(huán)境中通過在線調(diào)試器PROBE實現(xiàn),省去了傳統(tǒng)單片機開發(fā)中必需的硬件在線實時仿真器(ICE)和程序燒寫器。具體軟件設(shè)計中,充分利用SPCE061A豐富的時基中斷,在IRQ4、IRQ5中斷子程序中完成鍵盤掃描和A/D轉(zhuǎn)換等工作。與上位機的串行通信則采用SPCE061A自帶的UART硬件傳輸中斷,以滿足數(shù)據(jù)雙向傳輸?shù)漠惒叫院蛯崟r性。
系統(tǒng)程序由主程序、力采集子程序、速度計算子程序、串行通信子程序、外擴存儲器子程序和中斷子程序等部分組成。各部分嚴格按照模塊化原則編寫,易于日后系統(tǒng)升級和維護。其中,主程序主要完成測試儀各部件的初始化和自檢,以及實際測量中各個功能模塊的協(xié)調(diào)。
力采集子程序和速度計算子程序流程圖如圖5所示。
測試儀的上位機監(jiān)控程序基于Visual C++6.0平臺開發(fā)。使用微軟公司提供的MSComm控件,極大程度上避免了直接調(diào)用Win32API造成的編程繁瑣等弊端,以較少代碼量實現(xiàn)本系統(tǒng)要求的通信功能。上位機程序具備作用力計時、平均功率計算、正反轉(zhuǎn)選擇顯示、測量數(shù)據(jù)保存和復現(xiàn)等功能。程序運行界面如圖6所示。
5 結(jié)束語
該測試儀以凌陽16位單片機SPCE061A為控制核心,充分發(fā)揮其片內(nèi)資源豐富和運算速度快的優(yōu)點,硬件電路結(jié)構(gòu)簡潔,穩(wěn)定性高。上位機監(jiān)控程序界面友好,操控方便。測試數(shù)據(jù)的保存和復現(xiàn)功能便于運動訓練方案的離線分析和制定。整個測試儀具備較強的可擴展性。該測試儀已經(jīng)開始在中國海洋大學運動體能實驗室試用,并取得了良好的測試效果。
評論