新聞中心

AVR單片機中斷

作者: 時間:2013-01-09 來源:網(wǎng)絡 收藏

系統(tǒng)在正常運行主程序時,如果突然有一個重要的任務要馬上處理,那么系統(tǒng)就要保存現(xiàn)在的工作,然后再去處理這個任務,執(zhí)行這個重要任務完畢以后再返回原來的主程序繼續(xù)運行,這就是中斷。

主程序一旦進入中斷服務程序,那么芯片將自動的關閉,在這個期間不再執(zhí)行其它的中斷請求,直到中斷程序結束以后芯片才自動的重新開放。(注意,在這個期間某些中斷請求可能會被丟棄,某些請求會留下中斷請求標致,一旦當前的中斷執(zhí)行完畢,這個有中斷標致的請求就有可能馬上得到響應,如INT0的下降沿觸發(fā)就會留下中斷請求標致,而低電平觸發(fā)就不會流下中斷請求標致)。如果你想在執(zhí)行中斷服務程序時響應另外一個更重要的中斷,那么就要在中斷服務程序中加入一條打開的語句。

使用ICC快速建立中斷服務程序 程序文件

使用ICC Application Builder進行如下圖所示的設置。 可以設置是否使用中斷,上升延,下降延,低電平,任意的邏輯電平變化。

1.jpg

將生成的程序進行修改,DDRA = 0x01;PORTD = 0x0C; ,添加MAIN函數(shù),如下

//ICC- application builder : 2006-12-8 17:04:44

// Target : M16

// Crystal: 7.3728Mhz

#include

#include

unsigned int i=0;

void port_init(void)

{

PORTA = 0x00;

DDRA = 0x01;

PORTB = 0x00;

DDRB = 0x00;

PORTC = 0x00; //m103 output only

DDRC = 0x00;

PORTD = 0x0C; //使INT0,INT1對應口上拉電阻有效

DDRD = 0x00; //必須設置INT0,INT1對應口為輸入

}


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉