|
相信很多單片機(jī)初學(xué)者都會(huì)對(duì)中斷這個(gè)概念不太理解。
對(duì)于傳統(tǒng)的STC89C52單片機(jī),它只有兩個(gè)外部中斷。外部中斷0,外部中斷1 。但是我們要說的STC15單片機(jī),有五個(gè)外部中斷,INT0,INT1,INT2,INT3,INT4.
再看外部中斷的時(shí)候,你會(huì)發(fā)現(xiàn)其實(shí)外部中斷真的是很簡(jiǎn)單。簡(jiǎn)單到只需要處理三個(gè)地方。 ① 打開總中斷,打開自己的中斷允許位;
② 選擇中斷的觸發(fā)方式;
③ 寫中斷處理函數(shù)。
在STM32里面可能還需要清中斷標(biāo)志位。在STC15里面外部中斷服務(wù)函數(shù)里面是不需要手動(dòng)清中斷標(biāo)志位。
上述的三個(gè)步驟,我們使用代碼來實(shí)現(xiàn)。如下所示。
void Int3_Init(void)
{
EA = 1; // 打開總中斷允許位
INT_CLKO = INT_CLKO | 0x20; // 0010 0000 打開外部中斷 INT3
}
void Int3_Routine(void) interrupt 11 // 外部中斷INT3
{
LED1 = !LED1;
LED2 = !LED2;
LED3 = !LED3;
}
|
評(píng)分
-
查看全部評(píng)分
|