資源描述:
《第五講 外部中斷和鍵盤 基于51單片機(jī)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、單片機(jī)工程技術(shù)培訓(xùn)班第五講鍵盤和外部中斷按鍵開關(guān)T1和T2分別為按鍵的閉合和斷開過程中的抖動期,抖動時間和開關(guān)的機(jī)械特性有關(guān),一般5~10ms,Ts為穩(wěn)定的閉合期,其時間由按鍵動作所確定,一般為十分之幾到幾秒。如何消除按鍵抖動常采用軟件消抖?;舅枷胧牵涸诘谝淮螜z測到有按鍵按下時,該鍵對應(yīng)的行線為低電平,執(zhí)行一段10ms的延時子程序后,確認(rèn)該行線是否仍為低電平,如果是說明該行確實(shí)有按鍵按下。當(dāng)按鍵抬起時,行線低電平變?yōu)楦唠娖?,?zhí)行10ms延時,檢測行線是否仍為高電平,說明按鍵確實(shí)抬起。獨(dú)立式鍵盤實(shí)驗(yàn)箱獨(dú)立式鍵盤電路矩陣式鍵盤MCS
2、-51中斷系統(tǒng)中斷和中斷系統(tǒng)CPU正在處理某件事的時候,外部發(fā)生了另一事件,請求CPU迅速處理,CPU暫時停止當(dāng)時的工作,轉(zhuǎn)入處理所發(fā)生的事件,處理結(jié)束后,再回到原來的地方,繼續(xù)原來的工作,這樣的過程稱為中斷,如圖所示。RETI主程序中斷服務(wù)中斷響應(yīng)中斷返回中斷請求中斷過程示意圖中斷系統(tǒng)——實(shí)現(xiàn)中斷功能的部件中斷源——產(chǎn)生中斷請求的源中斷優(yōu)先級一般計算機(jī)系統(tǒng)允許有多個中斷源。當(dāng)幾個中斷源同時向CPU請求中斷,要求服務(wù)時,就存在CPU優(yōu)先響應(yīng)哪一個中斷請求的問題。為此系統(tǒng)根據(jù)中斷源的輕重緩急進(jìn)行排隊(duì),規(guī)定每個中斷源都有一個中斷優(yōu)先級
3、別,優(yōu)先處理最緊急事件的中斷請求。中斷嵌套中斷嵌套是指CPU正在處理一個中斷源請求的時候,又發(fā)生了另一個優(yōu)先級比它高的中斷源請求,如果CPU能夠暫時中止執(zhí)行原來的處理程序,轉(zhuǎn)而去處理優(yōu)先級更高的中斷請求,處理結(jié)束后,再繼續(xù)執(zhí)行原來的低級中斷處理程序的過程。中斷嵌套示意圖主程序低級中斷高級中斷中斷過程對于不同的計算機(jī),中斷過程可能不盡相同,但是一般應(yīng)包括中斷請求、中斷響應(yīng)、中斷處理和中斷返回等四個步驟。1.中斷請求中斷過程是由中斷源向CPU發(fā)出中斷請求而開始的。有效中斷請求信號應(yīng)該一直保持到CPU作出響應(yīng)為止。2.中斷響應(yīng)CPU檢測
4、到中斷請求信號后,在滿足一定條件的情況下進(jìn)行響應(yīng)。其主要條件是:中斷標(biāo)志是否開放,是否高級中斷,是否執(zhí)行完一條指令等。3.中斷處理中斷處理或稱為中斷服務(wù),就是執(zhí)行中斷源所要求的中斷服務(wù)程序。在中斷服務(wù)程序中需要完成的主要工作是:①保護(hù)現(xiàn)場——根據(jù)需要把斷點(diǎn)處有關(guān)存儲器的內(nèi)容壓入堆棧,以保護(hù)主程序運(yùn)行的結(jié)果。②開/關(guān)中斷標(biāo)志——根據(jù)CPU響應(yīng)中斷后開/關(guān)中斷情況,適當(dāng)處理中斷標(biāo)志,以確保保護(hù)/恢復(fù)現(xiàn)場的正確進(jìn)行,確保所需中斷嵌套的實(shí)現(xiàn)。③中斷處理——根據(jù)中斷源的要求,完成相應(yīng)的任務(wù),這是中斷服務(wù)的核心。④恢復(fù)現(xiàn)場——在完成中斷服務(wù)之
5、后,返回被中斷的主程序之前,恢復(fù)堆棧中保護(hù)的各有關(guān)寄存器的內(nèi)容。4.中斷返回在中斷服務(wù)程序后,用一條中斷返回指令(RETI),保證返回主程序繼續(xù)執(zhí)行被中斷的程序。中斷標(biāo)志源允許總允許優(yōu)先級硬件查詢中斷允許控制寄存器定時器允許控制寄存器外部中斷外部中斷請求源外部中斷——INT0和INT1,由12和13腳輸入,它們的中斷請求信號有效方式分為電平觸發(fā)和脈沖觸發(fā)兩種。電平方式是低電平有效;脈沖方式則為負(fù)邊沿有效。外部中斷控制定時器控制寄存器(TCON)TCOND7D6D5D4D3D2D1D0(88H)XXXXIE1IT1IE0IT0復(fù)位后
6、,TCON被清0,CPU關(guān)中斷,所有中斷請求被禁止。IT0為外部中斷0請求信號方式控制位。IT0=1,脈沖方式(負(fù)跳變有效);IT0=0,電平方式(低電平有效)。IE0為外部中斷0請求標(biāo)志位,當(dāng)CPU檢測到INT0(P3.2)端有中斷請求信號時,由硬件置“1”IE0,使IE0=1請求中斷,中斷響應(yīng)后轉(zhuǎn)向中斷服務(wù)程序時,由硬件自動清零IE0。IT1為外部中斷1請求信號方式控制位,其作用同IT0。IE1為外部中斷1請求標(biāo)志位,其作用同IE0。中斷允許控制寄存器(IE)中斷允許寄存器格式如下:IED7D6D5D4D3D2D1D0(A8H
7、)EA//XXEX1XEX0復(fù)位后,IE被清0,所有中斷被禁止。EX1為外部中斷1允許控制位,EX1=1允許外部中斷1中斷,EX1=0,禁止外部中斷1中斷。EX0為外部中斷0允許控制位,其控制功能同EX1。中斷優(yōu)先級控制51單片機(jī)有兩個中斷優(yōu)先級,即可實(shí)現(xiàn)二級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的。中斷優(yōu)先級控制寄存器如下PX0(IP.0),外部中斷0優(yōu)先級設(shè)定位;PT0(IP.1),定時/計數(shù)器T0優(yōu)先級設(shè)定位;PX1(IP.2),外部中斷0優(yōu)先級設(shè)定位;PT1(IP.3),定時/
8、計數(shù)器T1優(yōu)先級設(shè)定位;PS(IP.4),串行口優(yōu)先級設(shè)定位;PT2(IP.5),定時/計數(shù)器T2優(yōu)先級設(shè)定位。復(fù)位后,IP置“0”。IPD7D6D5D4D3D2D1D0(B8H)///PSPT1PX1PT0PX00003H(0)高定時器T0000