標(biāo)題:
樸生電子51單片機(jī)學(xué)習(xí)-外部中斷
[打印本頁(yè)]
作者:
生非死懼
時(shí)間:
2019-3-13 00:17
標(biāo)題:
樸生電子51單片機(jī)學(xué)習(xí)-外部中斷
相信很多單片機(jī)初學(xué)者都會(huì)對(duì)中斷這個(gè)概念不太理解。
對(duì)于傳統(tǒng)的STC89C52單片機(jī),它只有兩個(gè)外部中斷。外部中斷0,外部中斷1 。但是我們要說(shuō)的STC15單片機(jī),有五個(gè)外部中斷,INT0,INT1,INT2,INT3,INT4.
再看外部中斷的時(shí)候,你會(huì)發(fā)現(xiàn)其實(shí)外部中斷真的是很簡(jiǎn)單。簡(jiǎn)單到只需要處理三個(gè)地方。 ① 打開(kāi)總中斷,打開(kāi)自己的中斷允許位;
② 選擇中斷的觸發(fā)方式;
③ 寫(xiě)中斷處理函數(shù)。
在STM32里面可能還需要清中斷標(biāo)志位。在STC15里面外部中斷服務(wù)函數(shù)里面是不需要手動(dòng)清中斷標(biāo)志位。
上述的三個(gè)步驟,我們使用代碼來(lái)實(shí)現(xiàn)。如下所示。
void Int3_Init(void)
{
EA = 1; // 打開(kāi)總中斷允許位
INT_CLKO = INT_CLKO | 0x20; // 0010 0000 打開(kāi)外部中斷 INT3
}
void Int3_Routine(void) interrupt 11 // 外部中斷INT3
{
LED1 = !LED1;
LED2 = !LED2;
LED3 = !LED3;
}
作者:
axkf
時(shí)間:
2019-3-13 13:30
謝謝樓主分享 學(xué)習(xí)中。。。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1