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