在進行應用系統的總體設計時,軟體設計和硬體設計應統一考慮,相結合進行。當系統的電路設計定型後,軟體的任務也就明确了 ,系統中的軟體是根據系統功能要求設計的。
一般地講,軟體的功能可分為兩大類。一類是執行軟體,它能完成各種實質性的功能,如測量,計算,顯示,列印,輸出控制等;另一類是監控軟體,它是專門用來協調各執行子產品和操作者的關系,在系統軟體中充當組織排程角色。由于應用系統種類繁多,程式編制者風格不一,是以應用軟體因系統而異。盡管如此,作為優秀的系統軟體還是有其共同特點和其規律的。設計人員在進行程式設計時應從以下幾個方面加以考慮:

根據軟體功能要求,将系統軟體分成若幹個相對獨立的部分,根據它們之間的聯系和時間上的關系,設計出合理的軟體總體結構,使其清晰,簡潔,流程合理。培養結構化程式設計風格,各功能程式實行子產品化,子程式化。既便于調試,連接配接,又便于移植,修改。
建立正确的數學模型。即根據功能要求,描述出各個輸入和輸出變量之間的數學關系,它是關系到系統性功能好壞的重要因素。
為提高軟體設計的總體效率,以簡明,直覺的方法對任務進行描述,在編寫應用軟體之前,應繪制出程式流程圖。這不僅是程式設計的一個重要組成部分,而且是決定成敗的關鍵部分。從某種意義上講,多花一份時間來設計程式流程圖,就可節約幾倍源程式編譯調試時間。
要合理配置設定系統資源,包括ROM,RAM,定時器/計數器,中斷源等。其中最關鍵的是片内RAM配置設定。對8031來講,片内RAM指00H-7FH單元,這128個位元組的功能不完全相同,配置設定時應充分發揮其特長,做到物盡其用。
例如:在工作寄存器的8個單元中,R0和R1具有指針功能,是程式設計的重要角色,避免作為它用,20H—2FH這16個具有尋址功能,用來存放各種标志位。邏輯變量,狀态變量等。
設定堆棧區時應事先估算出子程式和中斷嵌套的級數及程式中堆棧操作指令使用情況,其大小應留有餘量。若系統擴充了RAM存儲器,應把使用頻率最高的資料緩沖器安排在片内RAM中,以提高處理速度,當RAM資源規劃好後,應列出一張RAM資源詳細配置設定表,以備程式設計查用友善。注意在程式的有關位置處寫上功能注 釋,提高程式的可讀性。
加強軟體抗幹擾設計,它是提高計算機應用系統可靠性的有力措施。
通過編輯軟體編輯出的原程式,必須用編譯程式彙編後生成目标代碼。如果原程式有文法錯誤則傳回編譯過程,修改原檔案再繼續編譯,直到無文法錯誤為止。這之後就是利用目标碼進行程式調試了,在運作中發現設計上的錯誤再重新修改源程式,如此反複直到成功。
一個單片機應用系統經過總體設計,硬體設計,軟體設計,制闆,元器件安裝後,在系統的程式存儲器中放入編制好的應用程式,系統即可運作。但一次性成功幾乎是不可能的,多少會出現一些硬體,軟體上的錯誤。這就需要通過調試來發現錯誤并加以改正。由于單片機在執行程式時是無法控制的,為了能調試程式,檢查硬體,軟體運作狀态,就必須借助某種開發工具模拟使用者實際的單片機,并且能随時觀察運作的中間過程而不改變運作中原有的資料性能和結果,進而進行模仿現場的真實調試。完成這一模仿工作的開發工具就是單片機仿真器。
白紀龍老師從事電子行業已經有15個年頭,
到目前為止已開發過的産品超上百款,目前大部分都已經量産上市,
從2018年開始花了5年的時間,
潛心錄制了上千集的實戰級電子工程師系列課程,
該課程從元器件到核心子產品到完整産品
老白的初心是“願天下工程師 不走彎路”