在進行應用系統的總體設計時,軟件設計和硬件設計應統一考慮,相結合進行。當系統的電路設計定型后,軟件的任務也就明確了 ,系統中的軟件是根據系統功能要求設計的。
一般地講,軟件的功能可分為兩大類。一類是執行軟件,它能完成各種實質性的功能,如測量,計算,顯示,打印,輸出控制等;另一類是監控軟件,它是專門用來協調各執行模塊和操作者的關系,在系統軟件中充當組織調度角色。由于應用系統種類繁多,程序編制者風格不一,因此應用軟件因系統而異。盡管如此,作為優秀的系統軟件還是有其共同特點和其規律的。設計人員在進行程序設計時應從以下幾個方面加以考慮:
根據軟件功能要求,將系統軟件分成若干個相對獨立的部分,根據它們之間的聯系和時間上的關系,設計出合理的軟件總體結構,使其清晰,簡潔,流程合理。培養結構化程序設計風格,各功能程序實行模塊化,子程序化。既便于調試,連接,又便于移植,修改。
建立正確的數學模型。即根據功能要求,描述出各個輸入和輸出變量之間的數學關系,它是關系到系統性功能好壞的重要因素。
為提高軟件設計的總體效率,以簡明,直觀的方法對任務進行描述,在編寫應用軟件之前,應繪制出程序流程圖。這不僅是程序設計的一個重要組成部分,而且是決定成敗的關鍵部分。從某種意義上講,多花一份時間來設計程序流程圖,就可節約幾倍源程序編譯調試時間。
要合理分配系統資源,包括ROM,RAM,定時器/計數器,中斷源等。其中最關鍵的是片內RAM分配。對8031來講,片內RAM指00H-7FH單元,這128個字節的功能不完全相同,分配時應充分發揮其特長,做到物盡其用。
例如:在工作寄存器的8個單元中,R0和R1具有指針功能,是編程的重要角色,避免作為它用,20H—2FH這16個具有尋址功能,用來存放各種標志位。邏輯變量,狀態變量等。
設置堆棧區時應事先估算出子程序和中斷嵌套的級數及程序中堆棧操作指令使用情況,其大小應留有余量。若系統擴展了RAM存儲器,應把使用頻率最高的數據緩沖器安排在片內RAM中,以提高處理速度,當RAM資源規劃好后,應列出一張RAM資源詳細分配表,以備編程查用方便。注意在程序的有關位置處寫上功能注 釋,提高程序的可讀性。
加強軟件抗干擾設計,它是提高計算機應用系統可靠性的有力措施。
通過編輯軟件編輯出的原程序,必須用編譯程序匯編后生成目標代碼。如果原程序有語法錯誤則返回編譯過程,修改原文件再繼續編譯,直到無語法錯誤為止。這之后就是利用目標碼進行程序調試了,在運行中發現設計上的錯誤再重新修改源程序,如此反復直到成功。
一個單片機應用系統經過總體設計,硬件設計,軟件設計,制板,元器件安裝后,在系統的程序存儲器中放入編制好的應用程序,系統即可運行。但一次性成功幾乎是不可能的,多少會出現一些硬件,軟件上的錯誤。這就需要通過調試來發現錯誤并加以改正。由于單片機在執行程序時是無法控制的,為了能調試程序,檢查硬件,軟件運行狀態,就必須借助某種開發工具模擬用戶實際的單片機,并且能隨時觀察運行的中間過程而不改變運行中原有的數據性能和結果,從而進行模仿現場的真實調試。完成這一模仿工作的開發工具就是單片機仿真器。
審核編輯 :李倩
-
單片機
+關注
關注
6058文章
44821瀏覽量
644676 -
仿真器
+關注
關注
14文章
1028瀏覽量
84691 -
硬件設計
+關注
關注
18文章
422瀏覽量
45008
原文標題:單片機對應用系統的設計技巧解析
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
單片機科普總結,建議收藏!

評論