你的位置:首頁 > 互連技術(shù) > 正文

解析單片機(jī)中斷處理過程、中斷返回、中斷撤除

發(fā)布時(shí)間:2018-02-24 責(zé)任編輯:lina

【導(dǎo)讀】中斷響應(yīng)是CPU對(duì)中斷源中斷請(qǐng)求的響應(yīng),包括保護(hù)斷點(diǎn)和將程序轉(zhuǎn)向中斷服務(wù)程序的入口地址(通常稱矢量地址)。


中斷響應(yīng)
 
中斷響應(yīng)是CPU對(duì)中斷源中斷請(qǐng)求的響應(yīng),包括保護(hù)斷點(diǎn)和將程序轉(zhuǎn)向中斷服務(wù)程序的入口地址(通常稱矢量地址)。
 
 
中斷響應(yīng)過程
 
中斷響應(yīng)過程包括保護(hù)斷點(diǎn)和將程序轉(zhuǎn)向中斷服務(wù)程序的入口地址。首先,中斷系統(tǒng)通過硬件自動(dòng)生成長(zhǎng)調(diào)用指令(LACLL),該指令將自動(dòng)把斷點(diǎn)地址壓入堆棧保護(hù)(不保護(hù)累加器A、狀態(tài)寄存器PSW和其它寄存器的內(nèi)容),然后,將對(duì)應(yīng)的中斷入口地址裝入程序計(jì)數(shù)器PC(由硬件自動(dòng)執(zhí)行),使程序轉(zhuǎn)向該中斷入口地址,執(zhí)行中斷服務(wù)程序。MCS-51系列單片機(jī)各中斷源的入口地址由硬件事先設(shè)定,分配如下:
 
中斷源                  入口地址
 
外部中斷0               0003H
 
定時(shí)器T0中斷           000BH
 
外部中斷1               0013H
 
定時(shí)器T1中斷           001BH
 
串行口中斷             0023H 
 
使用時(shí),通常在這些中斷入口地址處存放一條絕對(duì)跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷服務(wù)程序的起始地址上去。
 
中斷返回
 
中斷返回是指中斷服務(wù)完后,計(jì)算機(jī)返回原來斷開的位置(即斷點(diǎn)),繼續(xù)執(zhí)行原來的程序。中斷返回由中斷返回指令RETI來實(shí)現(xiàn)。該指令的功能是把斷點(diǎn)地址從堆棧中彈出,送回到程序計(jì)數(shù)器PC,此外,還通知中斷系統(tǒng)已完成中斷處理,并同時(shí)清除優(yōu)先級(jí)狀態(tài)觸發(fā)器。特別要注意不能用“RET”指令代替“RETI”指令。
 
 
 
中斷請(qǐng)求的撤除
 
CPU響應(yīng)中斷請(qǐng)求后即進(jìn)入中斷服務(wù)程序,在中斷返回前,應(yīng)撤除該中斷請(qǐng)求,否則,會(huì)重復(fù)引起中斷而導(dǎo)致錯(cuò)誤。MCS-51各中斷源中斷請(qǐng)求撤消的方法各不相同,分別為:
 
1)定時(shí)器中斷請(qǐng)求的撤除
 
對(duì)于定時(shí)器0或1溢出中斷,CPU在響應(yīng)中斷后即由硬件自動(dòng)清除其中斷標(biāo)志位TF0或TF1,無需采取其它措施。
 
2)串行口中斷請(qǐng)求的撤除
 
對(duì)于串行口中斷,CPU在響應(yīng)中斷后,硬件不能自動(dòng)清除中斷請(qǐng)求標(biāo)志位TI、RI,必須在中斷服務(wù)程序中用軟件將其清除。
 
3)外部中斷請(qǐng)求的撤除
 
外部中斷可分為邊沿觸發(fā)型和電平觸發(fā)型。
 
對(duì)于邊沿觸發(fā)的外部中斷0或1,CPU在響應(yīng)中斷后由硬件自動(dòng)清除其中斷標(biāo)志位IE0或IE1,無需采取其它措施。



推薦閱讀:


簡(jiǎn)單解析鋰電池負(fù)極存在的四大問題  
雙極結(jié)型晶體管差分放大器的溫度補(bǔ)償 
詳細(xì)解析基于射頻電路中各典型功能模塊 
松下開發(fā)出識(shí)別能力接近肉眼的圖像傳感器 
如何對(duì)高頻變壓器內(nèi)部進(jìn)行emi布線?

 
要采購(gòu)變壓器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉