中斷撤銷
發布時間:2016/7/15 21:10:18 訪問次數:2665
中斷請求撤銷的主要目的是:保證對E13007于一次中斷請求信號只執行一次中斷響應。CPU響應中斷后,需要及時將中斷請求標志清除,否則將引起一個中斷信號觸發多次中斷響應。中斷撤銷一般分為硬件自動處理和軟件清除。
硬件自動處理:對于外部中斷0、外部中斷1、定時/計數器T0和T1來說,在CPU響應中斷后,將自動清除該中斷請求的標志位,無須軟件處理。軟件清除中斷:對于串行接口的中斷請求,當CPU響應中斷后,硬件不會自動清除中斷標志位TI或RI,因此需要在中斷服務程序中用軟件來人工清除。
需要注意的是,對于外部中斷,一般推薦采用下降沿觸發方式,而不采用低電平觸發方式。因為低電平觸發時,觸發電平有可能在很長一段時間內都會保持,這樣很容易引發再次觸發。
而當外部中斷必須使用低電平觸發時,中斷請求標志位只與外部輸入信號有關,當中斷請求標志位置1后,既不能由硬件自動清除,也不能由軟件清除。這時要撤銷中斷,必須把引起中斷請求的低電平拉高變 成高電平。一種比較簡單做法是在外部中斷輸入引腳和外部中斷源之間接一個具有異步置1功能的D觸發器,具體連接電路如圖7.5所示。該觸發器的輸入引腳D接地,輸出引腳Q接INTo(P3.3),異步置位引腳(sET)接到P3.7,外部中斷源的中斷輸入接到時鐘CLK引腳上。我們知道,當外部中斷源的輸入引腳有一個上升沿時,觸發器會采集輸入引腳D上的電平,此時,由于D引腳接地,恒為0,所以觸發器的輸出引腳Q輸出低電平,此時,外部中斷0產生中斷,當處理完這個中斷后,使P3.7輸出一個高電平到觸發器的置位端sET,置位觸發器,使得Q變為1,也就是撤銷中斷。當中斷撤銷后,為了保證能繼續響應新的中斷請求,再使P3.7輸出0。
中斷請求撤銷的主要目的是:保證對E13007于一次中斷請求信號只執行一次中斷響應。CPU響應中斷后,需要及時將中斷請求標志清除,否則將引起一個中斷信號觸發多次中斷響應。中斷撤銷一般分為硬件自動處理和軟件清除。
硬件自動處理:對于外部中斷0、外部中斷1、定時/計數器T0和T1來說,在CPU響應中斷后,將自動清除該中斷請求的標志位,無須軟件處理。軟件清除中斷:對于串行接口的中斷請求,當CPU響應中斷后,硬件不會自動清除中斷標志位TI或RI,因此需要在中斷服務程序中用軟件來人工清除。
需要注意的是,對于外部中斷,一般推薦采用下降沿觸發方式,而不采用低電平觸發方式。因為低電平觸發時,觸發電平有可能在很長一段時間內都會保持,這樣很容易引發再次觸發。
而當外部中斷必須使用低電平觸發時,中斷請求標志位只與外部輸入信號有關,當中斷請求標志位置1后,既不能由硬件自動清除,也不能由軟件清除。這時要撤銷中斷,必須把引起中斷請求的低電平拉高變 成高電平。一種比較簡單做法是在外部中斷輸入引腳和外部中斷源之間接一個具有異步置1功能的D觸發器,具體連接電路如圖7.5所示。該觸發器的輸入引腳D接地,輸出引腳Q接INTo(P3.3),異步置位引腳(sET)接到P3.7,外部中斷源的中斷輸入接到時鐘CLK引腳上。我們知道,當外部中斷源的輸入引腳有一個上升沿時,觸發器會采集輸入引腳D上的電平,此時,由于D引腳接地,恒為0,所以觸發器的輸出引腳Q輸出低電平,此時,外部中斷0產生中斷,當處理完這個中斷后,使P3.7輸出一個高電平到觸發器的置位端sET,置位觸發器,使得Q變為1,也就是撤銷中斷。當中斷撤銷后,為了保證能繼續響應新的中斷請求,再使P3.7輸出0。
上一篇:中斷服務子程序的編寫
上一篇:中斷響應時間