c51中斷處理過程
c51編譯器支援在c源程式中直接開發中斷過程,因此減輕了使用組合語言的繁瑣工作,提高了開發效率。中斷服務函式的完整語法如下:
void 函式名(void)[模式]
[再入]interrupt n [using r]
其中n(0~31)代表中斷號。c51編譯器允許32個中斷,具體使用哪個中斷由80c51系列的晶元決定。
r(0~3)代表第r組暫存器。在呼叫中斷函式時,要求中斷過程呼叫的函式所使用的暫存器組必須與其相同。
"再入"用於說明中斷處理函式有無"再入"能力。c51編譯器及其對c語言的擴充允許程式設計者對中斷所有方面的控制和暫存器組的使用。
這種支援能使程式設計者建立高效的中斷服務程式,使用者只須在c語言下關心中斷和必要的暫存器組切換操作。
中斷服務函式管理
中斷函式的結構 這裡是由硬體檢測到中斷訊號跳轉過來 o irq 執行到這裡之前 1.lr irq儲存有被中斷模式中的下一條即將執行的指令的位址 2.spsr irq儲存有被中斷模式的cpsr 3.cpsr中的m4 m0被設定為10010,進入到irq模式 4.跳到0x18的地方執行程式 sp irq...
中斷服務函式的編寫要求
中斷是嵌入式系統中重要的組成部分,但是在標準c中不包含中斷。許多編譯開發商在標準c上增加了對中斷的支援,提供新的關鍵字用於標示中斷服務程式 isr 類似於 interrupt program interrupt等。當乙個函式被定義為isr的時候,編譯器會自動為該函式增加中斷服務程式所需要的中斷現場入...
中斷服務函式的編寫要求
中斷是嵌入式系統中重要的組成部分,但是在標準c中不包含中斷。許多編譯開發商在標準c上增加了對中斷的支援,提供新的關鍵字用於標示中斷服務程式 isr 類似於 interrupt program interrupt等。當乙個函式被定義為isr的時候,編譯器會自動為該函式增加中斷服務程式所需要的中斷現場入...