8 中斷
PIC單片機(jī)16F84具有實(shí)時(shí)處理功能,能對(duì)外界異常發(fā)生的事件由中斷技術(shù)作及時(shí)處理。
當(dāng)單片機(jī)的CPU正在處理某事件時(shí),若外部發(fā)生了某一事件(如定時(shí)器溢出、引腳上電平變化),請(qǐng)求CPU迅速去處理,于是CPU就暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件。中斷處理完該事件后,再回到原來被中止的地方,繼續(xù)執(zhí)行原來的工作,如圖1所示。實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng)。產(chǎn)生中斷的請(qǐng)求源稱為中斷源。中斷源向CPU提出的處理請(qǐng)求,稱為中斷請(qǐng)求或中斷申請(qǐng)。CPU暫時(shí)中斷自身的事務(wù),轉(zhuǎn)去處理事件的過程,稱為CPU的中斷響應(yīng)過程。對(duì)事件的整個(gè)處理過程,稱為中斷服務(wù)(或中斷處理)。處理完畢,再回到原來被中止的地方,稱為中斷返回。
PIC16F84單片機(jī)芯片有4種中斷源,其邏輯電路如圖2所示。
9中斷控制
中斷主要由中斷控制寄存器INTCON(圖3)來控制。INTCON是一個(gè)可讀/寫寄存器,含有定時(shí)器TMRO溢出、RB口的變化和外部INT引腳中斷等各種允許控制和標(biāo)志位。
全局中斷允許位GIE(D7)置1,將開放所有未被屏蔽的中斷,如將該位清零,將禁止所有的中斷。在響應(yīng)中斷時(shí),GIE位將被清零,以禁止其它中斷,返回的斷點(diǎn)地址被壓棧保護(hù),接著把中斷入口地址0004h裝入程序計(jì)數(shù)器PC。在中斷服務(wù)程序中,通過對(duì)中斷標(biāo)志位進(jìn)行查詢,確定中斷標(biāo)志位必須在重新開放中斷之前用軟件清零,以避免不斷地中斷申請(qǐng)而反復(fù)進(jìn)入中斷。
(1)INT中斷。RBO/INT引腳上的外部中斷由邊沿觸發(fā),當(dāng)INTEDG位(OPTION寄存器第6位)被置1時(shí),選用上升沿觸發(fā),如該位被清零,則由下降沿觸發(fā)。當(dāng)檢測(cè)到引腳上有規(guī)定的有效邊沿時(shí),便把INTE位(INTCON的D4位)置1。在重新開放這個(gè)中斷之前,必須在中斷服務(wù)程序中對(duì)INTE位清零。 (2)TMRO中斷。當(dāng)定時(shí)器TMRO的計(jì)數(shù)器計(jì)滿溢出(即由FFH變成00H)時(shí),硬件自動(dòng)把TOIF(INTCON的D2位)置1。其中斷可以通過對(duì)TOIE(INTCOND的D5位)置1或清零來控制該中斷是否開放。
(3)PORTB口引腳電平變化中斷。在PORTB口的D7~D0引腳上一旦有電平變化,就會(huì)把RBIF(INTCON的D0位)置1。這個(gè)中斷可以通過對(duì)RBIE(INTCON的D3位)置1或清零來控制該中斷是否開放。
(4)中斷的現(xiàn)場(chǎng)保護(hù)。在發(fā)生中斷時(shí),只有返回?cái)帱c(diǎn)的地址被壓棧保護(hù)。若用戶還希望保護(hù)關(guān)鍵的寄存器(如W寄存器和STATUS寄存器)。這需要由軟件來實(shí)現(xiàn)。有關(guān)中斷的現(xiàn)場(chǎng)保護(hù),請(qǐng)參看本報(bào)第15期有關(guān)PIC單片機(jī)指令識(shí)讀中的實(shí)例。
成都 衛(wèi)東
知識(shí)競(jìng)賽試題:
23用簡(jiǎn)單的實(shí)例說明中斷在PIC單片機(jī)中的用途。
編后語:“PIC單片機(jī)系列專題”至今已刊登了十五期,余下還將刊載十期,共計(jì)二十五期。以后的內(nèi)容將主要圍繞PIC單片機(jī)的匯編和實(shí)際應(yīng)用及開發(fā)來展開介紹,歡迎廣大讀者對(duì)本專題多提意見和建議。為配合本專題,“《電子報(bào)》單片機(jī)公共實(shí)驗(yàn)室”還為讀者及會(huì)員準(zhǔn)備一系列性價(jià)比高,適合初學(xué)者的PIC單片機(jī)、編程器、仿真器,以后本欄目將逐步加以介紹。另外,本專題的“知識(shí)競(jìng)賽”試題將于今年8月13日第32期《電子報(bào)》刊載完畢,歡迎讀者踴躍參加。參加的讀者務(wù)請(qǐng)?jiān)?月5日前,將所有試題按編號(hào)回答好后,寄往本報(bào)編輯部,或E-mail至dzb12@netdzb.com。我們將評(píng)出一、二、三等獎(jiǎng)若干名,分別獎(jiǎng)以獎(jiǎng)金、PIC開發(fā)器、書刊等(詳情見今年《電子報(bào)》第8期第十
|