新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)中斷模塊詳細(xì)介紹

PIC單片機(jī)中斷模塊詳細(xì)介紹

作者: 時(shí)間:2012-09-13 來源:網(wǎng)絡(luò) 收藏

:

本文引用地址:http://m.butianyuan.cn/article/170873.htm

16F87X系列可以接收多達(dá)14個(gè)源。控制器寄存器INTCON標(biāo)記著各個(gè)中斷源的請(qǐng)求,對(duì)各個(gè)中斷設(shè)置屏蔽位,對(duì)全部中斷設(shè)置全局屏蔽位。

  16F87X系列的中斷包含:TMR0溢出中斷(TOIF)、外部中斷(INTF)、端口B變化中斷(RBIF)、并行從動(dòng)端口中斷(PSPIF)、A/D變換中斷、USART異步接收中斷(RCIF)和異步發(fā)送中斷(TXIF)、同步串行端口中斷(SSPIF)、CCP1中斷(CCPIIF)、TMR2中斷(TMR2IF)、TMR1中斷、CCP1中斷(CCP2)、E2PROM寫中斷(EEIF)、總線碰撞中斷(BCLIF)。

  各個(gè)中斷采用查詢方式進(jìn)行,即當(dāng)CPU口向應(yīng)中斷時(shí),事先要通過查詢中斷標(biāo)志位去判斷是哪個(gè)中斷產(chǎn)生中斷請(qǐng)求,然后執(zhí)行相應(yīng)的中斷服務(wù)程序。

  RB0/INT外中斷仍遵守PIC16F87X的中斷原則,當(dāng)有中斷時(shí)產(chǎn)生中斷標(biāo)志位,由CPU查詢識(shí)別中斷。根據(jù)這一原則,可以擴(kuò)展多個(gè)外中斷源,CPU響應(yīng)中斷后查詢中斷標(biāo)志位識(shí)別中斷。

  RB0/INT引腳上的外部中斷由邊沿觸發(fā),既可以是上升沿,也可以是下降沿,這由選擇寄存器OPTION_REG的INTEDG位(D6)決定。當(dāng)INTEDG=1時(shí),選擇上升沿觸發(fā);當(dāng)INTEDG=0時(shí),選擇下降沿觸發(fā)。一旦檢測到引腳上出現(xiàn)有效邊沿,就把INTF位(INTCON的D1)置1。這個(gè)中斷由中斷控制位INTE設(shè)置允許或禁止。

  為了防止錯(cuò)誤的死循環(huán)執(zhí)行同一個(gè)中斷,在重新開放這個(gè)中斷之前必須在中斷服務(wù)程序中用軟件對(duì)INTF位清0。如果INTE位在進(jìn)入休眠狀態(tài)之前已被置1,INT中斷可以喚醒在休眠狀態(tài)下的CPU。GIE位的狀態(tài)決定處理器是否在被喚醒后轉(zhuǎn)至中斷矢量。

  當(dāng)定時(shí)器TIMER0的計(jì)數(shù)器TMR0計(jì)滿溢出(即由FFH變成00H)時(shí),硬件將自動(dòng)把TGIF位置1。其中斷可以通過對(duì)TOIE位進(jìn)行設(shè)置來控制該中斷是否開放。

  當(dāng)CPU響應(yīng)RB7、RB4中斷時(shí),就有兩種情況產(chǎn)生:第一種稱為“短脈沖”,即在CPU響應(yīng)中斷期間引腳電平恢復(fù)到原始狀態(tài),對(duì)這種情況CPU不會(huì)產(chǎn)生虛假中斷現(xiàn)象。第二種稱為“寬脈沖”,即在CPU響應(yīng)中斷后引腳電平才恢復(fù)到原始狀態(tài),恢復(fù)到原始狀態(tài)的過程也產(chǎn)生中斷請(qǐng)求,這種情況就是虛假中斷現(xiàn)象。

  在端口B的D7~D4引腳上一旦有電平變化就把RBIF位置1,這個(gè)中斷可以通過對(duì)RBIE位進(jìn)行設(shè)置來控制該中斷是否開放。

以上就是PIC單片機(jī)中斷內(nèi)容。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉