一種高速單片機數(shù)據(jù)采集處理系統(tǒng)設(shè)計
4 軟件設(shè)計
單片機用C語言編程具有開發(fā)周期短、可讀性強、可移植性好和修改方便等特點,但是C語言反匯編生成的匯編代碼往往較長。直接用匯編語言編程雖然編寫的程序較短,在直接對機器配件進行控制方面具有相當?shù)膬?yōu)勢,但是開發(fā)周期長,修改也不方便。較好的解決辦法是程序的框架或主體部分用C語言編寫,要求執(zhí)行效率高的部分用匯編語言編寫。這種混合編程的方法將C語言和匯編語言的優(yōu)點結(jié)合起來,所以成為目前單片機開發(fā)最流行的編程方法。
根據(jù)設(shè)計要求,按照實現(xiàn)功能的分類,系統(tǒng)軟件主要完成五項任務(wù):系統(tǒng)初始化、數(shù)據(jù)采集、數(shù)據(jù)處理、鍵盤響應(yīng)和數(shù)據(jù)顯示。在數(shù)據(jù)處理中,需要進行大量浮點數(shù)的乘除法和正弦、余弦運算,因此數(shù)據(jù)處理部分采用C語言編寫,在Keil環(huán)境中模塊化編程,充分利用C語言強大的計算能力,系統(tǒng)初始化、鍵盤響應(yīng)和數(shù)據(jù)顯示也采用C語言編程,在數(shù)據(jù)采集部分中,MAX1241對時序要求比較嚴格,采用匯編語言實現(xiàn),所有功能模塊均為獨立的C文件或ASM文件。而實現(xiàn)C語言和匯編語言的混合編程是軟件設(shè)計中的難點和關(guān)鍵之一。本文中,匯編語言采用單獨的文件,通過寄存器傳遞函數(shù)參數(shù),相關(guān)具體程序如下所示:
5 結(jié)束語
為保證數(shù)據(jù)的準確性,可多次采樣后,利用程序來進行數(shù)字濾波,以減少各種噪聲和干擾帶來的錯誤數(shù)據(jù),提高系統(tǒng)的可靠性和穩(wěn)定性,而不需增加任何硬件開銷.
參考文獻
1 MAXIM公司. MAXIM產(chǎn)品資料全集[M/CD]. 1999
2 薛鈞義,張彥斌. 單片微型計算機及其應(yīng)用[D]. 西安:西安交通大學出版社,2001.06
3 (美)Charlie Calvert,et al.著 徐科等譯C++Builder應(yīng)用開發(fā)大全[M].北京:清華大學出版社,1999。
評論