51單片機中斷設置

外部中斷系統框圖:

這些中斷請求源的中斷請求標誌位分別有特殊功能寄存器TCON和SCON的響應位鎖存

1、TCON寄存器

與中斷有關的是低四位。

1)IT0和 IT1——外中斷請求觸發標誌位:

      0——爲低電平觸發;

     1——爲下降沿觸發

    可由軟件置位和清除

2)IE0 和 IE1——外部中斷請求標誌位

     1——表示有中斷請求,CPU要響應中斷請求,跳向中斷服務程序,按優先級處理中斷程序,跳入中斷服務程序時,由硬件清0;

      0——表示沒有中斷請求。

復位值TCON都爲0。

SCON爲串口控制寄存器,詳見串口。

2、中斷允許寄存器IE,可以位尋址,復位爲0:

各位爲1時允許相應位的中斷,爲0時禁止響應中斷。EA是總中斷開關。

注意: 單片機響應外部中斷後,會自動將外部中斷標誌位清0,。但由於外部中斷請求觸發方式的特點,在使用外部中斷中要避免重複請求問題。

外部中斷0編程步奏;

1、設置外部中斷請求允許位,設置IE寄存器中的EA EX0位;

2、選擇合適的外部中斷請求方式,即設置TCON中的IT0 (或者IT1);

3、編寫中斷服務函數。

實例:

main()

{

    IT0 = 1; //設置外中斷0爲下降沿觸發    
    EX0 = 1; //開放外部中斷0
    EA = 1; //開總中斷
    
 
    while (1)
        ;
   }
void ext_interrupt(void)  interrupt 0
{
    delay(5);
    if (button0 == 0) {
        led = !led;
    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章