❶ 單片機匯編語言程序中中斷程序怎麼用,在程序中如何識別出哪裡是中斷服務程序,哪裡是主程序
一般在程序開頭有中斷子程序的入口處,在主程序里可以看到這些子程序的。標號名可以隨便取,但入口地址是固定的。
ORG 00H
AJMP MAIN
ORG 03H ;外部中斷0 入口地址
AJMP EX0INT ;跳轉至外部中斷0子程序
ORG 0BH
AJMP T0INT ;定時中斷0
ORG 13H
AJMP EX1INT ;外部中斷1
ORG 1BH
AJMP T1INT ;定時中斷1
ORG 23H
AJMP URT ;串口中斷
MAIN:
...
EX0INT: 外部中斷0子程序
...
T0INT: 定時器0 中斷子程序
...
❷ 中斷處理的流程包括哪些步驟
一個完整的中斷處理過程應該包括:中斷請求、中斷排隊或中斷判優、中斷響應、中斷處理和中斷返回等環節。
中斷請求是由中斷源向CPU發出中斷請求信號。外部設備發出中斷請求信號要具備以下兩個條件:
(1)外部設備的工作已經告一段落。例如輸入設備只有在啟動後,將要輸入的數據送到介面電路的數據寄存器(即准備好要輸入的數據)之後,才可以向CPU發出中斷請求。 (2)系統允許該外設發出中斷請求。如果系統不允許該外設發出中斷請求,可以將這個外設的請求屏蔽。當這個外設中斷請求被屏蔽,雖然這個外設准備工作已經完成,也不能發出中斷請求。
中民申請是隨機的,有時會出現多個中斷源同時提出中斷申請。但CPU每次只能響應一斷源的請求,那麼究竟先響應哪一個中斷源的請求呢?這就必須根據各中斷源工作性質的輕重緩急,預先安排一個優先順序順序,當多個中斷源同時申請中斷時,即按此優先順序順序進行排隊,等候CPU處理。一般是把最緊迫和速度最高的設備排在最優先的位置上。CPU首先響應優先順序別最高的中斷源。當中斷處理完畢,再響應級別低的中斷申請。
中斷排隊可以採用硬體的方法,也可以採用軟體的方法。前者速度快,但需要增加硬設備;後者無需增加硬設備,但速度慢,特別是中斷源很多時尤為突出。
當CPU響應中斷後,就用軟體查詢以確定是哪些外設申請中斷,並判斷它們的優先權。當CPU響應中斷後,把中斷寄存器的狀態作為一個外設讀入CPU,逐位檢測它們的狀態,若哪一位為1,則該位對應的外設有中斷請求,應轉到相應的服務程序的入口。