![第5章80C51單片機(jī)的中斷系統(tǒng)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/e7a553b6-1ada-451e-8603-69da8fceab54/e7a553b6-1ada-451e-8603-69da8fceab541.gif)
![第5章80C51單片機(jī)的中斷系統(tǒng)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/e7a553b6-1ada-451e-8603-69da8fceab54/e7a553b6-1ada-451e-8603-69da8fceab542.gif)
![第5章80C51單片機(jī)的中斷系統(tǒng)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/e7a553b6-1ada-451e-8603-69da8fceab54/e7a553b6-1ada-451e-8603-69da8fceab543.gif)
![第5章80C51單片機(jī)的中斷系統(tǒng)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/e7a553b6-1ada-451e-8603-69da8fceab54/e7a553b6-1ada-451e-8603-69da8fceab544.gif)
![第5章80C51單片機(jī)的中斷系統(tǒng)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/e7a553b6-1ada-451e-8603-69da8fceab54/e7a553b6-1ada-451e-8603-69da8fceab545.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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)時(shí)間§5-5外部中斷源的擴(kuò)展§5-680C51的單步操作§5-7中斷服務(wù)程序的設(shè)計(jì)5.1 中斷技術(shù)概述1、中斷的基本概念問(wèn)題:什么是中斷?中斷概念中斷是指CPU暫時(shí)中止其正在執(zhí)行的程序暫時(shí)中止其正在執(zhí)行的程序,轉(zhuǎn)而去執(zhí)行請(qǐng)求中斷的那個(gè)外設(shè)或者時(shí)間的服務(wù)程序,行請(qǐng)求中斷的那個(gè)外設(shè)或者時(shí)間的服務(wù)程序,等處理完畢后再返回執(zhí)行原來(lái)中止的程序。完畢后再返回執(zhí)行原來(lái)中止的程序
2、。中斷作用中斷能有效地解決慢速工作的外設(shè)與快速工作的CPU之間的矛盾,的矛盾,從而提高CPU的工作效率的工作效率,提高實(shí)時(shí)處理功能提高實(shí)時(shí)處理功能。中斷概念的出現(xiàn)是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中的重大變革。中斷概念的出現(xiàn)是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中的重大變革現(xiàn)代計(jì)算機(jī)中操作系統(tǒng)實(shí)現(xiàn)的管理調(diào)度,其物質(zhì)基礎(chǔ)就是豐富的中斷功能和完善的中斷系統(tǒng)。一個(gè)CPU資源要面向多個(gè)任務(wù),出現(xiàn)資源競(jìng)爭(zhēng),而中斷技術(shù)實(shí)質(zhì)是要面向多個(gè)任務(wù),出現(xiàn)資源競(jìng)爭(zhēng),而中斷技術(shù)實(shí)質(zhì)上是一種。中斷系統(tǒng)包括它的和。5.2 80C51中斷系統(tǒng)結(jié)構(gòu)及其控制8051單片機(jī)中斷系統(tǒng)包括單片機(jī)中斷系統(tǒng)包括:外部中斷定時(shí)器中斷接受RI和中斷發(fā)送TI5個(gè)中斷源,(IN
3、T0、T0、INT1、T1、串行口中斷)2個(gè)中斷優(yōu)先級(jí),(高優(yōu)先級(jí)和低優(yōu)先級(jí))可實(shí)現(xiàn)2級(jí)中斷嵌套??刂?080CC51中斷的有3個(gè)方面?zhèn)€方面、4個(gè)特殊功能寄存器:個(gè)特殊功能寄存器中斷請(qǐng)求;包括定時(shí)和外部中斷控制寄存器TCON和串行口控制寄存器SCON;SCON;中斷允許控制寄存器IEIE;中斷優(yōu)先級(jí)控制寄存器IP。中斷允許控制寄存器中斷優(yōu)先級(jí)控制寄存器、定時(shí)和外部中斷控制寄存器SCON、串行控制寄存器511單片微機(jī)的中斷系統(tǒng)需要解決的問(wèn)題5.1.1中斷系統(tǒng)的幾個(gè)概念中斷相應(yīng)過(guò)程程序執(zhí)行過(guò)程中,允許外部或內(nèi)部事件打斷程序的執(zhí)行使其轉(zhuǎn)向?yàn)樘幚硗獠炕騼?nèi)部事件的中斷服務(wù)程序中的執(zhí)行,使其轉(zhuǎn)向?yàn)樘幚硗獠?/p>
4、或內(nèi)部事件的中斷服務(wù)程序中去;完成中斷服務(wù)程序后,CPU繼續(xù)原來(lái)被打斷的程序,這樣的過(guò)程稱為中斷響應(yīng)過(guò)程,如圖51所示。中斷源能產(chǎn)生中斷的外部和內(nèi)部事件。能產(chǎn)生中斷的外部和內(nèi)部事件中斷處理中斷過(guò)程可分:、和。中斷優(yōu)先級(jí)中斷優(yōu)先當(dāng)有幾個(gè)中斷源同時(shí)申請(qǐng)中斷時(shí),或者CPU正在處理某中斷源服務(wù)程序時(shí),又有另一中斷源申請(qǐng)中斷,那么源服務(wù)程序時(shí),又有另中斷源申請(qǐng)中斷,那么CPU必須要。中斷嵌套可以CPU正在處理的低級(jí)的中斷服務(wù)程序待完成了高級(jí)中斷服務(wù)程序之后再繼續(xù)被打斷的序,待完成了高級(jí)中斷服務(wù)程序之后,再繼續(xù)被打斷的。5.1.2 512 中斷的主要功能實(shí)現(xiàn)CPU通過(guò)中斷的方法來(lái)協(xié)調(diào)快速CPU與慢速外部設(shè)
5、備之間的工作。依靠中斷技術(shù)能實(shí)現(xiàn)實(shí)時(shí)控制。實(shí)時(shí)控制要求計(jì)算機(jī)能及時(shí)完成被控對(duì)象隨機(jī)提出的分析和計(jì)算任務(wù)。在自動(dòng)控制系統(tǒng)中,要求各控制參量隨機(jī)地在任何時(shí)刻可向計(jì)算機(jī)發(fā)出請(qǐng)求,CPU必須作出快速響應(yīng)、及時(shí)處理。應(yīng)用中由于外界的干擾、硬件或軟件設(shè)計(jì)中存在問(wèn)題等因素,在實(shí)際運(yùn)行中會(huì)出現(xiàn)硬件故障運(yùn)算錯(cuò)誤程序運(yùn)行故障等在實(shí)際運(yùn)行中會(huì)出現(xiàn)硬件故障、運(yùn)算錯(cuò)誤、程序運(yùn)行故障等,有了中斷技術(shù),單片微機(jī)就能及時(shí)發(fā)現(xiàn)故障并自動(dòng)處理。如通過(guò)鍵盤(pán)向單片微機(jī)發(fā)出中斷請(qǐng)求,可以實(shí)時(shí)干預(yù)計(jì)算機(jī)如通過(guò)鍵盤(pán)向單片微機(jī)發(fā)出中斷請(qǐng)求可以實(shí)時(shí)干預(yù)計(jì)算機(jī)的工作。單片微機(jī)的中斷系統(tǒng)需要解決的問(wèn)題當(dāng)單片微機(jī)內(nèi)部或外部有中斷申請(qǐng)時(shí),單機(jī)內(nèi)有中申
6、請(qǐng),停下正在執(zhí)行的任務(wù),轉(zhuǎn)去處理中斷服務(wù)子程序,中斷服務(wù)處理后能繼續(xù)處理原先的任務(wù);繼續(xù)處理原先的任務(wù)當(dāng)有多個(gè)中斷源同時(shí)申請(qǐng)中斷時(shí),應(yīng)能的中斷源實(shí)現(xiàn)中斷優(yōu)先級(jí)的控制源,實(shí)現(xiàn)中斷優(yōu)先級(jí)的控制;當(dāng)?shù)蛢?yōu)先級(jí)中斷源正在享用中斷服務(wù)時(shí),若這時(shí)優(yōu)先級(jí)比它高的中斷源也申請(qǐng)中斷,要求能停下低優(yōu)先級(jí)中斷源的服務(wù)程序轉(zhuǎn)去,實(shí)現(xiàn)中斷嵌套,并能逐級(jí)正確返回原斷點(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)先級(jí)寄存器IPPX01010101010優(yōu)先級(jí)硬件查詢自然優(yōu)先級(jí)低優(yōu)優(yōu)先級(jí)自然優(yōu)先級(jí)高優(yōu)先級(jí)高PC矢量地址矢量地址PC5.2.1 中斷源80C51有5個(gè)中斷源INT0、T0、INT1、T1、串行口中斷RI和TI80C52增加了一個(gè)中斷源。每個(gè)中每一個(gè)中斷源都能被程序控制為都能被序控制為或。兩個(gè)外部中斷源和:定時(shí)/計(jì)數(shù)器T0定時(shí)/計(jì)數(shù)器T1串行口(T0和T1的定時(shí)/計(jì)數(shù)謚出中斷源和串口發(fā)送或接收中斷源。(T0
8、和T1的定時(shí)/計(jì)數(shù)謚出中斷源和串口發(fā)送或接收中斷源外部中斷外部中斷是由外部信號(hào)引起的,共有兩個(gè)外部中斷,它們的中外部中斷請(qǐng)求有可通過(guò)設(shè)置有關(guān)控制位進(jìn)行定義。當(dāng)設(shè)定為的,則向CPU提出中斷請(qǐng)求;當(dāng)設(shè)定為時(shí),若INT0或INT1引腳上采樣到有效的,則向CPU提出中斷請(qǐng)求。:。當(dāng)IT0=0當(dāng)00時(shí),低電平有效;當(dāng)IT0=1時(shí),下降沿有效。INT1。INT1:當(dāng)IT1=0時(shí),低電平有效;當(dāng)當(dāng)IT1=1時(shí),下降沿有效。定時(shí)中斷當(dāng)時(shí),表明設(shè)定的定時(shí)時(shí)間到或計(jì)數(shù)值已滿這時(shí)可以向CPU申請(qǐng)中斷或計(jì)數(shù)值已滿,這時(shí)可以向CPU申請(qǐng)中斷。80C51有兩個(gè)源,即:TFTF00:T0溢出中斷。TF1TF1:T1溢出中斷
9、。串行中斷每當(dāng)串行口時(shí),就產(chǎn)時(shí)就產(chǎn)生一個(gè)中斷請(qǐng)求。RXD,TXDRXDTXD:串行中斷。5.2.2 中斷矢量矢量中斷:中斷當(dāng)CPU響應(yīng)中斷時(shí),由硬件直接產(chǎn)生一個(gè)固定的地址,即,由矢量地址由矢量地址。當(dāng)CPU識(shí)別出某個(gè)中斷源時(shí),由一個(gè)與該中斷源相對(duì)應(yīng)的矢量地址,從而轉(zhuǎn)入各自中斷服務(wù)程序。中斷矢量地址見(jiàn)表51。表5-1中斷矢量地址中斷源中斷矢量地址0003H 外部中斷0定時(shí)器/計(jì)數(shù)器0(T00000BH0013H 外部中斷1(INT1)定時(shí)器/計(jì)數(shù)器1(T1001BH0023H串行口(RI、TI)002BH定時(shí)器/計(jì)數(shù)器25.3 中斷的控制5.3.1 中斷源及中斷標(biāo)志5.3.1 中斷源及中斷標(biāo)志中
10、;中存放在中。(1)5個(gè)中斷源:串行口(2)中斷控制寄存器TCONCO:IT1控制位IT0控制位。TF1:T1計(jì)數(shù)溢出,由硬件置位T1計(jì)數(shù)溢出由硬件置位,響應(yīng)中斷時(shí)由硬件復(fù)位。不用中斷時(shí)用軟件清0。TFTF00:T0計(jì)數(shù)溢出,由硬件置位,響應(yīng)中斷時(shí)由硬件復(fù)位。不用中斷時(shí)用軟件清0。IEIE11=1時(shí),。IEIE00=1時(shí),。TI:發(fā)送完一幀,由硬件置位。響應(yīng)中斷后,必須用軟件清0。RI:接收完一幀,由硬件置位。接收完幀硬件位響應(yīng)中斷后,必須用軟件清0。中斷后須用軟件清5.3.2 中斷允許控制問(wèn)題1:CPU如何控制允許中斷源的中斷申請(qǐng)?問(wèn)題2:兩個(gè)以上中斷源同時(shí)中斷申請(qǐng),先響應(yīng)哪一個(gè)?中斷允許和
11、禁止由控制。:相應(yīng)位為1時(shí),表示對(duì)應(yīng)的中斷請(qǐng)求可以得到響應(yīng),其表示對(duì)應(yīng)的中斷請(qǐng)求可以得到響應(yīng)其中EA為總中斷允許。(1)中斷控制IE寄存器中各位設(shè)置:為0時(shí),禁止中斷;為1時(shí),允許中斷。系統(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)時(shí),。(2)中斷允許設(shè)置對(duì)相應(yīng)的位置1或者清除來(lái)允許或者禁止例:SETB EA ;開(kāi)放CPU中斷,可接受中斷申請(qǐng)SETB EX0
12、 ;允許INT0中斷CLR ES ;禁止串行口中斷注: 復(fù)位時(shí)IE清零,即禁止所有中斷,用SETB指令置位IE中相應(yīng)的位來(lái)開(kāi)啟中斷;來(lái)啟中必須逐級(jí)開(kāi)放中斷??傞_(kāi)關(guān)和子開(kāi)關(guān);IE中相應(yīng)位置0,該位對(duì)應(yīng)的中斷源被屏蔽,禁止其中斷。5.3.3中斷優(yōu)先5.3.3 中斷優(yōu)先級(jí)級(jí)在80C51中有高、低兩個(gè)中斷優(yōu)先級(jí),通過(guò)來(lái)設(shè)定。:IP寄存器中各位設(shè)置:為0時(shí),設(shè)為低中斷優(yōu)先級(jí);為1時(shí),設(shè)為高中斷優(yōu)先級(jí)。系統(tǒng)復(fù)位后IP寄存器中各位均為0,。中斷優(yōu)先級(jí)控制,還有兩個(gè)中斷優(yōu)先級(jí)控制還有兩個(gè)的,一個(gè)用于指示某一高優(yōu)先級(jí)中斷正在進(jìn)行服務(wù),而屏蔽其它高優(yōu)先級(jí)中斷;另一個(gè)用于指示某一低優(yōu)先級(jí)中斷正在進(jìn)行服務(wù),從而屏蔽其
13、它低優(yōu)先級(jí)中斷,但不能屏蔽高優(yōu)先級(jí)中斷。在中斷執(zhí)行過(guò)程中,高中斷優(yōu)先級(jí)可以中斷低中斷優(yōu)先級(jí)的中斷過(guò)程,從而實(shí)現(xiàn)中斷嵌套。當(dāng)CPU同時(shí)接收到兩個(gè)不同優(yōu)先級(jí)的中斷請(qǐng)求時(shí),先響應(yīng)高優(yōu)先級(jí)的中斷,如果CPU同時(shí)接收到的是幾個(gè)同一優(yōu)先級(jí)的中斷請(qǐng)求時(shí),則由確定它們的優(yōu)先服務(wù)次序,在同在同一優(yōu)先級(jí)內(nèi)有一個(gè)由內(nèi)部查詢序列確定的優(yōu)先級(jí)內(nèi)有個(gè)由內(nèi)部查詢序列確定的。其順序?yàn)椋和獠?,定時(shí)0,外部1,定時(shí)1,串行口串行口,定時(shí)2中斷源外部中斷0定時(shí)器T0中斷外部中斷1定時(shí)器T1中斷串行口中斷定時(shí)器T2中斷中斷優(yōu)先級(jí)最高最低(80C52)IP中某位置1時(shí),該中斷源為高優(yōu)先級(jí),相反為低優(yōu)先級(jí)。例:SETB PT0 SET
14、BPT0;PT0置1,定時(shí)器0為高優(yōu)先級(jí)中斷IP 值為:00010其優(yōu)先級(jí)順序?yàn)椋篢0、INT0、INT1、T1、串行口5.3.4 外部中斷觸發(fā)方式INT0,INT1的中斷觸發(fā)方式有兩種:中斷發(fā)式有兩種,。,電平發(fā)生時(shí)觸發(fā)。IT1IT00選擇方式;IT1、IT00,選擇方式IT1、IT0l,選擇引腳檢測(cè)到前一個(gè)機(jī)器周期為高電平、后一個(gè)機(jī)器周期為低電平時(shí),則置位IE0、IE1且向CPU申請(qǐng)中斷。引腳的中斷請(qǐng)求信號(hào)應(yīng)至少保持。跳變觸發(fā)方式求信號(hào)高低電平應(yīng)至少各保持求信號(hào)高、低電平應(yīng)至少各保持,才能確保才能確保CPU采集到電平的跳變;電平觸發(fā)方式斷的信號(hào),。535中斷請(qǐng)求的撤除5.3.5由單片機(jī)內(nèi)部
15、硬件自動(dòng)復(fù)位。由單片機(jī)內(nèi)部硬件自動(dòng)復(fù)位對(duì)于T0、T1的溢出中斷和采用跳變觸發(fā)方式的外部中斷請(qǐng)求,在CPU響應(yīng)中斷后,由內(nèi)部硬件自動(dòng)清除中斷標(biāo)志TF0和TF1、IE0和IE1,而自動(dòng)撤除中斷請(qǐng)求。應(yīng)用軟件清除相應(yīng)標(biāo)志。對(duì)于串行接收發(fā)送中斷請(qǐng)求和80C52中的T2的溢出和捕獲中斷請(qǐng)求,在CPU響應(yīng)中斷后,必須在中斷服務(wù)程序中應(yīng)用軟件清除RI、TI、TF2和EXF2這些中斷標(biāo)志,才能撤除中斷。采用外加硬件結(jié)合軟件清除中斷請(qǐng)求。采用外加硬件結(jié)合軟件清除中斷請(qǐng)求對(duì)于采用電平觸發(fā)方式的外部中斷請(qǐng)求,中斷標(biāo)志的撤消是自動(dòng)的但中斷請(qǐng)求信號(hào)的低電平可能志的撤消是自動(dòng)的,但中斷請(qǐng)求信號(hào)的低電平可能繼續(xù)存在,在以后
16、機(jī)器周期采樣時(shí)又會(huì)把已清“0”的IE0IE1標(biāo)志重新置“1”,再次申請(qǐng)中斷。的IE0、IE1標(biāo)志重新置“1再次申請(qǐng)中斷保證在中斷響應(yīng)后把中斷請(qǐng)求信號(hào)從低電平強(qiáng)制保在中斷響應(yīng)后把中斷請(qǐng)求信號(hào)從低平強(qiáng)制改變?yōu)楦唠娖健?.4 中斷響應(yīng)過(guò)程和響應(yīng)時(shí)間5.4.1中斷的響應(yīng)過(guò)程5.4.1中斷的響應(yīng)過(guò)程斷從中斷請(qǐng)求發(fā)生到被響應(yīng)去執(zhí)行中斷服務(wù)程序從中斷請(qǐng)求發(fā)生直到被響應(yīng)去執(zhí)行中斷服務(wù)程序,中斷響應(yīng)過(guò)程的時(shí)序如圖54所示。中斷采樣針對(duì)外部中斷請(qǐng)求信號(hào)進(jìn)行的,而內(nèi)部中斷請(qǐng)求都針對(duì)外部中斷請(qǐng)求信號(hào)進(jìn)行的而內(nèi)部中斷請(qǐng)求都發(fā)生在芯片內(nèi)部,可以直接置位TCON或SCON中的中斷請(qǐng)求標(biāo)求標(biāo)志。在每個(gè)機(jī)器周期的S5P2期間,
17、各中斷標(biāo)志采樣相應(yīng)的中斷源并置入相應(yīng)標(biāo)志的中斷源,并置入相應(yīng)標(biāo)志。中斷查詢?nèi)舨樵兊侥持袛鄻?biāo)志為1,則按優(yōu)先級(jí)的高低進(jìn)行處理,即響應(yīng)中斷。80C51的中斷請(qǐng)求都匯集在TCON和SCON中。而中而CPU則在下一機(jī)器周期的S6期間按優(yōu)先級(jí)的順序查詢各中斷標(biāo)志。中斷標(biāo)志先查詢高級(jí)中斷,再查詢低級(jí)中斷。同級(jí)中斷按內(nèi)部中斷優(yōu)先級(jí)序列查詢。如果查詢到有中斷標(biāo)志位為“1”,則表明有中斷請(qǐng)求發(fā)生,接著從相鄰的下一個(gè)機(jī)器周期的S1狀態(tài)開(kāi)始進(jìn)行中斷響應(yīng)。中斷響應(yīng)硬件自動(dòng)成調(diào)用指令為L(zhǎng)CALLaddr16,而硬件自動(dòng)生成長(zhǎng)調(diào)用指令為而addr16就就是各中斷源的中斷矢量地址(參見(jiàn)表5-1)。先將程序計(jì)數(shù)器PC的內(nèi)容(
18、斷點(diǎn)地址)壓入堆棧進(jìn)行保護(hù),先低位地址,后高位地址,同時(shí)堆棧指針SP加2。將對(duì)應(yīng)中斷源的中斷矢量地址裝入PC,去執(zhí)行中斷服務(wù)程序。去執(zhí)行中斷服務(wù)程序中斷服務(wù)程序由中斷矢量地址開(kāi)始執(zhí)行,直至遇到RETI為止。執(zhí)行RETI,一是撤銷中斷申請(qǐng),彈出斷點(diǎn)地址進(jìn)入PC,先彈出高位地址,后彈出低位地址,同時(shí)堆棧指針彈高位后彈低位同時(shí)堆棧指針SP減2,恢復(fù)原恢復(fù)程序的斷點(diǎn)地址執(zhí)行;二是恢復(fù)中斷觸發(fā)器原先狀態(tài)。表5-1中斷矢量地址中斷源中斷矢量地址0003H 外部中斷0定時(shí)器/計(jì)數(shù)器0(T00000BH0013H 外部中斷1(INT1)定時(shí)器/計(jì)數(shù)器1(T1001BH0023H串行口(RI、TI)002BH定
19、時(shí)器/計(jì)數(shù)器2中斷響應(yīng)是有條件的,在接受中斷申請(qǐng)時(shí),如遇下列情況之一時(shí),硬件生成的長(zhǎng)調(diào)用指令“LCALL”將被封鎖:(1)中斷響應(yīng)必須滿足以下6個(gè)條件:個(gè)條件IE寄存器中的總允許位EA=1。相關(guān)中斷源的中斷請(qǐng)求標(biāo)志位置相關(guān)中斷源的中斷請(qǐng)求標(biāo)志位置“1”,即有中斷請(qǐng)求。相關(guān)中斷源的中斷允許位為相關(guān)中斷源的中斷允許位為“1”,即該中斷被允許。無(wú)同級(jí)或更高級(jí)中斷在被服務(wù)。當(dāng)前指令已執(zhí)行到最后一個(gè)機(jī)器周期并已經(jīng)結(jié)束。當(dāng)前指令已執(zhí)行到最后一個(gè)機(jī)器周期并已經(jīng)結(jié)束當(dāng)前正在執(zhí)行的指令不是返回指令或訪問(wèn)IE、IP指令。都是中斷當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行子程序或中斷服務(wù)程序。都是由硬件自動(dòng)地把斷點(diǎn)地址壓入堆棧,
20、然后通過(guò)軟都是由硬件自動(dòng)地把斷點(diǎn)地址壓入堆棧然后通過(guò)軟件完成現(xiàn)場(chǎng)保護(hù)。執(zhí)行完子程序或中斷服務(wù)程序后,都要通過(guò)軟件完成現(xiàn)場(chǎng)恢復(fù),并通過(guò)執(zhí)行返回指令,重新返回到斷點(diǎn)處,繼續(xù)往下執(zhí)行程序。二者都可以實(shí)現(xiàn)嵌套,如中斷嵌套和子程序嵌套。二者都可以實(shí)現(xiàn)嵌套如中斷嵌套和子程序嵌套中斷的執(zhí)行與調(diào)用子程序差別中斷請(qǐng)求信號(hào)可以由外部設(shè)備發(fā)出,是隨機(jī)的,比如故障產(chǎn)生的中斷請(qǐng)求;子程序調(diào)用卻是由軟件編排好的。故障產(chǎn)生的中斷請(qǐng)求;子程序調(diào)用卻是由軟件編排好的中斷響應(yīng)后由轉(zhuǎn)入中斷服務(wù)程序,而子程序地址由軟件設(shè)定。中斷響應(yīng)是受控的,其響應(yīng)時(shí)間會(huì)受中斷響應(yīng)是受控的其響應(yīng)時(shí)間會(huì)受一些因素影響;些因素影響;子程序響應(yīng)時(shí)間是固定的
21、。5.4.2 542中斷響應(yīng)時(shí)間一般來(lái)說(shuō),在中斷系統(tǒng)中,中斷的響應(yīng)時(shí)間,。當(dāng)中斷請(qǐng)求標(biāo)志位查詢占1個(gè)機(jī)器周期,而這個(gè)機(jī)器周期又恰好是指令的最后一個(gè)機(jī)器周期在這個(gè)機(jī)器周期又恰好是指令的最后一個(gè)機(jī)器周期,在這個(gè)機(jī)器周期結(jié)束后,CPU即響應(yīng)中斷,產(chǎn)生硬件長(zhǎng)調(diào)用LCALL指令,執(zhí)行這條長(zhǎng)調(diào)用指令需要指令執(zhí)行這條長(zhǎng)調(diào)用指令需要2個(gè)機(jī)器周期,個(gè)機(jī)器周期中斷響應(yīng)時(shí)間為3個(gè)機(jī)器周期。中斷響應(yīng)時(shí)間最長(zhǎng)為8個(gè)機(jī)器周期。如果CPU正在執(zhí)行的是RETI指令或訪問(wèn)IP、IE指令,則等待時(shí)間指令則等待時(shí)間不會(huì)多于2個(gè)機(jī)器周期,而中斷系統(tǒng)規(guī)定把這幾條指令執(zhí)行完必須再繼續(xù)執(zhí)行條指令后才能響應(yīng)中斷如這執(zhí)行完必須再繼續(xù)執(zhí)行一條指
22、令后才能響應(yīng)中斷,如這條指令恰好是4個(gè)機(jī)器周期長(zhǎng)的指令(比如乘法指令MUL或除法指令DIV),再加上執(zhí)行長(zhǎng)調(diào)用指令LCALL所需2個(gè)機(jī)器周期。如果中斷請(qǐng)求被前面所列三個(gè)條件之一所阻止,所需的響應(yīng)時(shí)間就更長(zhǎng)些。如果正在處理同級(jí)或優(yōu)先級(jí)更高的中斷,那么中斷響應(yīng)的時(shí)間還需取決于處理中的中斷服務(wù)程序的執(zhí)行時(shí)間。5.5 外部中斷源的擴(kuò)展在80C51系列單片微機(jī)中,一般只有兩個(gè)外部中系列單片微機(jī)中般只有兩個(gè)外部中斷請(qǐng)求輸入端INT0、INT1。當(dāng)某個(gè)系統(tǒng)需要多個(gè)外部中斷源時(shí)可以通過(guò)增加OC門(mén)”部中斷源時(shí),可以通過(guò)增加“門(mén)結(jié)合軟件來(lái)擴(kuò)展;當(dāng)定時(shí)器/計(jì)數(shù)器在系統(tǒng)中有空余時(shí),可以通過(guò)對(duì)計(jì)數(shù)器計(jì)數(shù)長(zhǎng)度的巧妙設(shè)置使
23、定時(shí)器/計(jì)數(shù)器的外部計(jì)數(shù)器計(jì)數(shù)長(zhǎng)度的巧妙設(shè)置,使定時(shí)器輸入腳(T0或T1)成為外部中斷請(qǐng)求輸入端。5.5.1 551采用采用“OC門(mén)門(mén)”經(jīng)“線或”后實(shí)現(xiàn)經(jīng)線或后實(shí)現(xiàn)引入芯片本身的外部中斷請(qǐng)求輸入端(INT0、INT1)就可很方便地?cái)U(kuò)展多個(gè)外部中斷源。圖55就是占用一個(gè)80C51的INT0(或INT1)擴(kuò)展4個(gè)外部中斷源的電路。個(gè)外部中斷源的電路4個(gè)擴(kuò)展外部中斷源中有一個(gè)或幾個(gè)出現(xiàn)高電平,反相器輸出為0,引起INT0低電平觸發(fā)中斷,中斷源都是電平觸發(fā)方式。當(dāng)滿足外部中斷請(qǐng)求條件時(shí),則CPU響應(yīng)中斷,轉(zhuǎn)入0003H單元開(kāi)始執(zhí)行中斷服務(wù)程序。在中斷服務(wù)程序中,由軟件設(shè)定的順序查詢外中斷哪一位是高電平
24、,然后進(jìn)入該中斷處理程序查詢的順序就是外部位是高電平,然后進(jìn)入該中斷處理程序。查詢的順序就是外部擴(kuò)展中斷源的中斷優(yōu)先級(jí)順序。流程圖示于。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)場(chǎng)INTEND:POPACCPOPPSWRETILOOP1:AJMPINTENDLOOP2:AJMPINTENDLOOP3:AJMPINTENDLOOP4:AJMPINTEND;恢復(fù)現(xiàn)場(chǎng)
25、;中斷服務(wù)程序1;中斷服務(wù)程序2;中斷服務(wù)程序3;中斷服務(wù)程序45.5.2 通過(guò)片內(nèi)定時(shí)器/計(jì)數(shù)器來(lái)實(shí)現(xiàn)利用T0或T1的外部事件輸入引腳T0、T1作為邊沿觸發(fā)的外部中斷源這時(shí)應(yīng)設(shè)置定時(shí)器/計(jì)數(shù)器為計(jì)數(shù)器方式,發(fā)的外部中斷源。這時(shí)應(yīng)設(shè)置定時(shí)器計(jì)數(shù)器為計(jì)數(shù)器方式而計(jì)數(shù)常數(shù)為滿刻度值。外部輸入的脈沖在負(fù)跳變時(shí)有效,計(jì)數(shù)器加1后即溢出,向后即溢出向CPU申請(qǐng)中斷。申請(qǐng)中斷如果以T0、T1的計(jì)數(shù)脈沖輸入作為外部中斷請(qǐng)求輸入,T0、T1的中斷矢量用做第3、笫4個(gè)擴(kuò)展的外部中斷矢量,T0、T1的中斷服務(wù)程序入口地址作為第3、第4個(gè)擴(kuò)展的外部中斷服務(wù)入地址部中斷服務(wù)入口地址。當(dāng)T2用做波特率發(fā)生器時(shí),若EXE
26、N2置1,則T2EX端的信號(hào)產(chǎn)生負(fù)跳變時(shí),EXF2將置1,但不會(huì)發(fā)生重裝載或捕獲操作。T2EX可以作為一個(gè)附加的外部中斷源。例1. 把外部中斷請(qǐng)求信號(hào)2連到T1引腳上,T1設(shè)為方式2,即8位自動(dòng)重裝載方式,時(shí)間常數(shù)設(shè)為滿刻度值FFH。外部中斷的服務(wù)程序入口地址存放在外部中斷服務(wù)程序存放T1的中斷矢量區(qū)中。中斷中初始化程序段如下:ORGAJMPORGLJMPINT20000HMAIN001BH;T1中斷矢量用作外部中斷2;的中斷矢量ORGMAIN:MOVMOVMOVSETBEASETBET1SETBTR1-INT2:-0030HTMOD,#60H ;設(shè)設(shè)T1計(jì)數(shù)器方式2TL1,#0FFH;置T1
27、計(jì)數(shù)常數(shù)TH1,#0FFH;開(kāi)中斷開(kāi)中斷;允許計(jì)數(shù)器1中斷;啟動(dòng)計(jì)數(shù);外部中斷2服務(wù)程序5.6 80C51的單步操作80C51的中斷系統(tǒng)中,允許用戶單步運(yùn)行程序。一般是設(shè)的中斷系統(tǒng)中允許用戶單步運(yùn)行程序般是設(shè)置一個(gè)單步鍵(STEP) ,用以產(chǎn)生脈沖,按一次STEP鍵就執(zhí)行一條指令,通過(guò)檢查結(jié)果來(lái)檢查每條指令執(zhí)行的正確與否。條指令通過(guò)檢查結(jié)果來(lái)檢查每條指令執(zhí)行的正確與否80C51中斷結(jié)構(gòu)有一個(gè)重要特性,即執(zhí)行中斷返回指令RETI后,必須至少執(zhí)行一條其它指令后,才能響應(yīng)新的中斷。典型方法是使用外部中斷,并將其設(shè)為電平觸發(fā)方式。硬件上,把按鍵產(chǎn)生的脈沖連到INT0,作為外部中斷0的中斷請(qǐng)求信號(hào),并把
28、電路設(shè)計(jì)為不按鍵時(shí)為低電平,按次鍵中斷請(qǐng)求信號(hào),并把電路設(shè)計(jì)為不按鍵時(shí)為低電平,按一次鍵產(chǎn)生一個(gè)正脈沖。外部中斷0的中斷服務(wù)程序,在中斷服務(wù)程序的末尾為JNB P3.2,$JBP32,$JB P3.2RETI;INT0 =0 ,則等待;INT0=1 INT01,則等待;中斷返回在沒(méi)有按鍵時(shí),INT0=0 ,中斷請(qǐng)求有效,響應(yīng)中斷后執(zhí)行中斷服務(wù)程序,在執(zhí)行到JNB P3.2,$指令時(shí)等待。當(dāng)按下單步鍵后產(chǎn)生一個(gè)正脈沖,執(zhí)行中斷返回,再執(zhí)行一條指令后,由于已為低電平,所以單片微機(jī)再次響應(yīng)中斷,并進(jìn)入中斷服務(wù)程序等待。務(wù)程序等待5.7 中斷服務(wù)程序的設(shè)計(jì)80C51共有5個(gè)中斷源,由4個(gè)特殊功能寄存器TCON、SCON、IE和IP進(jìn)行管理和控制。在80C51中,需要用軟件對(duì)以下中需要用軟件對(duì)以下5個(gè)內(nèi)容進(jìn)行設(shè)置:個(gè)內(nèi)容進(jìn)行設(shè)置中斷服務(wù)程序入口地址的設(shè)定。某一中斷源中斷請(qǐng)求的允許與禁止。對(duì)于外部中斷請(qǐng)求,還需進(jìn)行觸發(fā)方式的設(shè)定。各中斷源優(yōu)先級(jí)別的設(shè)定。各中斷源優(yōu)先級(jí)別的設(shè)定CCPUU開(kāi)中斷與關(guān)中斷開(kāi)中斷與關(guān)中斷。中斷程序一般包含中斷控制程序和中斷服務(wù)程序兩部分。中斷控制程序即中斷初始化程序,一般包含在主程序中。例2.試編寫(xiě)設(shè)置外部中斷和串行接口中斷為高優(yōu)先級(jí),外部中斷IN
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京課改版歷史八年級(jí)下冊(cè)第2課《新中國(guó)的初步鞏固》聽(tīng)課評(píng)課記錄
- 人民版道德與法治九年級(jí)上冊(cè)4.2《城鄉(xiāng)差距》聽(tīng)課評(píng)課記錄
- 招投文件合同范本(2篇)
- 生物燃料鍋爐購(gòu)買(mǎi)合同(2篇)
- 人教版數(shù)學(xué)七年級(jí)下冊(cè)《7-2-2用坐標(biāo)表示平移》聽(tīng)評(píng)課記錄
- 魯人版道德與法治九年級(jí)上冊(cè)9.1《公正律師法律援助》配套聽(tīng)課評(píng)課記錄
- 湘師大版道德與法治七年級(jí)上冊(cè)2.3《快樂(lè)學(xué)習(xí)》聽(tīng)課評(píng)課記錄
- 道德與法治部編版七年級(jí)上冊(cè)同步聽(tīng)課評(píng)課記錄《第8課 生命可以永恒嗎》
- 【部編版】八年級(jí)歷史上冊(cè)《鴉片戰(zhàn)爭(zhēng)》公開(kāi)課 聽(tīng)課評(píng)課記錄及教學(xué)反思
- 蘇科版數(shù)學(xué)八年級(jí)上冊(cè)《課題學(xué)習(xí) 關(guān)于勾股定理的研究》聽(tīng)評(píng)課記錄
- 財(cái)務(wù)管控的間接成本
- 藏族唐卡藝術(shù)特色分析
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告
- 護(hù)士團(tuán)隊(duì)的協(xié)作和領(lǐng)導(dǎo)力培養(yǎng)培訓(xùn)課件
- QFD模板含計(jì)算公式計(jì)分標(biāo)準(zhǔn)說(shuō)明模板
- 醫(yī)院護(hù)理培訓(xùn)課件:《早產(chǎn)兒姿勢(shì)管理與擺位》
- 人工智能在生物醫(yī)學(xué)倫理與法律中的基因編輯與生命倫理問(wèn)題研究
- 《論文的寫(xiě)作技巧》課件
- 國(guó)有資產(chǎn)管理辦法-國(guó)有資產(chǎn)管理辦法條例
- 公務(wù)車輛定點(diǎn)維修車輛保養(yǎng)(附彩圖) 投標(biāo)方案
- 00015-英語(yǔ)二自學(xué)教程-unit3
評(píng)論
0/150
提交評(píng)論