版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第5 5章章 單片機(jī)的定時(shí)與單片機(jī)的定時(shí)與中斷系統(tǒng)中斷系統(tǒng)中斷系統(tǒng)中斷系統(tǒng):包含中斷源、中斷方式、中:包含中斷源、中斷方式、中斷控制寄存器、中斷響應(yīng)和中斷請(qǐng)求的斷控制寄存器、中斷響應(yīng)和中斷請(qǐng)求的撤除。撤除。 本章主要內(nèi)容本章主要內(nèi)容定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器:包含定時(shí):包含定時(shí)/ /計(jì)數(shù)器的定時(shí)計(jì)數(shù)器的定時(shí)和計(jì)數(shù)功能和計(jì)數(shù)功能 、定時(shí)、定時(shí)/ /計(jì)數(shù)器的控制寄存計(jì)數(shù)器的控制寄存器、工作方式及其應(yīng)用。器、工作方式及其應(yīng)用。 單片機(jī)在某一時(shí)刻只能處理一個(gè)任單片機(jī)在某一時(shí)刻只能處理一個(gè)任務(wù),當(dāng)多個(gè)任務(wù)同時(shí)要求單片機(jī)處理時(shí),務(wù),當(dāng)多個(gè)任務(wù)同時(shí)要求單片機(jī)處理時(shí),這一要求應(yīng)該怎么實(shí)現(xiàn)呢?通過(guò)中斷可這一要
2、求應(yīng)該怎么實(shí)現(xiàn)呢?通過(guò)中斷可以實(shí)現(xiàn)多個(gè)任務(wù)的資源共享。以實(shí)現(xiàn)多個(gè)任務(wù)的資源共享。 MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)看書(shū)看書(shū)電話電話鈴響鈴響接電話接電話繼續(xù)繼續(xù)看書(shū)看書(shū)中斷響應(yīng)中斷響應(yīng)中斷返回中斷返回中斷請(qǐng)求中斷請(qǐng)求中斷的基本概念中斷的基本概念主程序主程序斷點(diǎn)斷點(diǎn)執(zhí)行中斷服務(wù)執(zhí)行中斷服務(wù)(或處理)子程(或處理)子程序序繼續(xù)執(zhí)繼續(xù)執(zhí)行程序行程序 中斷響應(yīng)中斷響應(yīng)中斷返回中斷返回中斷請(qǐng)求中斷請(qǐng)求中斷的基本概念中斷的基本概念 所謂的中斷就是,當(dāng)所謂的中斷就是,當(dāng)CPUCPU正在處理正在處理某項(xiàng)事務(wù)的時(shí)候,如果外界或者內(nèi)部發(fā)某項(xiàng)事務(wù)的時(shí)候,如果外界或者內(nèi)部發(fā)生了緊急事件,要求生了緊急事件,要
3、求CPUCPU暫停正在處理暫停正在處理工作而去處理這個(gè)緊急事件,待處理完工作而去處理這個(gè)緊急事件,待處理完后,再回到原來(lái)中斷的地方,繼續(xù)執(zhí)行后,再回到原來(lái)中斷的地方,繼續(xù)執(zhí)行原來(lái)被中斷的程序,這個(gè)過(guò)程稱作中斷。原來(lái)被中斷的程序,這個(gè)過(guò)程稱作中斷。 中斷的定義中斷的定義u 實(shí)現(xiàn)這種功能的部件稱為實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng)中斷系統(tǒng)(中斷機(jī)構(gòu))。(中斷機(jī)構(gòu))。u 產(chǎn)生中斷的請(qǐng)求源稱為產(chǎn)生中斷的請(qǐng)求源稱為中斷源中斷源。u 中斷過(guò)程中又有中斷發(fā)生稱為中斷過(guò)程中又有中斷發(fā)生稱為中斷中斷嵌套。嵌套。u中斷執(zhí)行的程序稱為中斷執(zhí)行的程序稱為中斷服務(wù)子程序。中斷服務(wù)子程序。 n中斷功能強(qiáng)弱是計(jì)算機(jī)性能優(yōu)劣的重
4、要中斷功能強(qiáng)弱是計(jì)算機(jī)性能優(yōu)劣的重要標(biāo)志標(biāo)志n提高提高CPUCPU效率效率 解決速度矛盾解決速度矛盾 實(shí)現(xiàn)并行工作實(shí)現(xiàn)并行工作 實(shí)時(shí)處理實(shí)時(shí)處理 應(yīng)付突發(fā)事件應(yīng)付突發(fā)事件 中斷源是指在計(jì)算機(jī)系統(tǒng)中向中斷源是指在計(jì)算機(jī)系統(tǒng)中向CPUCPU發(fā)出中斷請(qǐng)求的來(lái)源。發(fā)出中斷請(qǐng)求的來(lái)源。 MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷源中斷源80518051單片機(jī)有單片機(jī)有5 5個(gè)中斷源:個(gè)中斷源:外部中斷源:外部中斷源:外部中斷外部中斷0(INT0 ) 外部中斷外部中斷1(INT1 )內(nèi)部中斷源:內(nèi)部中斷源:定時(shí)定時(shí)/計(jì)數(shù)中斷計(jì)數(shù)中斷0(T0) 定時(shí)定時(shí)/計(jì)數(shù)中斷計(jì)數(shù)中斷1(T1)串行中斷串行中斷 1
5、. 外部中斷源外部中斷源 外部中斷外部中斷0 0(INTINT0 0 ):):來(lái)自引腳來(lái)自引腳P P3.23.2 外部中斷外部中斷1 1(INTINT1 1 ):):來(lái)自引腳來(lái)自引腳P P3.33.3外部中斷請(qǐng)求兩種方式:外部中斷請(qǐng)求兩種方式:u 電平觸發(fā)方式(低電平有效)電平觸發(fā)方式(低電平有效)u 下降沿觸發(fā)方式(脈沖的下降沿有下降沿觸發(fā)方式(脈沖的下降沿有效,至少要維持一個(gè)機(jī)器周期)效,至少要維持一個(gè)機(jī)器周期) 2. 內(nèi)部中斷源內(nèi)部中斷源定時(shí)定時(shí)/ /計(jì)數(shù)中斷計(jì)數(shù)中斷0 0(T T0 0):):定時(shí)定時(shí)/ /計(jì)數(shù)計(jì)數(shù)發(fā)生溢出時(shí),產(chǎn)生中斷請(qǐng)求。發(fā)生溢出時(shí),產(chǎn)生中斷請(qǐng)求。定時(shí)定時(shí)/ /計(jì)數(shù)中
6、斷計(jì)數(shù)中斷1 1(T1T1):):定時(shí)定時(shí)/ /計(jì)數(shù)計(jì)數(shù)發(fā)生溢出時(shí),產(chǎn)生中斷請(qǐng)求。發(fā)生溢出時(shí),產(chǎn)生中斷請(qǐng)求。 串行中斷:串行中斷:為完成串行數(shù)據(jù)傳送而設(shè)為完成串行數(shù)據(jù)傳送而設(shè)置。單片機(jī)完成接受或發(fā)送一組數(shù)據(jù)時(shí),置。單片機(jī)完成接受或發(fā)送一組數(shù)據(jù)時(shí),產(chǎn)生中斷請(qǐng)求。產(chǎn)生中斷請(qǐng)求。說(shuō)明:說(shuō)明:外部中斷源中斷請(qǐng)求外部中斷源中斷請(qǐng)求需設(shè)置需設(shè)置,而,而 內(nèi)部中斷源中斷請(qǐng)求不需設(shè)置,內(nèi)部中斷源中斷請(qǐng)求不需設(shè)置, 自動(dòng)產(chǎn)生自動(dòng)產(chǎn)生。 MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷標(biāo)志中斷標(biāo)志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷源中斷標(biāo)志位中斷標(biāo)志位 每一個(gè)中斷源
7、都有相應(yīng)的中斷標(biāo)志位;每一個(gè)中斷源都有相應(yīng)的中斷標(biāo)志位; 某一個(gè)中斷源申請(qǐng)中斷,相應(yīng)中斷標(biāo)志位置某一個(gè)中斷源申請(qǐng)中斷,相應(yīng)中斷標(biāo)志位置1 1。 MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷允許中斷允許CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷源中斷標(biāo)志位中斷標(biāo)志位 EA總中斷允許位,總中斷允許位,EA=1開(kāi)放所有中斷,開(kāi)放所有中斷,EA=0,禁止所有中斷;,禁止所有中斷; 某一個(gè)中斷源還有相應(yīng)的中斷允許位,某一個(gè)中斷源還有相應(yīng)的中斷允許位,1允許相應(yīng)中斷源的中斷,允許相應(yīng)中斷源的中斷,0禁禁止相應(yīng)中斷源的中斷。止相應(yīng)中斷源的中斷。中斷允許中斷允許ES
8、ET0EX0EX1ET1EA MCS-51MCS-51的中斷系統(tǒng)的中斷系統(tǒng)中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TISI中斷源中斷源中斷標(biāo)志位中斷標(biāo)志位 單片機(jī)中有兩個(gè)中斷優(yōu)先級(jí),即高優(yōu)先級(jí)中斷和低優(yōu)先級(jí)中斷,前單片機(jī)中有兩個(gè)中斷優(yōu)先級(jí),即高優(yōu)先級(jí)中斷和低優(yōu)先級(jí)中斷,前者優(yōu)先權(quán)高于后者(在程序中設(shè)置,相應(yīng)位者優(yōu)先權(quán)高于后者(在程序中設(shè)置,相應(yīng)位=1=1,為高優(yōu)先級(jí));,為高優(yōu)先級(jí)); 同一優(yōu)先級(jí)別的中斷源按照自然優(yōu)先級(jí)順序確定優(yōu)先級(jí)別(硬件同一優(yōu)先級(jí)別的中斷源按照自然優(yōu)先級(jí)順序確定優(yōu)先級(jí)別(硬件形成,無(wú)法改變)。形成,無(wú)法改變)。中斷允許中斷允許E
9、SET0EX0EX1ET1EA自然優(yōu)先級(jí)自然優(yōu)先級(jí)高低優(yōu)先控制優(yōu)先控制PSPT0PX0PX1PT1 IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然優(yōu)先級(jí)自然優(yōu)先級(jí)矢量地址高級(jí)中斷請(qǐng)求高級(jí)中斷請(qǐng)求自然優(yōu)先級(jí)自然優(yōu)先級(jí)矢量地址低級(jí)中斷請(qǐng)求低級(jí)中斷請(qǐng)求PX0PT0PX1PT1PSIEIP MCS-51 MCS-51的中斷系統(tǒng)結(jié)構(gòu)圖的中斷系統(tǒng)結(jié)構(gòu)圖中斷標(biāo)志位中斷源允許總允許中斷優(yōu)先級(jí)表表 5.1 8051 中中 斷斷 源源定時(shí)器控制寄存器(定時(shí)器控制寄存器(TCONTCON)串行
10、口控制寄存器(串行口控制寄存器(SCONSCON)中斷允許控制寄存器(中斷允許控制寄存器(IEIE)中斷優(yōu)先級(jí)控制寄存器(中斷優(yōu)先級(jí)控制寄存器(IPIP)中斷控制寄存器(中斷控制寄存器(4個(gè)):個(gè)): TF1 TF0 IE1 IT1 IE0 IT0TCONT1溢出中斷標(biāo)志溢出中斷標(biāo)志(TCON.7): T1啟動(dòng)計(jì)數(shù)后,計(jì)滿溢出由硬件啟動(dòng)計(jì)數(shù)后,計(jì)滿溢出由硬件置位置位TF1=1,向,向CPU請(qǐng)求中斷,此標(biāo)志請(qǐng)求中斷,此標(biāo)志一直保持到一直保持到CPU響應(yīng)中斷后,響應(yīng)中斷后,才由硬才由硬件自動(dòng)清件自動(dòng)清0。也可用軟件查詢?cè)摌?biāo)志,。也可用軟件查詢?cè)摌?biāo)志,并由軟件清并由軟件清0。765432101.1.
11、定時(shí)器控制寄存器(定時(shí)器控制寄存器(TCONTCON) 計(jì)數(shù)溢出標(biāo)志位的使用有兩種情況:計(jì)數(shù)溢出標(biāo)志位的使用有兩種情況:u采用中斷方式時(shí),作中斷請(qǐng)求標(biāo)志位采用中斷方式時(shí),作中斷請(qǐng)求標(biāo)志位來(lái)使用;來(lái)使用;u采用查詢方式時(shí),作查詢狀態(tài)位來(lái)使采用查詢方式時(shí),作查詢狀態(tài)位來(lái)使用。用。 TF1 TF0 IE1 IT1 IE0 IT0TCON 88H外部中斷外部中斷INT1中斷標(biāo)志中斷標(biāo)志位位(TCON.3) : IE11,外部中斷1向CPU申請(qǐng)中斷 外部中斷外部中斷INT1觸發(fā)方觸發(fā)方式控制位式控制位(TCON.2): IT1=0,電平觸發(fā)方式 IT1=1, 下降沿觸發(fā)方式76543210IEIE0 0
12、和和IEIE1 1外中斷請(qǐng)求標(biāo)志位外中斷請(qǐng)求標(biāo)志位 當(dāng)當(dāng)CPUCPU采樣到采樣到INT0(或(或INT1 )端)端出現(xiàn)出現(xiàn)有效中斷請(qǐng)求時(shí)有效中斷請(qǐng)求時(shí),IE0 IE0 (或(或IE1IE1)位由硬件位由硬件置置“1”1”。當(dāng)。當(dāng)中斷響應(yīng)完成中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件把轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件把IE0IE0(或(或IE1IE1)清零清零。 TI (SCON.1)串行發(fā)送中斷標(biāo)志。 RI (SCON.0)串行接收中斷標(biāo)志。 TI RISCON 98H76543210注意:該寄存器可以位尋址。2.SCON寄存器寄存器 TITI串行口發(fā)送中斷請(qǐng)求標(biāo)志位串行口發(fā)送中斷請(qǐng)求標(biāo)志位 當(dāng)發(fā)送完一
13、幀串行數(shù)據(jù)后,由硬件置當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”1”;在轉(zhuǎn)向中斷服務(wù)程序后,用在轉(zhuǎn)向中斷服務(wù)程序后,用軟件軟件清清“0”0”。 RIRI串行口接收中斷請(qǐng)求標(biāo)志位串行口接收中斷請(qǐng)求標(biāo)志位 當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“1”1”;在轉(zhuǎn)向中斷服務(wù)程序后,用在轉(zhuǎn)向中斷服務(wù)程序后,用軟件軟件清清“0”0”。 串行中斷請(qǐng)求由串行中斷請(qǐng)求由TITI和和RIRI的的邏輯或邏輯或得到。得到。其中與中斷有關(guān)的控制位共其中與中斷有關(guān)的控制位共2 2位:位: IE A8H EA ESET1EX1 ET0EX0例:允許定時(shí)器例:允許定時(shí)器T0中斷:中斷: SETB EA
14、SETB ET0 或或 MOV IE,#82H76543210(3 3)中斷允許寄存器)中斷允許寄存器IEIE(4 4)中斷優(yōu)先級(jí)控制寄存器()中斷優(yōu)先級(jí)控制寄存器(IPIP)nMCS-51MCS-51有兩個(gè)優(yōu)先級(jí)有兩個(gè)優(yōu)先級(jí),1,1為高為高,0,0為低為低n字節(jié)地址字節(jié)地址: :B8HB8Hn位地址:位地址: 0BFH0BFH0B8H0B8H 51 51單片機(jī)有兩個(gè)中斷優(yōu)先級(jí)單片機(jī)有兩個(gè)中斷優(yōu)先級(jí)高級(jí)和低級(jí)高級(jí)和低級(jí) 專用寄存器專用寄存器IPIP為中斷優(yōu)先級(jí)寄存器,用戶可為中斷優(yōu)先級(jí)寄存器,用戶可用軟件設(shè)定用軟件設(shè)定 相應(yīng)位為相應(yīng)位為1 1,對(duì)應(yīng)的中斷源被設(shè)置為,對(duì)應(yīng)的中斷源被設(shè)置為高優(yōu)先級(jí)
15、高優(yōu)先級(jí),相應(yīng)位為相應(yīng)位為0 0,對(duì)應(yīng)的中斷源被設(shè)置為低優(yōu)先級(jí),對(duì)應(yīng)的中斷源被設(shè)置為低優(yōu)先級(jí) 系統(tǒng)復(fù)位時(shí),均為低優(yōu)先級(jí)系統(tǒng)復(fù)位時(shí),均為低優(yōu)先級(jí) PSPT1PX1PT0PX0 IP B8H 76543210對(duì)同時(shí)發(fā)生多個(gè)中斷申請(qǐng)時(shí):對(duì)同時(shí)發(fā)生多個(gè)中斷申請(qǐng)時(shí):不同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)不同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)( (很難遇到很難遇到) ) 先高后低先高后低相同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)相同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)( (很難遇到很難遇到) ) 按序執(zhí)行按序執(zhí)行正處理低優(yōu)先級(jí)中斷又接到高級(jí)別中斷正處理低優(yōu)先級(jí)中斷又接到高級(jí)別中斷 高打斷低高打斷低正處理高優(yōu)先級(jí)中斷又接到低級(jí)別中斷正處理高優(yōu)先級(jí)中斷又接到低級(jí)別中斷
16、高不理低高不理低中斷優(yōu)先級(jí)處理原則中斷優(yōu)先級(jí)處理原則自然優(yōu)先級(jí)自然優(yōu)先級(jí):nINT0 高高nT0nINT1nT1nRI/TI 低低CPU正在執(zhí)行正在執(zhí)行低中斷源低中斷源高中斷源高中斷源RETIRETI寄存器名稱D7D6D5D4D3D2D1D0TCON(88H) TF1TF0IE1IT1IE0IT0定時(shí)器控制寄存器位地址8FH8EH8DH8CH8BH8AH89H88HSCON(98H)TIRI串行口控制寄存器位地址9FH9EH9DH9CH9BH9AH99H98HIE(A8H)EAESET1 EX1 ET0 EX0中斷允許寄存器位地址AFHACHABHAAHA9HA8HIP(B8H)PSPT1 P
17、X1 PT0 PX0中斷優(yōu)先級(jí)寄存器位地址BCHBBHBAHB9HB8H中斷控制寄存器匯總中斷控制寄存器匯總 例如例如, , 某軟件中對(duì)寄存器某軟件中對(duì)寄存器IEIE、 IPIP設(shè)置設(shè)置如下如下: :MOV IE,#00HMOV IE,#00H MOV IE, MOV IE, 8FH8FH(10001111B)(10001111B) MOV IP, MOV IP, 06H06H(00000110B)(00000110B) SETB EA; SETB EX0;SETB ET0;SETB SETB EA; SETB EX0;SETB ET0;SETB EX1;SETB ET1;CLR ESEX1;
18、SETB ET1;CLR ES中斷設(shè)計(jì)舉例中斷設(shè)計(jì)舉例則此時(shí)該系統(tǒng)中則此時(shí)該系統(tǒng)中: : uCPUCPU中斷允許中斷允許; ; u允許外部中斷允許外部中斷0 0、外部中斷、外部中斷1 1、定時(shí)器、定時(shí)器 / /計(jì)數(shù)器計(jì)數(shù)器0 0、定時(shí)器、定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器1 1提出的中斷提出的中斷申請(qǐng)申請(qǐng); ; u允許中斷源的中斷優(yōu)先次序?yàn)樵试S中斷源的中斷優(yōu)先次序?yàn)? : 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器00外部中斷外部中斷11外部中斷外部中斷00定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器1 1。 n在中斷服務(wù)程序編程時(shí)在中斷服務(wù)程序編程時(shí), ,首先要對(duì)中斷首先要對(duì)中斷系統(tǒng)進(jìn)行初始化系統(tǒng)進(jìn)行初始化, ,也就是對(duì)幾個(gè)特
19、殊功也就是對(duì)幾個(gè)特殊功能寄存器的有關(guān)控制位進(jìn)行賦值。能寄存器的有關(guān)控制位進(jìn)行賦值。n初始化的內(nèi)容包括:初始化的內(nèi)容包括: (1)(1)開(kāi)總中斷和相應(yīng)中斷源的中斷開(kāi)總中斷和相應(yīng)中斷源的中斷 (2)(2)設(shè)置所用中斷源的優(yōu)先級(jí)設(shè)置所用中斷源的優(yōu)先級(jí); ; (3) (3)若是外部中斷若是外部中斷, ,則應(yīng)規(guī)定是低電平觸則應(yīng)規(guī)定是低電平觸發(fā)還是下降沿觸發(fā)。發(fā)還是下降沿觸發(fā)。 中斷初始化中斷初始化例例1:若規(guī)定外部中斷:若規(guī)定外部中斷1為電平觸發(fā)方式為電平觸發(fā)方式,高優(yōu)先級(jí)高優(yōu)先級(jí),試寫(xiě)出有關(guān)的初始化程序。試寫(xiě)出有關(guān)的初始化程序。 SETB EA ;開(kāi)中斷開(kāi)中斷 SETB EX1 ;允許外中斷允許外中斷
20、1中斷中斷 SETB PX1 ;外中斷外中斷1定為高優(yōu)先級(jí)定為高優(yōu)先級(jí) CLR IT1 ;電平觸發(fā)電平觸發(fā)例例2:使用外部中斷:使用外部中斷0(INT0)和外部)和外部中斷中斷1(INT1),), INT1為高優(yōu)先級(jí),為高優(yōu)先級(jí),電平觸發(fā)方式,電平觸發(fā)方式, INT0為低優(yōu)先級(jí),下為低優(yōu)先級(jí),下降沿觸發(fā)方式。降沿觸發(fā)方式。 則初始化程序如下:則初始化程序如下:MOV IP, #04HMOV TCON, #01HMOV IE, #85H MOV IP, #04HMOV TCON, #01HSETB EASETB EX0SETB EX1 或使用位操作指令如下:或使用位操作指令如下:中斷處理過(guò)程中斷
21、處理過(guò)程中斷處理過(guò)程分為三個(gè)階段:中斷處理過(guò)程分為三個(gè)階段:中斷響應(yīng)、中中斷響應(yīng)、中斷處理和中斷返回。斷處理和中斷返回。v 中斷響應(yīng)中斷響應(yīng)v 中斷處理中斷處理( (又稱中斷服務(wù)又稱中斷服務(wù)) )v 中斷返回中斷返回v 中斷請(qǐng)求的撤除中斷請(qǐng)求的撤除 中斷響應(yīng)中斷返回中斷響應(yīng)條件中斷響應(yīng)條件: : 有中斷源發(fā)出中斷請(qǐng)求。有中斷源發(fā)出中斷請(qǐng)求。 中斷總允許位中斷總允許位EA = 1。 申請(qǐng)中斷的中斷源允許。申請(qǐng)中斷的中斷源允許。滿足以上基本條件,滿足以上基本條件,CPU一般會(huì)響應(yīng)中斷。一般會(huì)響應(yīng)中斷。a aCPUCPU正在響應(yīng)同級(jí)或高優(yōu)先級(jí)的中斷。正在響應(yīng)同級(jí)或高優(yōu)先級(jí)的中斷。b b當(dāng)前指令未執(zhí)行
22、完。當(dāng)前指令未執(zhí)行完。c c正在執(zhí)行正在執(zhí)行RETIRETI中斷返回指令或訪問(wèn)專用寄中斷返回指令或訪問(wèn)專用寄存器存器IEIE和和IPIP的指令。的指令。 但若有下列任何一種情況存在,則中斷響應(yīng)會(huì)受但若有下列任何一種情況存在,則中斷響應(yīng)會(huì)受到阻斷。到阻斷。一、中斷響應(yīng)過(guò)程一、中斷響應(yīng)過(guò)程 CPU CPU在每個(gè)機(jī)器周期的在每個(gè)機(jī)器周期的S5P2S5P2期間期間采樣中斷請(qǐng)求信號(hào)。采樣中斷請(qǐng)求信號(hào)。1.1.采樣:采樣: 如果有中斷請(qǐng)求,將中斷請(qǐng)求信如果有中斷請(qǐng)求,將中斷請(qǐng)求信號(hào)鎖定到相應(yīng)的請(qǐng)求標(biāo)志位(號(hào)鎖定到相應(yīng)的請(qǐng)求標(biāo)志位(TCONTCON中)。中)。2.2.鎖定:鎖定: TF1 TF0 IE1 I
23、T1 IE0 IT0 在在S6P2S6P2狀態(tài)按一定的順序(狀態(tài)按一定的順序(INT0INT0、T0T0、 INT1INT1、 T1T1、 RI/TIRI/TI)查詢請(qǐng)求)查詢請(qǐng)求標(biāo)志,并將有效的中斷請(qǐng)求按優(yōu)先級(jí)標(biāo)志,并將有效的中斷請(qǐng)求按優(yōu)先級(jí)次序排好。次序排好。3.3.查詢:查詢: 如果查詢到某標(biāo)志位為如果查詢到某標(biāo)志位為“1” 1” (在(在TCONTCON中),硬件自動(dòng)產(chǎn)生一條中),硬件自動(dòng)產(chǎn)生一條LCALLLCALL指令,轉(zhuǎn)到相應(yīng)的中斷入口地指令,轉(zhuǎn)到相應(yīng)的中斷入口地址(也稱中斷向量或中斷矢量)。址(也稱中斷向量或中斷矢量)。4.4.產(chǎn)生產(chǎn)生LCALLLCALL指令:指令:程序存儲(chǔ)器程
24、序存儲(chǔ)器ROMROM0000H:復(fù)位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時(shí)器0溢出中斷入口0013H:外部中斷1入口001BH:定時(shí)器1溢出中斷入口002AH使用時(shí),通常在這些入口地址處存放一條跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷服務(wù)子程序起始地址上去!中斷源中斷源 入口地址入口地址nINT0 0003HnT0 000BHnINT1 0013HnT1 001BHnRI/TI 0023H特別注意:特別注意:這些工作是硬件自動(dòng)完成的!這些工作是硬件自動(dòng)完成的! 如:如:ORG 0003HLJMPINTT0INTT0: 中斷服務(wù)子程
25、序中斷服務(wù)子程序 RETI5.5.中斷入口地址安排跳轉(zhuǎn)指令:中斷入口地址安排跳轉(zhuǎn)指令:二、中斷處理二、中斷處理中斷服務(wù)程序從中斷子程序中斷服務(wù)程序從中斷子程序入入口地址口地址開(kāi)始執(zhí)行,直到返回指開(kāi)始執(zhí)行,直到返回指令令RETI為止,這個(gè)過(guò)程稱為為止,這個(gè)過(guò)程稱為中中斷處理斷處理(或中斷服務(wù)或中斷服務(wù))。中斷服務(wù)子程序一般包括兩部中斷服務(wù)子程序一般包括兩部分內(nèi)容,分內(nèi)容,一是一是保護(hù)和恢復(fù)現(xiàn)場(chǎng)保護(hù)和恢復(fù)現(xiàn)場(chǎng),二是二是處理中斷源的請(qǐng)求處理中斷源的請(qǐng)求。中斷響應(yīng)入口地址入口地址RETI中斷處理中斷處理INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中斷源服務(wù) P
26、OP PSW POP DPL POP DPH POP ACC RETI保護(hù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)三、中斷返回三、中斷返回 中斷返回是指中斷服中斷返回是指中斷服務(wù)完后,計(jì)算機(jī)返回到務(wù)完后,計(jì)算機(jī)返回到原來(lái)暫停的位置原來(lái)暫停的位置( (即斷即斷點(diǎn)點(diǎn)) ),繼續(xù)執(zhí)行原來(lái)的程,繼續(xù)執(zhí)行原來(lái)的程序。序。 中斷返回由專門(mén)的中中斷返回由專門(mén)的中斷返回指令斷返回指令RETIRETI來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。中斷響應(yīng)中斷返回 RETI RETI指令功能:把斷指令功能:把斷點(diǎn)地址取出,送回到程點(diǎn)地址取出,送回到程序計(jì)數(shù)器序計(jì)數(shù)器PCPC中去。另外,中去。另外,它還通知中斷系統(tǒng)已完它還通知中斷系統(tǒng)已完成中斷處理,將清除優(yōu)成中斷處理,將
27、清除優(yōu)先級(jí)狀態(tài)觸發(fā)器。先級(jí)狀態(tài)觸發(fā)器。 特別注意:特別注意:不能用不能用RETRET指令代替指令代替RETIRETI指令指令!中斷響應(yīng)中斷返回程序存儲(chǔ)器程序存儲(chǔ)器ROMROM0000H:復(fù)位后,程序的入口地址(PC=0000H)0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時(shí)器0溢出中斷入口0013H:外部中斷1入口001BH:定時(shí)器1溢出中斷入口002AH包含T0中斷服務(wù)子程序的程序結(jié)構(gòu):ORG 0000HORG 0000HAJMP MAINORG 000BHORG 000BHAJMP INTT0ORG 0100HORG 0100HMAIN: . . .INTT0:. .
28、 . RETI ENDAJMP MAINAJMP INTT0 中斷請(qǐng)求的撤銷中斷請(qǐng)求的撤銷外中斷包括:外中斷包括:邊沿觸發(fā)方式邊沿觸發(fā)方式 和電平觸發(fā)方式和電平觸發(fā)方式 一、外部中斷的撤銷一、外部中斷的撤銷1.邊沿觸發(fā)方式邊沿觸發(fā)方式 (自動(dòng)撤銷)自動(dòng)撤銷)中斷響應(yīng)完由硬件自動(dòng)將中斷標(biāo)志位(中斷響應(yīng)完由硬件自動(dòng)將中斷標(biāo)志位(IE0或或IE1 )清)清0。電平觸發(fā)外部中斷電平觸發(fā)外部中斷撤除方法較復(fù)雜。撤除方法較復(fù)雜。 因?yàn)樵陔娖接|發(fā)方式中,因?yàn)樵陔娖接|發(fā)方式中,CPUCPU響應(yīng)中斷時(shí)不會(huì)響應(yīng)中斷時(shí)不會(huì)自動(dòng)清除自動(dòng)清除IE1IE1或或IE0IE0標(biāo)志,所以在響應(yīng)中斷后應(yīng)立標(biāo)志,所以在響應(yīng)中斷后應(yīng)
29、立即撤除即撤除INT0INT0或或INT1INT1引腳上的低電平。引腳上的低電平。 在硬件上,在硬件上,CPUCPU對(duì)對(duì)INT0INT0和和INT1INT1引腳的信號(hào)不能控引腳的信號(hào)不能控制,所以這個(gè)問(wèn)題要通過(guò)硬件,再配合軟件來(lái)解制,所以這個(gè)問(wèn)題要通過(guò)硬件,再配合軟件來(lái)解決。決。2.電平觸發(fā)方式電平觸發(fā)方式圖 撤除外部中斷請(qǐng)求的電路DSDCLK外中斷0請(qǐng)求信號(hào)8031P1.0INT0Q當(dāng)當(dāng)CPU響應(yīng)中斷后,可在中斷服務(wù)程序中采用響應(yīng)中斷后,可在中斷服務(wù)程序中采用兩條指令:兩條指令: CLR P1.0 SETB P1.0(或(或 ANL P1,#0FEH ORLP1,#01H )來(lái)撤除外部中斷請(qǐng)
30、求。來(lái)撤除外部中斷請(qǐng)求。即:即:定時(shí)中斷標(biāo)志位(定時(shí)中斷標(biāo)志位(TFTF0 0或或TFTF1 1 )清)清0 0 (中斷響應(yīng)完由硬件自動(dòng)清中斷響應(yīng)完由硬件自動(dòng)清0 0。)二、定時(shí)中斷的撤銷(自動(dòng)撤銷)二、定時(shí)中斷的撤銷(自動(dòng)撤銷)即:即:串行中斷標(biāo)志位(串行中斷標(biāo)志位(TITI或或RI RI )清)清0 0。 三、串行中斷的撤銷三、串行中斷的撤銷 中斷響應(yīng)后,還需測(cè)試這兩個(gè)標(biāo)志位的狀中斷響應(yīng)后,還需測(cè)試這兩個(gè)標(biāo)志位的狀態(tài),以判定是接收操作還是發(fā)送操作,然后態(tài),以判定是接收操作還是發(fā)送操作,然后才能清除。才能清除。 串行中斷請(qǐng)求的撤銷串行中斷請(qǐng)求的撤銷使用使用軟件軟件方法方法,在中,在中斷服務(wù)子
31、程序中進(jìn)行。斷服務(wù)子程序中進(jìn)行。 n在中斷服務(wù)程序編程時(shí)在中斷服務(wù)程序編程時(shí), ,首先要對(duì)首先要對(duì)中斷系統(tǒng)進(jìn)行初始化中斷系統(tǒng)進(jìn)行初始化, ,也就是對(duì)幾個(gè)特也就是對(duì)幾個(gè)特殊功能寄存器的有關(guān)控制位進(jìn)行賦值。殊功能寄存器的有關(guān)控制位進(jìn)行賦值。具體來(lái)說(shuō)具體來(lái)說(shuō), ,就是要完成下列工作:就是要完成下列工作:n (1)(1)開(kāi)中斷和允許中斷源中斷開(kāi)中斷和允許中斷源中斷n (2)(2)確定各中斷源的優(yōu)先級(jí)確定各中斷源的優(yōu)先級(jí); ;n (3) (3)若是外部中斷若是外部中斷, ,則應(yīng)規(guī)定是電平觸則應(yīng)規(guī)定是電平觸發(fā)還是邊沿觸發(fā)。發(fā)還是邊沿觸發(fā)。中斷程序舉例中斷程序舉例 例例1:若規(guī)定外部中斷:若規(guī)定外部中斷1為
32、邊沿觸發(fā)方式為邊沿觸發(fā)方式, 在中在中斷服務(wù)程序中將寄存器斷服務(wù)程序中將寄存器B的內(nèi)容左環(huán)移一位。的內(nèi)容左環(huán)移一位。試編寫(xiě)主程序與中斷服務(wù)程序。試編寫(xiě)主程序與中斷服務(wù)程序。ORG 0000H LJMP MAIN ORG 0013HLJMP INTT1 ;中斷服務(wù)程序轉(zhuǎn)至中斷服務(wù)程序轉(zhuǎn)至INTT1處處 MAIN:SETB EA ;開(kāi)中斷開(kāi)中斷 SETB EX1 ;允許外中斷允許外中斷1中斷中斷 SETB IT1 ;邊沿觸發(fā)邊沿觸發(fā) MOV B,0FEH ;設(shè)設(shè)B的初值的初值 SJMP $ ;暫停等待中斷暫停等待中斷INTT1: MOV A,B ;AB RL A ;左環(huán)移一位左環(huán)移一位 MOV B
33、,A ;回送回送 (MOV P1,A) ;輸出到輸出到P1口口 RETI ;中斷返回中斷返回此例的實(shí)際意義:在此例的實(shí)際意義:在INT1INT1引腳接一個(gè)脈引腳接一個(gè)脈沖按鈕,每按一下按鈕就申請(qǐng)一次中斷沖按鈕,每按一下按鈕就申請(qǐng)一次中斷,中斷服務(wù)則是:依次點(diǎn)亮八盞燈中的,中斷服務(wù)則是:依次點(diǎn)亮八盞燈中的一盞。一盞。P1.0P1.0P1.7P1.7INT1INT1300 ORG0000H AJMP MAINORG 0003H LJMP INTT0ORG 0013H LJMP INTT1 例例2:2:當(dāng)外中斷當(dāng)外中斷0 0響應(yīng)時(shí),由響應(yīng)時(shí),由P1.2P1.2口輸出口輸出點(diǎn)亮燈點(diǎn)亮燈, ,當(dāng)外中斷當(dāng)
34、外中斷1 1響應(yīng)時(shí),由響應(yīng)時(shí),由P1.2P1.2口輸口輸出熄滅燈。出熄滅燈。ORG0030HMAIN: SETBEASETBEX0 SETB EX1SETBIT0SETB IT1 SJMP$INTT0: CLR P1.2 RETIINTT1: SETB P1.2 RETI END ORG0000H AJMP MAINORG 0003H LJMP INTT0ORG 0013H LJMP INTT1 例例3:3:無(wú)中斷時(shí),燈全亮,當(dāng)外中斷無(wú)中斷時(shí),燈全亮,當(dāng)外中斷0 0響響應(yīng)時(shí),低四位燈亮應(yīng)時(shí),低四位燈亮, ,當(dāng)外中斷當(dāng)外中斷1 1響應(yīng)時(shí),響應(yīng)時(shí),高四位燈亮。高四位燈亮。ORG 0030HMAIN:MOVSP,#60H MOVP1,#00HSETBEASETBEX0 SETB EX1SETBIT0SETB IT1 SJMP $INTT0: PUSH P1MOV P1,#0F0HPOP P1 RETIINTT1: PUSH P1 MOV P1,#0FH POP P1 RETI END1.1.無(wú)中斷時(shí),燈循環(huán)亮,當(dāng)外中斷無(wú)中斷時(shí),燈循環(huán)亮,當(dāng)外中斷0 0響響應(yīng)時(shí),低四位燈亮應(yīng)時(shí),低四位燈亮, ,當(dāng)外中斷當(dāng)外中斷1 1響應(yīng)時(shí),響應(yīng)時(shí),高四位燈亮。高四位燈亮。思考思考: ORG0000
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智能便利店技術(shù)授權(quán)及門(mén)店運(yùn)營(yíng)合同4篇
- 個(gè)人財(cái)務(wù)規(guī)劃服務(wù)合同2024
- 2025年水電設(shè)施智能化改造安裝合同4篇
- 二零二五版光盤(pán)復(fù)制與創(chuàng)意設(shè)計(jì)及制作合同3篇
- 三方協(xié)作2024年勞務(wù)分包協(xié)議模板版A版
- 2025版民爆物品安全評(píng)估與風(fēng)險(xiǎn)管理合同模板4篇
- 2024通信工程智能化設(shè)備采購(gòu)及安裝服務(wù)協(xié)議3篇
- 2025年度腳手架安裝與拆卸工程承包合同范本4篇
- 校園心理劇在學(xué)生群體中的運(yùn)用
- 小學(xué)科學(xué)課程資源的創(chuàng)新利用與教育效果
- 2025年度房地產(chǎn)權(quán)證辦理委托代理合同典范3篇
- 柴油墊資合同模板
- 湖北省五市州2023-2024學(xué)年高一下學(xué)期期末聯(lián)考數(shù)學(xué)試題
- 城市作戰(zhàn)案例研究報(bào)告
- 【正版授權(quán)】 ISO 12803:1997 EN Representative sampling of plutonium nitrate solutions for determination of plutonium concentration
- 道德經(jīng)全文及注釋
- 2024中考考前地理沖刺卷及答案(含答題卡)
- 多子女贍養(yǎng)老人協(xié)議書(shū)范文
- 彩票市場(chǎng)銷售計(jì)劃書(shū)
- 支付行業(yè)反洗錢與反恐怖融資
- 基礎(chǔ)設(shè)施綠色施工技術(shù)研究
評(píng)論
0/150
提交評(píng)論