合理的軟件結構是設計出一個性能優良的單片機應用系統軟件的基礎,必須給予足夠的重視。由問題的定義,
系統的整個工作可分解為幾個相對獨立的操作,根據這些操作的相互聯系的時間關系,設計出一個合理的軟件結
構,使CPU并行地有條不紊地完成這些操作。
對于簡單的單片機應用系統通常采用順序設計方法,這種系統軟件由主程序和若干個中斷服務程序所構成。
根據系統各個操作的性質,指定哪些操作由中斷服務程序完成,哪些操作由主程序完成,并指定各個中斷的優先
級。中斷服務程序對實時時間請求作必要的處理,使系統能實時地并行地完成各個操作。中斷處理程序必須包括
現場保護、中斷服務、現場恢復、中斷返回等4個部分。中斷的發生是隨機的,他可能在任意地方打斷主程序的
運行,無法預知這時主程序執行的狀態。因此,在執行中斷服務程序時,必須對原有程序狀態進行保護?,F場保
護的內容應是中斷服務程序所使用的有關資源。中斷服務程序是中斷處理程序的主體,它由中斷所要完成的功能
所確定,如輸入或輸出一個數據等?,F場恢復與現場保護相對應,恢復被保護的有關寄存器狀態,中斷返回使
CPU回到被該中斷所打斷的地方繼續執行原來的程序。
主程序是一個順序執行和無限循環程序,不停地順序查詢各種軟件標志,以完成對日常事務的處理,主程序
和中斷服務之間的信息交換一般采用數據緩沖器和軟件標志方法。例如:定時中斷到1秒后置位標志SS,以通知主
程序對日歷時鐘進行計數,主程序查詢到SS=1時,清0該標志并完成時鐘計數。又如:A/D中斷服務程序在讀到一個
完整數據時將數據存入約定的緩沖器,并置位標志以通知主程序對此數據進行處理。再如,若要打印,主程序判斷
到打印機空時,將數據裝配到打印緩沖器,并啟動打印機和允許打印中斷。打印中斷服務程序將一個個數據輸出
打印,打印完后關機,并置位打印結束標志,以通知主程序打印機已空。
因為順序程序設計方法容易理解和掌握,也能滿足大多數簡單的應用系統對軟件功能的要求,因此是一種用
的很廣的方法。順序程序設計的缺點是軟件的結構不夠了清晰、軟件的修改擴充比較困難、實時性差。這是因為
功能復雜的時候,執行中斷服務程序要花費較多的時間,CPU執行中斷服務程序時不響應低級或同級的中斷,這可
能導致某些實時中斷請求得不到及時的響應,甚至會丟失中斷信息。如果多采用一些緩沖器和標志,讓大多數工
作由主程序完成,中斷服務程序只完成一些必需的操作,從而中斷服務程序的執行時間,這在一定程度上可以提
高系統實時性,但是眾多的軟件標志會使軟件結構變亂,容易發生錯誤,給調試帶來困難。對于復雜的應用系統,
可采用實時多任務操作系統。
深圳市麗晶微電子科技有限公司,專業從事半導體器行業的設計和銷售,專注于蠟燭IC,蠟燭芯片,閃燈
IC,閃燈芯片,音樂IC,音樂芯片,觸摸IC芯片,電子禮品PCBA,電子玩具PCBA定制。提供有大量標準品IC和客
戶委托開發設計的IC芯片定制,聯系電話:0755-29100085。