標(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