五個中斷有指定的IO口,一般51微控制器是P3.2是INT0,P3.3是INT1,P3.4是T0,P3.5是T1,INT0和INT1是外部中斷,T0和T1是定時器,ES是序列口中斷允許位,ET1是定時器1中斷允許位,EX1是外部中斷允許位,ET0和EX0類似。
要產生中斷,必須先配置好並使能中斷線。根據需要的邊沿檢測設定兩個觸發暫存器,同時在中斷遮蔽暫存器的相應位寫1允許中斷請求。
當外部中斷線上發生了期待的邊沿時,將產生一箇中斷請求,對應的掛起位也隨之被置l。在掛起暫存器的對應位寫1,將清除該中斷請求。
如果需要產生事件,必須先配置好並使能事件線。根據需要的邊沿檢測透過設定兩個觸發暫存器,同時在事件遮蔽暫存器的相應位寫1允許事件請求。
當事件線上發生了需要的邊沿時,將產生一個事件請求脈衝,對應的掛起位不被置1。透過在軟體中斷/事件暫存器寫1,也可以透過軟體產生中斷/事件請求。
擴充套件資料:
外部中斷的觸發有兩種觸發方式:電平觸發方式和跳沿觸發方式。
電平觸發方式
若外部中斷定義為電平觸發方式,外部中斷申請觸發器的狀態隨著CPU在每個機器週期取樣到的外部中斷輸入線的電平變化而變化,這能提高CPU對外部中斷請求的響應速度。
當外部中斷源被設定為電平觸發方式時,在中斷服務程式返回之前,外部中斷請求輸入必須無效(即變為高電平),否則CPU返回主程式後會再次響應中斷。所以電平觸發方式適合於外部中斷以低電平輸入而且中斷服務程式能清除外部中斷請求源(即外部中斷輸入電平又變為高電平)的情況。
跳沿觸發方式
外部中斷若定義為跳沿觸發方式,外部中斷申請觸發器能鎖存外部中斷輸入線上的負跳變。即便是CPU暫時不能響應,中斷申請標誌也不會丟失。
在這種方式裡,如果相繼連續兩次取樣,一個機器週期取樣到外部中斷輸入為高,下一個機器週期取樣為低,則置“1”中斷申請觸發器,直到CPU響應此中斷時才清’0’。
這樣不會丟失中斷,但輸入的負脈衝寬度至少保持12個時鐘週期(若晶振頻率為6MHz,則為21xs),才能被CPU取樣到。外部中斷的跳沿觸發方式適合於以負脈衝形式輸入的外部中斷請求。
五個中斷有指定的IO口,一般51微控制器是P3.2是INT0,P3.3是INT1,P3.4是T0,P3.5是T1,INT0和INT1是外部中斷,T0和T1是定時器,ES是序列口中斷允許位,ET1是定時器1中斷允許位,EX1是外部中斷允許位,ET0和EX0類似。
要產生中斷,必須先配置好並使能中斷線。根據需要的邊沿檢測設定兩個觸發暫存器,同時在中斷遮蔽暫存器的相應位寫1允許中斷請求。
當外部中斷線上發生了期待的邊沿時,將產生一箇中斷請求,對應的掛起位也隨之被置l。在掛起暫存器的對應位寫1,將清除該中斷請求。
如果需要產生事件,必須先配置好並使能事件線。根據需要的邊沿檢測透過設定兩個觸發暫存器,同時在事件遮蔽暫存器的相應位寫1允許事件請求。
當事件線上發生了需要的邊沿時,將產生一個事件請求脈衝,對應的掛起位不被置1。透過在軟體中斷/事件暫存器寫1,也可以透過軟體產生中斷/事件請求。
擴充套件資料:
外部中斷的觸發有兩種觸發方式:電平觸發方式和跳沿觸發方式。
電平觸發方式
若外部中斷定義為電平觸發方式,外部中斷申請觸發器的狀態隨著CPU在每個機器週期取樣到的外部中斷輸入線的電平變化而變化,這能提高CPU對外部中斷請求的響應速度。
當外部中斷源被設定為電平觸發方式時,在中斷服務程式返回之前,外部中斷請求輸入必須無效(即變為高電平),否則CPU返回主程式後會再次響應中斷。所以電平觸發方式適合於外部中斷以低電平輸入而且中斷服務程式能清除外部中斷請求源(即外部中斷輸入電平又變為高電平)的情況。
跳沿觸發方式
外部中斷若定義為跳沿觸發方式,外部中斷申請觸發器能鎖存外部中斷輸入線上的負跳變。即便是CPU暫時不能響應,中斷申請標誌也不會丟失。
在這種方式裡,如果相繼連續兩次取樣,一個機器週期取樣到外部中斷輸入為高,下一個機器週期取樣為低,則置“1”中斷申請觸發器,直到CPU響應此中斷時才清’0’。
這樣不會丟失中斷,但輸入的負脈衝寬度至少保持12個時鐘週期(若晶振頻率為6MHz,則為21xs),才能被CPU取樣到。外部中斷的跳沿觸發方式適合於以負脈衝形式輸入的外部中斷請求。