PIC單片機(jī)中斷模塊
發(fā)布時(shí)間:2008/11/25 0:00:00 訪問次數(shù):1049
pic16f87x系列單片機(jī)可以接收多達(dá)14個(gè)中斷源。中斷控制器寄存器intcon標(biāo)記著各個(gè)中斷源的請(qǐng)求,對(duì)各個(gè)中斷設(shè)置屏蔽位,對(duì)全部中斷設(shè)置全局屏蔽位。
pic16f87x系列的中斷包含: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單片機(jī)的中斷原則,當(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è)置來控制該中斷是否開放。
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
pic16f87x系列單片機(jī)可以接收多達(dá)14個(gè)中斷源。中斷控制器寄存器intcon標(biāo)記著各個(gè)中斷源的請(qǐng)求,對(duì)各個(gè)中斷設(shè)置屏蔽位,對(duì)全部中斷設(shè)置全局屏蔽位。
pic16f87x系列的中斷包含: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單片機(jī)的中斷原則,當(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è)置來控制該中斷是否開放。
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
熱門點(diǎn)擊
- PIC單片機(jī)捕捉模塊的設(shè)計(jì)思路
- PIC單片機(jī)的定時(shí)器/計(jì)數(shù)器模塊的應(yīng)用
- PIC單片機(jī)的外接電壓檢測復(fù)位電路舉例
- PIC單片機(jī)內(nèi)部上電延時(shí)復(fù)位(POR)的設(shè)計(jì)
- PIC單片機(jī)人機(jī)接口模塊4×4行列式鍵盤的程
- PIC單片機(jī)捕捉模塊的程序設(shè)計(jì)
- PIC單片機(jī)模/數(shù)轉(zhuǎn)換器ADC模塊的設(shè)計(jì)思路
- PIC單片機(jī)看門狗模塊的設(shè)計(jì)思路及程序設(shè)計(jì)
- PIC單片及定時(shí)器溢出中斷的設(shè)計(jì)思路及程序設(shè)
- PIC單片機(jī)外部上電延時(shí)復(fù)位電路的設(shè)計(jì)思路及
推薦技術(shù)資料
- 硬盤式MP3播放器終級(jí)改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- MPS 啟動(dòng)器開發(fā)板/評(píng)估套件(EVKT/P
- 12V、6A 四路降壓電源管理 IC
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(COT)
- 同步降壓PWM DC-DC線性
- ADC 技術(shù)參數(shù)與應(yīng)用需求之
- 反激變換器傳導(dǎo)和輻射電磁干擾分
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究