8051 外部中斷 (external interrupt)

Posted by: 邱小新 at 下午1:05 in
  1. 每一個 machine cycle 採樣一次訊號。
  2. 當中斷腳 (INT0) 被觸發後,若已在中斷致能 (EX0=1) 情況下,則中斷要求旗標 (IE0) 會設立為 1,再產生中斷。當 CPU 呼叫中斷服務程式,即自動清除 IE0 並執行中斷程式。嚴格的說,是由 IE0 旗標要求中斷,而非 INT0 腳直接要求,故 8051 亦可直接以指令設定 IE0 而產生中斷 0。
  3. 當我使用 falling edge-triggered 時,把 P3_2(INT0) 設成 0 時,發現中斷不再產生;重設成 1 後,中斷就會產生,不知啥原因。

triggered mode (觸發模式)

modeITxIEx說明
falling edge-triggered1clear只有當訊號從 high 變成 low 時會產生觸發。
low level-triggered0hold當訊號一直為 low 時會一直產生觸發,直到訊號變成 high。

edge-triggered (邊綠觸發)

  1. rising edge-triggered (正緣觸發)
    當訊號從 low 變成 high 時會產生觸發。
  2. falling edge-triggered (負緣觸發)
    當訊號從 high 變成 low 時會產生觸發。

1 意見

因為P3_2設成 0 時,P3_2的NMOS turn on, pad 電位為LOW,此時無法產生falling edge訊號,也就無法觸發中斷.
當P3_2設成 1 時,P3_2的NMOS turn off, pad因內部pull-up電阻,電位為HIGH,此時I/O腳當做input,外部拉LOW時會產生falling edge訊號,也就可以觸發中斷.您可以找8051有關I/O腳的電路設計圖,了解有關的I/O控制就明白了.

張貼留言