51單片中斷系統
1.什麼是中斷系統
基本解釋:計算機執行某程序時,發生了緊急事件或有特殊要求,CPU暫停某程序的執行,轉而處理上述事件或者請求,處理完畢後繼續處理原程序的過程叫中斷。爲了更加方便理解這個概念,舉例:假設你正在家裏吃飯,這時接到一個電話快遞員說快遞到了需要到樓下取快遞(中斷請求)。你回答:“好的,馬上下去。”(中斷響應)這時你下路去取快遞(這就是中斷處理),取完快遞後繼續回到家裏吃飯(中斷返回)。中斷分爲4個步驟:中斷請求->中斷響應->中斷處理->中斷返回。
2.數據輸入/輸出傳遞方式
(1)無條件傳輸方式:一方對另一方來說總是準備好的。
(2)查詢傳輸方式:查詢前先查詢另一方的狀態,若已經準備好就傳送,否則就繼續查詢/等待。
(3)中斷傳送方式:一方通過申請中斷的方式與另一方進行數據傳遞。
(4)雙方儲存器存取方式:雙方直接通過總線傳遞數據,不經過CPU中轉。適用於數據量大高速通信設備,不佔用CPU時間。
3.中斷傳送方式特點
數據傳送的雙方平時各自做自己的工作,一旦甲方要求與乙方進行數據傳送,就主動發出信號提出申請,乙方接到申請後若同意傳送,安排好當前的工作,再響應與甲方發生數據傳送。完事後,回去繼續做打斷前的工作。中斷功能強弱是計算機性能優劣的重要標誌
1.提高CPU效率 2. 解決速度矛盾 3. 實現並行工作 4. 應付突發事件……
4.中斷系統結構
引起CPU中斷的根源,稱爲中斷源。中斷源向CPU提出的中斷請求。CPU暫時中斷原來的事務A,轉去處理事件B。對事件B處理完畢後,再回到原來被中斷的地方(即斷點),稱爲中斷返回。實現上述中斷功能的部件稱爲中斷系統(中斷機構)。
5.51子系列允許5箇中斷源
外部中斷源(2個):
INT0——由P3.2端口線引入,低電平或下降沿引起。
INT1——由P3.3端口線引入,低電平或下降沿引起。
這兩個外部中斷源標誌和它們的觸發方式控制位由特殊功能寄存器TCON的低4位控制。
內部中斷源(3個):
T0——定時器/計數器0中斷,由T0回零溢出引起。
T1——定時器/計數器1中斷,由T1回零溢出引起。
TI/RI——串行I/O中斷,串行端口完成一幀字符發送/接收後引起。
這3個內部中斷源的控制位分別鎖存在特殊功能寄存器TCON和SCON中
6.51單片機內部中斷結構圖
7.如何使用51單片機中斷系統
(1)允許中斷:
(2)配置中斷方式:
(3)編寫中斷函數:
中斷優先級處理原則:
對同時發生多箇中斷申請時:
☞不同優先級的中斷同時申請(很難遇到)
——先高後低
☞相同優先級的中斷同時申請(很難遇到)
——按序執行
☞正處理低優先級中斷又接到高級別中斷
——高打斷低
☞正處理高優先級中斷又接到低級別中斷
——高不理低
8.單片機同優先級中內部查詢順序
在同時收到幾個同一優先級的中斷請求時,哪一個中斷請求能優先得到響應,取決於內部的查詢順序。這相當於在同一優先級內,還同時存在另一輔助優先級結構,其查詢順序如下:
void int1 interrupt 2//中斷處理函數家關鍵字interrupt
{
中斷處理函數
}
9.中斷響應條件
-
此中斷源的中斷允許位爲1
-
總中斷CPU中斷打開(EA = 1)
-
中斷源有中斷請求
外部中斷1初始化比例:
外部中斷1處理函數:
void int1 interrupt 2//中斷處理函數家關鍵字interrupt
{
中斷處理函數
}