中斷的匯編語言編程
發布時間:2014/6/8 21:02:55 訪問次數:823
51單片機已經集成了絕大部分的中斷接口電路,設計人員的主要工作是在于要實現中斷的接口編程,SAA7126H中斷的匯編語言編程包括中斷系統的初始化和中斷服務程序兩部分。
中斷系統的初始化
51單片機的中斷系統功能可以通過上述特殊功能寄存器進行統一管理,中斷系統初始化是指用戶對這些特殊功能寄存器中的各控制位進行賦值。
中斷系統初始化步驟如下:
(1)開相應中斷源的中斷。
(2)設定所用中斷源的中斷優先級。
(3)若為外部中斷,則應規定低電平還是負脈沖的中斷觸發方式。
【例6-1]請寫出INTO為脈沖觸發和高中斷優先級的中斷系統初始化程序。
解:①采用位操作指令
顯然,采用位操作指令進行中斷系統初始化比較簡單,因為用戶不必記住各控制位在相應特殊功能寄存器中的確切位置,而各控制位名稱是比較容易記憶的。
中斷服務子程序
雖然不同的中斷源有不同的中斷服務要求,CPU在中斷服務子程序中的處理任務是不一樣的,但一般都有以下幾個步驟。
保護現場
點和保存有關寄存器的內容,前者有中斷隱指令在中斷周期內完成,而后者需要在中斷服務子程序中用指令編程實現(一般用入棧指令)。
51單片機已經集成了絕大部分的中斷接口電路,設計人員的主要工作是在于要實現中斷的接口編程,SAA7126H中斷的匯編語言編程包括中斷系統的初始化和中斷服務程序兩部分。
中斷系統的初始化
51單片機的中斷系統功能可以通過上述特殊功能寄存器進行統一管理,中斷系統初始化是指用戶對這些特殊功能寄存器中的各控制位進行賦值。
中斷系統初始化步驟如下:
(1)開相應中斷源的中斷。
(2)設定所用中斷源的中斷優先級。
(3)若為外部中斷,則應規定低電平還是負脈沖的中斷觸發方式。
【例6-1]請寫出INTO為脈沖觸發和高中斷優先級的中斷系統初始化程序。
解:①采用位操作指令
顯然,采用位操作指令進行中斷系統初始化比較簡單,因為用戶不必記住各控制位在相應特殊功能寄存器中的確切位置,而各控制位名稱是比較容易記憶的。
中斷服務子程序
雖然不同的中斷源有不同的中斷服務要求,CPU在中斷服務子程序中的處理任務是不一樣的,但一般都有以下幾個步驟。
保護現場
點和保存有關寄存器的內容,前者有中斷隱指令在中斷周期內完成,而后者需要在中斷服務子程序中用指令編程實現(一般用入棧指令)。