第6章 中斷與中斷系統(tǒng)_第1頁(yè)
第6章 中斷與中斷系統(tǒng)_第2頁(yè)
第6章 中斷與中斷系統(tǒng)_第3頁(yè)
第6章 中斷與中斷系統(tǒng)_第4頁(yè)
第6章 中斷與中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)原理及應(yīng)用2012-2013-1第六章中斷與中斷系統(tǒng)學(xué)習(xí)要求了解中斷有關(guān)的基本概念掌握MCS-51系列單片機(jī)中斷系統(tǒng)的硬件結(jié)構(gòu)掌握CPU對(duì)中斷響應(yīng)的步驟掌握中斷服務(wù)程序的一般格式2第一節(jié)中斷與中斷系統(tǒng)的基本概念一、中斷的概念生活實(shí)例:你打開(kāi)火,燒上一壺水,然后去洗衣服,在洗衣服過(guò)程中,突然聽(tīng)到水壺發(fā)出開(kāi)水的報(bào)警聲,這時(shí),你停止洗衣服,立即去關(guān)掉火,然后將開(kāi)水灌入暖水瓶中,灌完開(kāi)水后,你又繼續(xù)洗衣服。洗衣服主任務(wù)水開(kāi)報(bào)警將開(kāi)水灌入暖水壺繼續(xù)洗衣服3

1、中斷在程序執(zhí)行過(guò)程中由于隨機(jī)事件的發(fā)生而被中斷運(yùn)行的情況,稱(chēng)為中斷

2、中斷系統(tǒng)是實(shí)現(xiàn)中斷功能的部件3、中斷源就是能發(fā)出中斷請(qǐng)求、引起中斷的設(shè)備或信號(hào)。中斷源主要有:

故障源;外圍設(shè)備;實(shí)時(shí)控制信號(hào);斷點(diǎn).44、中斷請(qǐng)求(中斷申請(qǐng))中斷源向CPU提出的處理請(qǐng)求。7、中斷返回5、中斷響應(yīng)過(guò)程CPU暫時(shí)中止自身事物,轉(zhuǎn)去執(zhí)行事件處理的過(guò)程6、中斷服務(wù)(中斷處理)對(duì)事件處理的整個(gè)過(guò)程事件處理完畢,CPU再回到原程序被終止的地方,繼續(xù)執(zhí)行主程序8、中斷服務(wù)程序響應(yīng)中斷后,CPU執(zhí)行的處理程序5二、中斷的用途

1、解決高速CPU與低速外設(shè)的匹配問(wèn)題2、及時(shí)處理突發(fā)事件突發(fā)事件:電源掉電、負(fù)荷超載、硬件故障、運(yùn)算溢出等3、實(shí)時(shí)控制4、實(shí)現(xiàn)人機(jī)聯(lián)系5、實(shí)現(xiàn)多機(jī)聯(lián)系6三、中斷響應(yīng)和中斷處理過(guò)程一個(gè)完整的中斷過(guò)程包括:中斷處理:CPU暫?,F(xiàn)行程序,將PC中下一條指令的地址入棧保護(hù),響應(yīng)中斷請(qǐng)求,進(jìn)入中斷服務(wù)程序;中斷服務(wù)程序首先保護(hù)現(xiàn)場(chǎng),然后執(zhí)行。中斷請(qǐng)求:首先中斷源提出中斷申請(qǐng)中斷優(yōu)先、中斷響應(yīng):在中斷允許的情況下,CPU先響應(yīng)級(jí)別高的中斷源提出的中斷請(qǐng)求,處理完畢后,再響應(yīng)級(jí)別較低的。中斷返回:回復(fù)現(xiàn)場(chǎng),最后返回主程序7第二節(jié)中斷系統(tǒng)的結(jié)構(gòu)及中斷控制一、中斷系統(tǒng)結(jié)構(gòu)8(一)中斷源8051單片機(jī)有5個(gè)中斷請(qǐng)求源:?jiǎn)纹瑱C(jī)INT0或外部輸入中斷源INT0(P3.2)INT1或外部輸入中斷源INT1(P3.3)T0片內(nèi)定時(shí)器T0的溢出T1片內(nèi)定時(shí)器T1的溢出串行口片內(nèi)串行口發(fā)送或接收中斷源9(二)中斷控制1)TCON(定時(shí)器/計(jì)數(shù)器控制寄存器)中的中斷請(qǐng)求標(biāo)志TF1TF0IE1IT1IE0IT0TCON位地址8FH8DH8BH8AH89H88H①I(mǎi)T0/IT1:外部中斷0/1的中斷觸發(fā)方式控制位當(dāng)IT0(IT1)=1時(shí),為脈沖觸發(fā)方式,下降沿有效,即負(fù)跳變(1→0)有效。當(dāng)IT0(IT1)=0時(shí),為電平觸發(fā)方式,低電平有效。由軟件置“1”或清“0”??赏ㄟ^(guò)位操作指令來(lái)實(shí)現(xiàn)。1.中斷請(qǐng)求標(biāo)志10TF1TF0IE1IT1IE0IT0D7D6D5D4D3D2D1D0TCON位地址8FH8DH8BH8AH89H88H②IE0/IE1:外部中斷0/1的中斷請(qǐng)求標(biāo)志位當(dāng)IT0(IT1)=0為電平觸發(fā)方式時(shí),若外部中斷0為低電平,則對(duì)IE0(IE1)置1,否則清0;當(dāng)IT0(IT1)=1時(shí),為脈沖觸發(fā)方式,若第一個(gè)機(jī)器周期檢測(cè)到外部中斷為高電平,第二個(gè)機(jī)器周期檢測(cè)到外部中斷為低電平時(shí),對(duì)IE0(IE1)置1,否則清0。11TF1TF0IE1IT1IE0IT0TCON位地址8FH8DH8BH8AH89H88H③TF0/TF1:T0或T1的溢出中斷請(qǐng)求標(biāo)志位當(dāng)啟動(dòng)T0或T1計(jì)數(shù)后,從初始值開(kāi)始加1計(jì)數(shù),當(dāng)最高位產(chǎn)生溢出時(shí),由硬件對(duì)TF0(TF1)置位,表示內(nèi)部T0或T1向CPU發(fā)出中斷請(qǐng)求,當(dāng)CPU響應(yīng)TF0(TF1)中斷時(shí),由硬件自動(dòng)對(duì)TF0(TF1)清零。也可用軟件查詢(xún)?cè)摌?biāo)志位,然后用軟件清零。122)SCON(串行口控制寄存器)中的中斷請(qǐng)求標(biāo)志TIRISCON位地址99H98H①RI:串行口接收中斷請(qǐng)求標(biāo)志位

當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“1”;請(qǐng)求中斷在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“0”。CLRRI或ANLSCON,#0FEH13TIRISCON位地址99H98H②TI:串行口發(fā)送中斷請(qǐng)求標(biāo)志位當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“0”。CLRTI或ANLSCON,#0FDH142.中斷允許控制標(biāo)志位單片機(jī)對(duì)中斷源的開(kāi)放或關(guān)閉是由中斷允許控制寄存器IE進(jìn)行控制EAESET1EX1ET0EX0IE位地址AFHACHABHAAHA9HA8H①EA:中斷允許總控制位。EA=0:屏蔽所有中斷請(qǐng)求;EA=1:CPU開(kāi)放所有中斷請(qǐng)求;15EAESET1EX1ET0EX0IE位地址AFHACHABHAAHA9HA8H②EX0(EX1):外部中斷0/1允許控制位EX0(EX1)=1:外部中斷0/1允許EX0(EX1)=0:外部中斷0/1禁止③ET0(ET1):定時(shí)/計(jì)數(shù)器0/1中斷允許控制位ET0(ET1)=0,禁止定時(shí)/計(jì)數(shù)0/1中斷ET0(ET1)=1,允許定時(shí)/計(jì)數(shù)0/116EAESET1EX1ET0EX0IE位地址AFHACHABHAAHA9HA8H④

ES:串行中斷允許控制位ES=0,串行中斷禁止ES=1,串行中斷允許17例1,假設(shè)允許T0和T1中斷,禁止其他中斷,請(qǐng)?jiān)O(shè)置IE的值。EAESET1EX1ET0EX0

解:(IE)=8AH1)字節(jié)操作指令:MOVIE,#8AH或MOVA8H,#8AH2)位操作指令:SETBET0SETBET1SETBEA183.中斷優(yōu)先級(jí)控制標(biāo)志位PSPT1PX1PT0PX0IP位地址BCHBBHBAHB9HB8H串行口中斷優(yōu)先級(jí)控制位,PS=1,為高;PS=0為低T1中斷優(yōu)先級(jí)控制位外部中斷1中斷優(yōu)先級(jí)控制位T0中斷優(yōu)先級(jí)控制位外部中斷0中斷優(yōu)先級(jí)控制位說(shuō)明:以上各位與IE的低五位相對(duì)應(yīng),為“1”時(shí)為高級(jí)。初始化編程時(shí),由軟件確定。19PSPT1PX1PT0PX0IP位地址BCHBBHBAHB9HB8H注意:當(dāng)單片機(jī)復(fù)位后,IP=00H,故所有的中斷都是低優(yōu)先級(jí)中斷??赏ㄟ^(guò)軟件對(duì)中斷源設(shè)置優(yōu)先級(jí)。例如,SETBPT0CLRPX0等。20中斷源的矢量地址及優(yōu)先級(jí)排序中斷系統(tǒng)對(duì)中斷優(yōu)先級(jí)處理原則1)不同級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí),先高后低;2)處理低級(jí)中斷又收到高級(jí)中斷請(qǐng)求時(shí),停低轉(zhuǎn)高;3)處理高級(jí)中斷又收到低級(jí)中斷請(qǐng)求時(shí),高不踩低;4)同級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí),按上表的順尋內(nèi)部查詢(xún);21例2:若要求中斷源T0,T1,INT0和INT1允許中斷,禁止串行口中斷,將T0,T1設(shè)為高優(yōu)先級(jí),INT0,INT1設(shè)為低優(yōu)先級(jí)。試確定IE、IP控制字。解:EX0ET0EX1ET1ESEA111101IEPX0PT0PX1PT1PSIP010100故:IE=10001111=8FHIP=00001010=0AH000022(三)中斷響應(yīng)過(guò)程1、中斷響應(yīng)條件1)中斷源發(fā)出中斷請(qǐng)求;2)中斷中允許位EA=1,即CPU開(kāi)放中斷;3)發(fā)出中斷請(qǐng)求的中斷源所對(duì)應(yīng)位為1,即,開(kāi)放中斷;232、編寫(xiě)中斷服務(wù)程序注意事項(xiàng)1)在相應(yīng)中斷服務(wù)程序入口地址放一條長(zhǎng)跳轉(zhuǎn)指令LJMP,若在2KB范圍內(nèi)轉(zhuǎn)移,可使用短跳轉(zhuǎn)AJMP;2)對(duì)一些中斷源,CPU在響應(yīng)中斷后會(huì)自動(dòng)清除中斷標(biāo)志,如TF0、TF1和邊沿觸發(fā)方式下的IE0、IE1。對(duì)串行接口中斷必須由用戶(hù)在中斷服務(wù)程序中用軟件清除相應(yīng)標(biāo)志位。如CLRTI對(duì)電平觸發(fā)的外部中斷需要利用外接電路來(lái)撤除中斷請(qǐng)求信號(hào)。3)在中斷服務(wù)程序中,用戶(hù)應(yīng)注意用軟件保護(hù)現(xiàn)場(chǎng),以免中斷返回后丟失原寄存器、累加器中的信息;4)在中斷服務(wù)程序從矢量地址開(kāi)始執(zhí)行,最后一條指令應(yīng)是返回指令“RETI”;24第三節(jié)中斷應(yīng)用舉例1.邊沿觸發(fā)方式中斷處理實(shí)現(xiàn)如圖:要求用4個(gè)燈對(duì)應(yīng)顯示4個(gè)開(kāi)關(guān)的狀態(tài),即開(kāi)關(guān)打開(kāi),燈滅;開(kāi)關(guān)閉合,燈亮。由另一個(gè)開(kāi)關(guān)控制中斷申請(qǐng),要求每申請(qǐng)一次,完成一個(gè)讀寫(xiě)過(guò)程,使指示燈與開(kāi)關(guān)狀態(tài)對(duì)應(yīng)。驅(qū)動(dòng)門(mén),調(diào)節(jié)電流25ORG0000HAJMPMAIN

ORG0003H

MOVA,#0FFHMOVP1,A

MOVA,P1SWAPAMOVP1,A

RETIORG1000HMAIN:SETBIT0SETBEX0SETBEAHERE:AJMPHEREEND262.電平觸發(fā)中斷處理實(shí)現(xiàn)中斷申請(qǐng)撤銷(xiāo)線(xiàn)向CPU申請(qǐng)中斷ORG0000HAJMPMAIN

ORG0003H

AJMPW1ORG0050HMAIN:CLRIT0

SETBP3.0

SETBEX0SETBEAHERE:AJMPHERE;INT0的電平觸發(fā)方式;D觸發(fā)器工作RD,SD為高電平時(shí),D工作27中斷申請(qǐng)撤銷(xiāo)線(xiàn)向CPU申請(qǐng)中斷ORG0100H

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論