




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五章80C51單片機(jī)的中斷系統(tǒng)§5-1§51中斷技術(shù)概述§5-280C51中斷系統(tǒng)結(jié)構(gòu)及其控制§5-3中斷的控制§§5-4中斷的相應(yīng)響應(yīng)和響應(yīng)時間§5-5外部中斷源的擴(kuò)展§5-680C51的單步操作§5-7中斷服務(wù)程序的設(shè)計5.1 中斷技術(shù)概述1、中斷的基本概念問題:什么是中斷?中斷概念中斷是指CPU暫時中止其正在執(zhí)行的程序暫時中止其正在執(zhí)行的程序,轉(zhuǎn)而去執(zhí)行請求中斷的那個外設(shè)或者時間的服務(wù)程序,行請求中斷的那個外設(shè)或者時間的服務(wù)程序,等處理完畢后再返回執(zhí)行原來中止的程序。完畢后再返回執(zhí)行原來中止的程序
2、。中斷作用中斷能有效地解決慢速工作的外設(shè)與快速工作的CPU之間的矛盾,的矛盾,從而提高CPU的工作效率的工作效率,提高實(shí)時處理功能提高實(shí)時處理功能。中斷概念的出現(xiàn)是計算機(jī)系統(tǒng)結(jié)構(gòu)設(shè)計中的重大變革。中斷概念的出現(xiàn)是計算機(jī)系統(tǒng)結(jié)構(gòu)設(shè)計中的重大變革現(xiàn)代計算機(jī)中操作系統(tǒng)實(shí)現(xiàn)的管理調(diào)度,其物質(zhì)基礎(chǔ)就是豐富的中斷功能和完善的中斷系統(tǒng)。一個CPU資源要面向多個任務(wù),出現(xiàn)資源競爭,而中斷技術(shù)實(shí)質(zhì)是要面向多個任務(wù),出現(xiàn)資源競爭,而中斷技術(shù)實(shí)質(zhì)上是一種。中斷系統(tǒng)包括它的和。5.2 80C51中斷系統(tǒng)結(jié)構(gòu)及其控制8051單片機(jī)中斷系統(tǒng)包括單片機(jī)中斷系統(tǒng)包括:外部中斷定時器中斷接受RI和中斷發(fā)送TI5個中斷源,(IN
3、T0、T0、INT1、T1、串行口中斷)2個中斷優(yōu)先級,(高優(yōu)先級和低優(yōu)先級)可實(shí)現(xiàn)2級中斷嵌套??刂?080CC51中斷的有3個方面?zhèn)€方面、4個特殊功能寄存器:個特殊功能寄存器中斷請求;包括定時和外部中斷控制寄存器TCON和串行口控制寄存器SCON;SCON;中斷允許控制寄存器IEIE;中斷優(yōu)先級控制寄存器IP。中斷允許控制寄存器中斷優(yōu)先級控制寄存器、定時和外部中斷控制寄存器SCON、串行控制寄存器511單片微機(jī)的中斷系統(tǒng)需要解決的問題5.1.1中斷系統(tǒng)的幾個概念中斷相應(yīng)過程程序執(zhí)行過程中,允許外部或內(nèi)部事件打斷程序的執(zhí)行使其轉(zhuǎn)向?yàn)樘幚硗獠炕騼?nèi)部事件的中斷服務(wù)程序中的執(zhí)行,使其轉(zhuǎn)向?yàn)樘幚硗獠?/p>
4、或內(nèi)部事件的中斷服務(wù)程序中去;完成中斷服務(wù)程序后,CPU繼續(xù)原來被打斷的程序,這樣的過程稱為中斷響應(yīng)過程,如圖51所示。中斷源能產(chǎn)生中斷的外部和內(nèi)部事件。能產(chǎn)生中斷的外部和內(nèi)部事件中斷處理中斷過程可分:、和。中斷優(yōu)先級中斷優(yōu)先當(dāng)有幾個中斷源同時申請中斷時,或者CPU正在處理某中斷源服務(wù)程序時,又有另一中斷源申請中斷,那么源服務(wù)程序時,又有另中斷源申請中斷,那么CPU必須要。中斷嵌套可以CPU正在處理的低級的中斷服務(wù)程序待完成了高級中斷服務(wù)程序之后再繼續(xù)被打斷的序,待完成了高級中斷服務(wù)程序之后,再繼續(xù)被打斷的。5.1.2 512 中斷的主要功能實(shí)現(xiàn)CPU通過中斷的方法來協(xié)調(diào)快速CPU與慢速外部設(shè)
5、備之間的工作。依靠中斷技術(shù)能實(shí)現(xiàn)實(shí)時控制。實(shí)時控制要求計算機(jī)能及時完成被控對象隨機(jī)提出的分析和計算任務(wù)。在自動控制系統(tǒng)中,要求各控制參量隨機(jī)地在任何時刻可向計算機(jī)發(fā)出請求,CPU必須作出快速響應(yīng)、及時處理。應(yīng)用中由于外界的干擾、硬件或軟件設(shè)計中存在問題等因素,在實(shí)際運(yùn)行中會出現(xiàn)硬件故障運(yùn)算錯誤程序運(yùn)行故障等在實(shí)際運(yùn)行中會出現(xiàn)硬件故障、運(yùn)算錯誤、程序運(yùn)行故障等,有了中斷技術(shù),單片微機(jī)就能及時發(fā)現(xiàn)故障并自動處理。如通過鍵盤向單片微機(jī)發(fā)出中斷請求,可以實(shí)時干預(yù)計算機(jī)如通過鍵盤向單片微機(jī)發(fā)出中斷請求可以實(shí)時干預(yù)計算機(jī)的工作。單片微機(jī)的中斷系統(tǒng)需要解決的問題當(dāng)單片微機(jī)內(nèi)部或外部有中斷申請時,單機(jī)內(nèi)有中申
6、請,停下正在執(zhí)行的任務(wù),轉(zhuǎn)去處理中斷服務(wù)子程序,中斷服務(wù)處理后能繼續(xù)處理原先的任務(wù);繼續(xù)處理原先的任務(wù)當(dāng)有多個中斷源同時申請中斷時,應(yīng)能的中斷源實(shí)現(xiàn)中斷優(yōu)先級的控制源,實(shí)現(xiàn)中斷優(yōu)先級的控制;當(dāng)?shù)蛢?yōu)先級中斷源正在享用中斷服務(wù)時,若這時優(yōu)先級比它高的中斷源也申請中斷,要求能停下低優(yōu)先級中斷源的服務(wù)程序轉(zhuǎn)去,實(shí)現(xiàn)中斷嵌套,并能逐級正確返回原斷點(diǎn)處。正確返回原斷點(diǎn)處5.2 80C51 的中斷系統(tǒng)5.2 80C51 的中斷系統(tǒng)80C51的的包括、等。在80C51中,只有。圖52是80C51的中斷系統(tǒng)結(jié)構(gòu)示意圖。80C51中斷系統(tǒng)結(jié)構(gòu)IT0=0IT0=1T0IT1=0IT1=1T1TXRXTF0IE0EX
7、0PT0ET0PX1IE1EX1PT1TF1ET1TIRISCON中斷允許CPUCPU允許允許控制位中斷(源允許源允許)(總允許總允許)ESEAPS中斷標(biāo)志位TCON中斷允許寄存器IE中斷優(yōu)先級寄存器IPPX01010101010優(yōu)先級硬件查詢自然優(yōu)先級低優(yōu)優(yōu)先級自然優(yōu)先級高優(yōu)先級高PC矢量地址矢量地址PC5.2.1 中斷源80C51有5個中斷源INT0、T0、INT1、T1、串行口中斷RI和TI80C52增加了一個中斷源。每個中每一個中斷源都能被程序控制為都能被序控制為或。兩個外部中斷源和:定時/計數(shù)器T0定時/計數(shù)器T1串行口(T0和T1的定時/計數(shù)謚出中斷源和串口發(fā)送或接收中斷源。(T0
8、和T1的定時/計數(shù)謚出中斷源和串口發(fā)送或接收中斷源外部中斷外部中斷是由外部信號引起的,共有兩個外部中斷,它們的中外部中斷請求有可通過設(shè)置有關(guān)控制位進(jìn)行定義。當(dāng)設(shè)定為的,則向CPU提出中斷請求;當(dāng)設(shè)定為時,若INT0或INT1引腳上采樣到有效的,則向CPU提出中斷請求。:。當(dāng)IT0=0當(dāng)00時,低電平有效;當(dāng)IT0=1時,下降沿有效。INT1。INT1:當(dāng)IT1=0時,低電平有效;當(dāng)當(dāng)IT1=1時,下降沿有效。定時中斷當(dāng)時,表明設(shè)定的定時時間到或計數(shù)值已滿這時可以向CPU申請中斷或計數(shù)值已滿,這時可以向CPU申請中斷。80C51有兩個源,即:TFTF00:T0溢出中斷。TF1TF1:T1溢出中斷
9、。串行中斷每當(dāng)串行口時,就產(chǎn)時就產(chǎn)生一個中斷請求。RXD,TXDRXDTXD:串行中斷。5.2.2 中斷矢量矢量中斷:中斷當(dāng)CPU響應(yīng)中斷時,由硬件直接產(chǎn)生一個固定的地址,即,由矢量地址由矢量地址。當(dāng)CPU識別出某個中斷源時,由一個與該中斷源相對應(yīng)的矢量地址,從而轉(zhuǎn)入各自中斷服務(wù)程序。中斷矢量地址見表51。表5-1中斷矢量地址中斷源中斷矢量地址0003H 外部中斷0定時器/計數(shù)器0(T00000BH0013H 外部中斷1(INT1)定時器/計數(shù)器1(T1001BH0023H串行口(RI、TI)002BH定時器/計數(shù)器25.3 中斷的控制5.3.1 中斷源及中斷標(biāo)志5.3.1 中斷源及中斷標(biāo)志中
10、;中存放在中。(1)5個中斷源:串行口(2)中斷控制寄存器TCONCO:IT1控制位IT0控制位。TF1:T1計數(shù)溢出,由硬件置位T1計數(shù)溢出由硬件置位,響應(yīng)中斷時由硬件復(fù)位。不用中斷時用軟件清0。TFTF00:T0計數(shù)溢出,由硬件置位,響應(yīng)中斷時由硬件復(fù)位。不用中斷時用軟件清0。IEIE11=1時,。IEIE00=1時,。TI:發(fā)送完一幀,由硬件置位。響應(yīng)中斷后,必須用軟件清0。RI:接收完一幀,由硬件置位。接收完幀硬件位響應(yīng)中斷后,必須用軟件清0。中斷后須用軟件清5.3.2 中斷允許控制問題1:CPU如何控制允許中斷源的中斷申請?問題2:兩個以上中斷源同時中斷申請,先響應(yīng)哪一個?中斷允許和
11、禁止由控制。:相應(yīng)位為1時,表示對應(yīng)的中斷請求可以得到響應(yīng),其表示對應(yīng)的中斷請求可以得到響應(yīng)其中EA為總中斷允許。(1)中斷控制IE寄存器中各位設(shè)置:為0時,禁止中斷;為1時,允許中斷。系統(tǒng)復(fù)位后IE寄存器中各位均為0,禁止所有中斷。EX0:外部中斷0中斷允許位。ET0:T0中斷允許位。EX1:外部中斷1中斷允許位。外部中斷1中斷允許位ET1:T1中斷允許位。ES:串行口中斷允許位。EA:CPU中斷允許位。中斷允許位當(dāng),總允許后,各中斷的允許或禁止進(jìn)行設(shè)置;進(jìn)行設(shè)置當(dāng)時,。(2)中斷允許設(shè)置對相應(yīng)的位置1或者清除來允許或者禁止例:SETB EA ;開放CPU中斷,可接受中斷申請SETB EX0
12、 ;允許INT0中斷CLR ES ;禁止串行口中斷注: 復(fù)位時IE清零,即禁止所有中斷,用SETB指令置位IE中相應(yīng)的位來開啟中斷;來啟中必須逐級開放中斷??傞_關(guān)和子開關(guān);IE中相應(yīng)位置0,該位對應(yīng)的中斷源被屏蔽,禁止其中斷。5.3.3中斷優(yōu)先5.3.3 中斷優(yōu)先級級在80C51中有高、低兩個中斷優(yōu)先級,通過來設(shè)定。:IP寄存器中各位設(shè)置:為0時,設(shè)為低中斷優(yōu)先級;為1時,設(shè)為高中斷優(yōu)先級。系統(tǒng)復(fù)位后IP寄存器中各位均為0,。中斷優(yōu)先級控制,還有兩個中斷優(yōu)先級控制還有兩個的,一個用于指示某一高優(yōu)先級中斷正在進(jìn)行服務(wù),而屏蔽其它高優(yōu)先級中斷;另一個用于指示某一低優(yōu)先級中斷正在進(jìn)行服務(wù),從而屏蔽其
13、它低優(yōu)先級中斷,但不能屏蔽高優(yōu)先級中斷。在中斷執(zhí)行過程中,高中斷優(yōu)先級可以中斷低中斷優(yōu)先級的中斷過程,從而實(shí)現(xiàn)中斷嵌套。當(dāng)CPU同時接收到兩個不同優(yōu)先級的中斷請求時,先響應(yīng)高優(yōu)先級的中斷,如果CPU同時接收到的是幾個同一優(yōu)先級的中斷請求時,則由確定它們的優(yōu)先服務(wù)次序,在同在同一優(yōu)先級內(nèi)有一個由內(nèi)部查詢序列確定的優(yōu)先級內(nèi)有個由內(nèi)部查詢序列確定的。其順序?yàn)椋和獠?,定時0,外部1,定時1,串行口串行口,定時2中斷源外部中斷0定時器T0中斷外部中斷1定時器T1中斷串行口中斷定時器T2中斷中斷優(yōu)先級最高最低(80C52)IP中某位置1時,該中斷源為高優(yōu)先級,相反為低優(yōu)先級。例:SETB PT0 SET
14、BPT0;PT0置1,定時器0為高優(yōu)先級中斷IP 值為:00010其優(yōu)先級順序?yàn)椋篢0、INT0、INT1、T1、串行口5.3.4 外部中斷觸發(fā)方式INT0,INT1的中斷觸發(fā)方式有兩種:中斷發(fā)式有兩種,。,電平發(fā)生時觸發(fā)。IT1IT00選擇方式;IT1、IT00,選擇方式IT1、IT0l,選擇引腳檢測到前一個機(jī)器周期為高電平、后一個機(jī)器周期為低電平時,則置位IE0、IE1且向CPU申請中斷。引腳的中斷請求信號應(yīng)至少保持。跳變觸發(fā)方式求信號高低電平應(yīng)至少各保持求信號高、低電平應(yīng)至少各保持,才能確保才能確保CPU采集到電平的跳變;電平觸發(fā)方式斷的信號,。535中斷請求的撤除5.3.5由單片機(jī)內(nèi)部
15、硬件自動復(fù)位。由單片機(jī)內(nèi)部硬件自動復(fù)位對于T0、T1的溢出中斷和采用跳變觸發(fā)方式的外部中斷請求,在CPU響應(yīng)中斷后,由內(nèi)部硬件自動清除中斷標(biāo)志TF0和TF1、IE0和IE1,而自動撤除中斷請求。應(yīng)用軟件清除相應(yīng)標(biāo)志。對于串行接收發(fā)送中斷請求和80C52中的T2的溢出和捕獲中斷請求,在CPU響應(yīng)中斷后,必須在中斷服務(wù)程序中應(yīng)用軟件清除RI、TI、TF2和EXF2這些中斷標(biāo)志,才能撤除中斷。采用外加硬件結(jié)合軟件清除中斷請求。采用外加硬件結(jié)合軟件清除中斷請求對于采用電平觸發(fā)方式的外部中斷請求,中斷標(biāo)志的撤消是自動的但中斷請求信號的低電平可能志的撤消是自動的,但中斷請求信號的低電平可能繼續(xù)存在,在以后
16、機(jī)器周期采樣時又會把已清“0”的IE0IE1標(biāo)志重新置“1”,再次申請中斷。的IE0、IE1標(biāo)志重新置“1再次申請中斷保證在中斷響應(yīng)后把中斷請求信號從低電平強(qiáng)制保在中斷響應(yīng)后把中斷請求信號從低平強(qiáng)制改變?yōu)楦唠娖健?.4 中斷響應(yīng)過程和響應(yīng)時間5.4.1中斷的響應(yīng)過程5.4.1中斷的響應(yīng)過程斷從中斷請求發(fā)生到被響應(yīng)去執(zhí)行中斷服務(wù)程序從中斷請求發(fā)生直到被響應(yīng)去執(zhí)行中斷服務(wù)程序,中斷響應(yīng)過程的時序如圖54所示。中斷采樣針對外部中斷請求信號進(jìn)行的,而內(nèi)部中斷請求都針對外部中斷請求信號進(jìn)行的而內(nèi)部中斷請求都發(fā)生在芯片內(nèi)部,可以直接置位TCON或SCON中的中斷請求標(biāo)求標(biāo)志。在每個機(jī)器周期的S5P2期間,
17、各中斷標(biāo)志采樣相應(yīng)的中斷源并置入相應(yīng)標(biāo)志的中斷源,并置入相應(yīng)標(biāo)志。中斷查詢?nèi)舨樵兊侥持袛鄻?biāo)志為1,則按優(yōu)先級的高低進(jìn)行處理,即響應(yīng)中斷。80C51的中斷請求都匯集在TCON和SCON中。而中而CPU則在下一機(jī)器周期的S6期間按優(yōu)先級的順序查詢各中斷標(biāo)志。中斷標(biāo)志先查詢高級中斷,再查詢低級中斷。同級中斷按內(nèi)部中斷優(yōu)先級序列查詢。如果查詢到有中斷標(biāo)志位為“1”,則表明有中斷請求發(fā)生,接著從相鄰的下一個機(jī)器周期的S1狀態(tài)開始進(jìn)行中斷響應(yīng)。中斷響應(yīng)硬件自動成調(diào)用指令為LCALLaddr16,而硬件自動生成長調(diào)用指令為而addr16就就是各中斷源的中斷矢量地址(參見表5-1)。先將程序計數(shù)器PC的內(nèi)容(
18、斷點(diǎn)地址)壓入堆棧進(jìn)行保護(hù),先低位地址,后高位地址,同時堆棧指針SP加2。將對應(yīng)中斷源的中斷矢量地址裝入PC,去執(zhí)行中斷服務(wù)程序。去執(zhí)行中斷服務(wù)程序中斷服務(wù)程序由中斷矢量地址開始執(zhí)行,直至遇到RETI為止。執(zhí)行RETI,一是撤銷中斷申請,彈出斷點(diǎn)地址進(jìn)入PC,先彈出高位地址,后彈出低位地址,同時堆棧指針彈高位后彈低位同時堆棧指針SP減2,恢復(fù)原恢復(fù)程序的斷點(diǎn)地址執(zhí)行;二是恢復(fù)中斷觸發(fā)器原先狀態(tài)。表5-1中斷矢量地址中斷源中斷矢量地址0003H 外部中斷0定時器/計數(shù)器0(T00000BH0013H 外部中斷1(INT1)定時器/計數(shù)器1(T1001BH0023H串行口(RI、TI)002BH定
19、時器/計數(shù)器2中斷響應(yīng)是有條件的,在接受中斷申請時,如遇下列情況之一時,硬件生成的長調(diào)用指令“LCALL”將被封鎖:(1)中斷響應(yīng)必須滿足以下6個條件:個條件IE寄存器中的總允許位EA=1。相關(guān)中斷源的中斷請求標(biāo)志位置相關(guān)中斷源的中斷請求標(biāo)志位置“1”,即有中斷請求。相關(guān)中斷源的中斷允許位為相關(guān)中斷源的中斷允許位為“1”,即該中斷被允許。無同級或更高級中斷在被服務(wù)。當(dāng)前指令已執(zhí)行到最后一個機(jī)器周期并已經(jīng)結(jié)束。當(dāng)前指令已執(zhí)行到最后一個機(jī)器周期并已經(jīng)結(jié)束當(dāng)前正在執(zhí)行的指令不是返回指令或訪問IE、IP指令。都是中斷當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行子程序或中斷服務(wù)程序。都是由硬件自動地把斷點(diǎn)地址壓入堆棧,
20、然后通過軟都是由硬件自動地把斷點(diǎn)地址壓入堆棧然后通過軟件完成現(xiàn)場保護(hù)。執(zhí)行完子程序或中斷服務(wù)程序后,都要通過軟件完成現(xiàn)場恢復(fù),并通過執(zhí)行返回指令,重新返回到斷點(diǎn)處,繼續(xù)往下執(zhí)行程序。二者都可以實(shí)現(xiàn)嵌套,如中斷嵌套和子程序嵌套。二者都可以實(shí)現(xiàn)嵌套如中斷嵌套和子程序嵌套中斷的執(zhí)行與調(diào)用子程序差別中斷請求信號可以由外部設(shè)備發(fā)出,是隨機(jī)的,比如故障產(chǎn)生的中斷請求;子程序調(diào)用卻是由軟件編排好的。故障產(chǎn)生的中斷請求;子程序調(diào)用卻是由軟件編排好的中斷響應(yīng)后由轉(zhuǎn)入中斷服務(wù)程序,而子程序地址由軟件設(shè)定。中斷響應(yīng)是受控的,其響應(yīng)時間會受中斷響應(yīng)是受控的其響應(yīng)時間會受一些因素影響;些因素影響;子程序響應(yīng)時間是固定的
21、。5.4.2 542中斷響應(yīng)時間一般來說,在中斷系統(tǒng)中,中斷的響應(yīng)時間,。當(dāng)中斷請求標(biāo)志位查詢占1個機(jī)器周期,而這個機(jī)器周期又恰好是指令的最后一個機(jī)器周期在這個機(jī)器周期又恰好是指令的最后一個機(jī)器周期,在這個機(jī)器周期結(jié)束后,CPU即響應(yīng)中斷,產(chǎn)生硬件長調(diào)用LCALL指令,執(zhí)行這條長調(diào)用指令需要指令執(zhí)行這條長調(diào)用指令需要2個機(jī)器周期,個機(jī)器周期中斷響應(yīng)時間為3個機(jī)器周期。中斷響應(yīng)時間最長為8個機(jī)器周期。如果CPU正在執(zhí)行的是RETI指令或訪問IP、IE指令,則等待時間指令則等待時間不會多于2個機(jī)器周期,而中斷系統(tǒng)規(guī)定把這幾條指令執(zhí)行完必須再繼續(xù)執(zhí)行條指令后才能響應(yīng)中斷如這執(zhí)行完必須再繼續(xù)執(zhí)行一條指
22、令后才能響應(yīng)中斷,如這條指令恰好是4個機(jī)器周期長的指令(比如乘法指令MUL或除法指令DIV),再加上執(zhí)行長調(diào)用指令LCALL所需2個機(jī)器周期。如果中斷請求被前面所列三個條件之一所阻止,所需的響應(yīng)時間就更長些。如果正在處理同級或優(yōu)先級更高的中斷,那么中斷響應(yīng)的時間還需取決于處理中的中斷服務(wù)程序的執(zhí)行時間。5.5 外部中斷源的擴(kuò)展在80C51系列單片微機(jī)中,一般只有兩個外部中系列單片微機(jī)中般只有兩個外部中斷請求輸入端INT0、INT1。當(dāng)某個系統(tǒng)需要多個外部中斷源時可以通過增加OC門”部中斷源時,可以通過增加“門結(jié)合軟件來擴(kuò)展;當(dāng)定時器/計數(shù)器在系統(tǒng)中有空余時,可以通過對計數(shù)器計數(shù)長度的巧妙設(shè)置使
23、定時器/計數(shù)器的外部計數(shù)器計數(shù)長度的巧妙設(shè)置,使定時器輸入腳(T0或T1)成為外部中斷請求輸入端。5.5.1 551采用采用“OC門門”經(jīng)“線或”后實(shí)現(xiàn)經(jīng)線或后實(shí)現(xiàn)引入芯片本身的外部中斷請求輸入端(INT0、INT1)就可很方便地擴(kuò)展多個外部中斷源。圖55就是占用一個80C51的INT0(或INT1)擴(kuò)展4個外部中斷源的電路。個外部中斷源的電路4個擴(kuò)展外部中斷源中有一個或幾個出現(xiàn)高電平,反相器輸出為0,引起INT0低電平觸發(fā)中斷,中斷源都是電平觸發(fā)方式。當(dāng)滿足外部中斷請求條件時,則CPU響應(yīng)中斷,轉(zhuǎn)入0003H單元開始執(zhí)行中斷服務(wù)程序。在中斷服務(wù)程序中,由軟件設(shè)定的順序查詢外中斷哪一位是高電平
24、,然后進(jìn)入該中斷處理程序查詢的順序就是外部位是高電平,然后進(jìn)入該中斷處理程序。查詢的順序就是外部擴(kuò)展中斷源的中斷優(yōu)先級順序。流程圖示于。INT0的中斷服務(wù)程序如下:PINTO:PUSHPSWPUSHACCJBP1.0,LOOP1JBP1.l,LOOP2JBP1.212,LOOP3OO3JBP1.3,LOOP4;轉(zhuǎn)向中斷服務(wù)程序1;轉(zhuǎn)向中斷服務(wù)程序2;轉(zhuǎn)向中斷服務(wù)程序轉(zhuǎn)向中斷服務(wù)程序3;轉(zhuǎn)向中斷服務(wù)程序4;保護(hù)現(xiàn)場INTEND:POPACCPOPPSWRETILOOP1:AJMPINTENDLOOP2:AJMPINTENDLOOP3:AJMPINTENDLOOP4:AJMPINTEND;恢復(fù)現(xiàn)場
25、;中斷服務(wù)程序1;中斷服務(wù)程序2;中斷服務(wù)程序3;中斷服務(wù)程序45.5.2 通過片內(nèi)定時器/計數(shù)器來實(shí)現(xiàn)利用T0或T1的外部事件輸入引腳T0、T1作為邊沿觸發(fā)的外部中斷源這時應(yīng)設(shè)置定時器/計數(shù)器為計數(shù)器方式,發(fā)的外部中斷源。這時應(yīng)設(shè)置定時器計數(shù)器為計數(shù)器方式而計數(shù)常數(shù)為滿刻度值。外部輸入的脈沖在負(fù)跳變時有效,計數(shù)器加1后即溢出,向后即溢出向CPU申請中斷。申請中斷如果以T0、T1的計數(shù)脈沖輸入作為外部中斷請求輸入,T0、T1的中斷矢量用做第3、笫4個擴(kuò)展的外部中斷矢量,T0、T1的中斷服務(wù)程序入口地址作為第3、第4個擴(kuò)展的外部中斷服務(wù)入地址部中斷服務(wù)入口地址。當(dāng)T2用做波特率發(fā)生器時,若EXE
26、N2置1,則T2EX端的信號產(chǎn)生負(fù)跳變時,EXF2將置1,但不會發(fā)生重裝載或捕獲操作。T2EX可以作為一個附加的外部中斷源。例1. 把外部中斷請求信號2連到T1引腳上,T1設(shè)為方式2,即8位自動重裝載方式,時間常數(shù)設(shè)為滿刻度值FFH。外部中斷的服務(wù)程序入口地址存放在外部中斷服務(wù)程序存放T1的中斷矢量區(qū)中。中斷中初始化程序段如下:ORGAJMPORGLJMPINT20000HMAIN001BH;T1中斷矢量用作外部中斷2;的中斷矢量ORGMAIN:MOVMOVMOVSETBEASETBET1SETBTR1-INT2:-0030HTMOD,#60H ;設(shè)設(shè)T1計數(shù)器方式2TL1,#0FFH;置T1
27、計數(shù)常數(shù)TH1,#0FFH;開中斷開中斷;允許計數(shù)器1中斷;啟動計數(shù);外部中斷2服務(wù)程序5.6 80C51的單步操作80C51的中斷系統(tǒng)中,允許用戶單步運(yùn)行程序。一般是設(shè)的中斷系統(tǒng)中允許用戶單步運(yùn)行程序般是設(shè)置一個單步鍵(STEP) ,用以產(chǎn)生脈沖,按一次STEP鍵就執(zhí)行一條指令,通過檢查結(jié)果來檢查每條指令執(zhí)行的正確與否。條指令通過檢查結(jié)果來檢查每條指令執(zhí)行的正確與否80C51中斷結(jié)構(gòu)有一個重要特性,即執(zhí)行中斷返回指令RETI后,必須至少執(zhí)行一條其它指令后,才能響應(yīng)新的中斷。典型方法是使用外部中斷,并將其設(shè)為電平觸發(fā)方式。硬件上,把按鍵產(chǎn)生的脈沖連到INT0,作為外部中斷0的中斷請求信號,并把
28、電路設(shè)計為不按鍵時為低電平,按次鍵中斷請求信號,并把電路設(shè)計為不按鍵時為低電平,按一次鍵產(chǎn)生一個正脈沖。外部中斷0的中斷服務(wù)程序,在中斷服務(wù)程序的末尾為JNB P3.2,$JBP32,$JB P3.2RETI;INT0 =0 ,則等待;INT0=1 INT01,則等待;中斷返回在沒有按鍵時,INT0=0 ,中斷請求有效,響應(yīng)中斷后執(zhí)行中斷服務(wù)程序,在執(zhí)行到JNB P3.2,$指令時等待。當(dāng)按下單步鍵后產(chǎn)生一個正脈沖,執(zhí)行中斷返回,再執(zhí)行一條指令后,由于已為低電平,所以單片微機(jī)再次響應(yīng)中斷,并進(jìn)入中斷服務(wù)程序等待。務(wù)程序等待5.7 中斷服務(wù)程序的設(shè)計80C51共有5個中斷源,由4個特殊功能寄存器TCON、SCON、IE和IP進(jìn)行管理和控制。在80C51中,需要用軟件對以下中需要用軟件對以下5個內(nèi)容進(jìn)行設(shè)置:個內(nèi)容進(jìn)行設(shè)置中斷服務(wù)程序入口地址的設(shè)定。某一中斷源中斷請求的允許與禁止。對于外部中斷請求,還需進(jìn)行觸發(fā)方式的設(shè)定。各中斷源優(yōu)先級別的設(shè)定。各中斷源優(yōu)先級別的設(shè)定CCPUU開中斷與關(guān)中斷開中斷與關(guān)中斷。中斷程序一般包含中斷控制程序和中斷服務(wù)程序兩部分。中斷控制程序即中斷初始化程序,一般包含在主程序中。例2.試編寫設(shè)置外部中斷和串行接口中斷為高優(yōu)先級,外部中斷IN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年初級銀行從業(yè)資格之初級個人理財通關(guān)題庫(附帶答案)
- 2025跨國技術(shù)合作合同
- 2025年廣州市國際旅游組團(tuán)的合同
- 2025綠化景觀改造項(xiàng)目合同 標(biāo)準(zhǔn)版模板
- 2025年其它貿(mào)易合同外資代理協(xié)議樣本
- 基礎(chǔ)磚胎膜的砂漿標(biāo)號
- 斜屋面吊籃施工方案圖片
- 2025調(diào)味品供貨合同(醬油)
- 借東西合同樣本
- 沉井牽引管施工方案
- 《鐵路技術(shù)管理規(guī)程》(普速鐵路部分)
- 農(nóng)業(yè)新質(zhì)生產(chǎn)力
- 成語故事《一葉障目》課件2
- 西工大附中2025屆高考英語一模試卷含解析
- 《支付寶相關(guān)功能》課件
- 頸椎損傷術(shù)后的康復(fù)護(hù)理
- 2015-2024年十年高考物理真題分類匯編專題05 萬有引力與航天(解析版)
- 視覺導(dǎo)航關(guān)鍵技術(shù)
- 新能源汽車充電樁項(xiàng)目可行性研究報告模板及范文
- 如何應(yīng)對學(xué)習(xí)壓力
- 6S組織架構(gòu)及內(nèi)容
評論
0/150
提交評論