一種高速單片機數據采集處理系統設計



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