版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章單片機(jī)的中斷系統(tǒng)4.1中斷系統(tǒng)的基本概念4.2中斷系統(tǒng)的結(jié)構(gòu)及控制
任務(wù)4-1用外部中斷控制LED點(diǎn)亮或熄滅
任務(wù)4-2利用中斷設(shè)計(jì)一個(gè)三人搶答器
任務(wù)4-3利用中斷設(shè)計(jì)一個(gè)方波脈沖計(jì)數(shù)器本章小結(jié)習(xí)題
4.1中斷系統(tǒng)的基本概念
“中斷”的概念是什么?顧名思義,中斷就是將當(dāng)前某一工作暫停下來(lái),轉(zhuǎn)去處理一些與當(dāng)前工作過(guò)程無(wú)關(guān)或間接相關(guān)或臨時(shí)發(fā)生的事件,處理完后,再繼續(xù)執(zhí)行原工作。在單片機(jī)中,“中斷”是一個(gè)很重要的概念。中斷技術(shù)的進(jìn)步使單片機(jī)的發(fā)展和應(yīng)用大大地推進(jìn)了一步。所以,中斷功能的強(qiáng)弱已成為衡量單片機(jī)功能完善與否的重要指標(biāo)。
單片機(jī)采用中斷技術(shù)后,大大提高了它的工作效率和處理問(wèn)題的靈活性,主要表現(xiàn)在以下幾個(gè)方面:
(1)提高了CPU的工作效率,實(shí)現(xiàn)了CPU和外部設(shè)備的并行工作。計(jì)算機(jī)有了中斷功能后,就解決了快速CPU與低速外設(shè)之間的矛盾,可以使CPU和外設(shè)同時(shí)工作。CPU啟動(dòng)外設(shè)以后,繼續(xù)執(zhí)行主程序,同時(shí)外設(shè)也在工作。當(dāng)外設(shè)把數(shù)據(jù)準(zhǔn)備好后,就發(fā)出中斷請(qǐng)求,請(qǐng)求CPU中斷正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序(如輸入/輸出處理),中斷服務(wù)程序執(zhí)行完之后,CPU恢復(fù)執(zhí)行主程序,外設(shè)也繼續(xù)工作。這樣,CPU可以指揮多個(gè)外設(shè)同時(shí)工作,從而大大提高了CPU的效率。
(2)實(shí)現(xiàn)了實(shí)時(shí)控制。所謂實(shí)時(shí)控制,就是要求計(jì)算機(jī)能及時(shí)地響應(yīng)被控對(duì)象提出的分析、計(jì)算和控制等請(qǐng)求,使被控對(duì)象保持在最佳工作狀態(tài),以達(dá)到預(yù)定的控制效果。由于這些控制參數(shù)的請(qǐng)求都是隨機(jī)發(fā)出的,而且要求單片機(jī)必須做出快速響應(yīng)并及時(shí)處理,對(duì)此,只有靠中斷技術(shù)才能實(shí)現(xiàn)。
(3)便于突發(fā)故障(如硬件故障、運(yùn)算錯(cuò)誤、電源掉電、程序故障等)的及時(shí)發(fā)現(xiàn),提高系統(tǒng)可靠性。若在運(yùn)行過(guò)程中出現(xiàn)了事先預(yù)料不到的情況或故障時(shí),如電源掉電、存儲(chǔ)出
錯(cuò)、運(yùn)算溢出、傳輸錯(cuò)誤等,可以利用中斷系統(tǒng)自行處理,而不必停機(jī)。
(4)能使用戶通過(guò)鍵盤發(fā)出請(qǐng)求,隨時(shí)可以對(duì)運(yùn)行中的計(jì)算機(jī)進(jìn)行干預(yù)。
中斷處理程序類似于程序設(shè)計(jì)中的調(diào)用子程序,但它們又有區(qū)別:中斷的產(chǎn)生是隨機(jī)的,它既保護(hù)斷點(diǎn),又保護(hù)現(xiàn)場(chǎng),主要為外設(shè)服務(wù)和為處理各種事件服務(wù)。保護(hù)斷點(diǎn)是由硬件自動(dòng)完成的,保護(hù)現(xiàn)場(chǎng)須在中斷處理程序中用相應(yīng)的指令完成。調(diào)用子程序是程序中事先安排好的,它只保護(hù)斷點(diǎn),主要為主程序服務(wù)(與外設(shè)無(wú)關(guān))。
1.中斷的概念
當(dāng)計(jì)算機(jī)執(zhí)行正常程序時(shí),系統(tǒng)中出現(xiàn)了某些急需處理的異常情況和特殊請(qǐng)求,這時(shí)CPU暫時(shí)中止現(xiàn)在正在執(zhí)行的程序,轉(zhuǎn)去對(duì)隨機(jī)發(fā)生的緊迫事件進(jìn)行處理(執(zhí)行中斷服務(wù)程序),待該事件處理完畢,CPU自動(dòng)地回到原來(lái)被中斷的程序繼續(xù)執(zhí)行,這個(gè)過(guò)程稱為“中斷”。
“中斷”之后所執(zhí)行的處理程序通常稱為中斷服務(wù)程序或中斷處理子程序;原來(lái)執(zhí)行的程序稱為主程序;主程序被中斷的位置(地址)稱為斷點(diǎn);引起中斷的原因,或能夠發(fā)出中斷申請(qǐng)的來(lái)源稱為中斷源。中斷源要求服務(wù)的請(qǐng)求稱為中斷請(qǐng)求?!爸袛嗾?qǐng)求”通常是一種電信號(hào),CPU一旦對(duì)這個(gè)信號(hào)進(jìn)行檢測(cè)和響應(yīng)便可自動(dòng)轉(zhuǎn)入該中斷源的中斷服務(wù)程序執(zhí)行,并在執(zhí)行完后自動(dòng)返回原程序處繼續(xù)執(zhí)行。中斷源不同,中斷服務(wù)程序的功能也不同。中斷又可看做CPU自動(dòng)執(zhí)行中斷服務(wù)程序并返回原程序處執(zhí)行的過(guò)程。中斷過(guò)程如圖4-1所示。圖4-1中斷過(guò)程示意圖
2.中斷的處理過(guò)程
CPU響應(yīng)中斷源的中斷請(qǐng)求后,就轉(zhuǎn)去進(jìn)行中斷處理。不同的中斷源,其中斷處理內(nèi)容可能不同,但中斷處理流程都相似,具體如圖4-2所示。圖4-2中斷處理流程
從圖4-2可以看到中斷處理的過(guò)程,下面做幾點(diǎn)補(bǔ)充說(shuō)明:
(1)保護(hù)現(xiàn)場(chǎng)與恢復(fù)現(xiàn)場(chǎng)。為了使中斷服務(wù)程序的執(zhí)行不破壞CPU中寄存器或存儲(chǔ)單元的原有內(nèi)容,以免在中斷返回后影響主程序的運(yùn)行,需要把CPU中有關(guān)寄存器或存儲(chǔ)單元的內(nèi)容推入堆棧中保護(hù)起來(lái),這就是保護(hù)現(xiàn)場(chǎng)。而在中斷服務(wù)程序結(jié)束時(shí)和返回主程序之前,則需要把保護(hù)起來(lái)的那些現(xiàn)場(chǎng)內(nèi)容從堆棧中彈出,以便恢復(fù)寄存器或存儲(chǔ)單元原有的內(nèi)容,這就是恢復(fù)現(xiàn)場(chǎng)。注意:一定要按先進(jìn)后出的原則進(jìn)行推入和彈出堆棧。
(2)開(kāi)中斷與關(guān)中斷。在中斷處理正在進(jìn)行的過(guò)程中,可能又有新的中斷請(qǐng)求到來(lái),一般說(shuō)來(lái),為防止這種高于當(dāng)前優(yōu)先級(jí)的中斷請(qǐng)求打斷當(dāng)前的中斷服務(wù)程序的執(zhí)行,CPU響應(yīng)中斷后應(yīng)關(guān)中斷(很多CPU是自動(dòng)關(guān)中斷的,但8051單片機(jī)不是自動(dòng)的,需要用軟件指令關(guān)閉),而編寫保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)的程序也應(yīng)在關(guān)閉中斷后進(jìn)行,以免使保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)的工作被干擾,這樣,就可屏蔽其他中斷請(qǐng)求了。如果想響應(yīng)更高級(jí)的中斷源的中斷請(qǐng)求,那么應(yīng)在現(xiàn)場(chǎng)保護(hù)之后,將CPU處于開(kāi)中斷的狀態(tài),這樣就使系統(tǒng)具有了中斷嵌套的功能。
(3)中斷服務(wù)。中斷服務(wù)是中斷處理程序的主要內(nèi)容,將根據(jù)中斷功能去編寫,以滿足用戶的需要。復(fù)雜的中斷服務(wù)程序也可以采用子程序形式。
(4)中斷返回。中斷返回是把當(dāng)前運(yùn)行的中斷服務(wù)程序轉(zhuǎn)回到被中斷請(qǐng)求中斷的主程序上來(lái)。
4.2中斷系統(tǒng)的結(jié)構(gòu)及控制
4.2.1中斷系統(tǒng)的結(jié)構(gòu)MCS-51系列單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)如圖4-3所示,它由中斷源、中斷源寄存器、中斷允許寄存器、中斷優(yōu)先級(jí)控制寄存器等組成。圖4-3MCS-51系列單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)
1.中斷源
中斷源是系統(tǒng)中允許請(qǐng)求中斷的事件。當(dāng)中斷源希望CPU對(duì)它服務(wù)時(shí),就產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),并加載到CPU中斷請(qǐng)求輸入端,通知CPU,這就形成了對(duì)CPU的中斷請(qǐng)求。
在MCS51系列單片機(jī)中,中斷源通常有以下幾種:
(1)外部設(shè)備中斷源。外部設(shè)備主要用于輸入和輸出數(shù)據(jù),所以它是最原始和最廣泛的中斷源。在作為中斷源時(shí),通常要求它在輸入或輸出一個(gè)數(shù)據(jù)時(shí)能自動(dòng)產(chǎn)生一個(gè)“中斷
請(qǐng)求”信號(hào)(如TTL高電平或TTL低電平),送到CPU的中斷請(qǐng)求輸入線INT0或INT1,以供CPU檢測(cè)和響應(yīng)。輸入/輸出設(shè)備,如鍵盤、打印機(jī)等都可以用做中斷源。
(2)被控對(duì)象中斷源。在計(jì)算機(jī)用做實(shí)時(shí)控制時(shí),被控對(duì)象常常被用做中斷源,用于產(chǎn)生中斷請(qǐng)求信號(hào)。例如,電壓、電流、溫度、壓力、流量和流速等超越上限和下限,以及
開(kāi)關(guān)和繼電器的閉合或斷開(kāi)等都可以作為中斷源來(lái)產(chǎn)生中斷請(qǐng)求信號(hào),要求CPU通過(guò)執(zhí)行中斷服務(wù)程序來(lái)加以處理。因此,被控對(duì)象常常用做實(shí)時(shí)控制計(jì)算機(jī)的巨大中斷源。
(3)故障中斷源。故障源是產(chǎn)生故障信息的來(lái)源,把它作為中斷源可以使CPU以中斷的方式對(duì)已發(fā)生的故障進(jìn)行及時(shí)處理。計(jì)算機(jī)故障中斷源有內(nèi)部和外部之分:CPU內(nèi)部故
障中斷源引起內(nèi)部中斷,如除法中除數(shù)為零中斷等;CPU外部故障中斷源引起外部中斷,如掉電中斷等。在掉電時(shí),當(dāng)電壓降低到一定值時(shí),就發(fā)出中斷申請(qǐng),由中斷系統(tǒng)響應(yīng)中斷,執(zhí)行中斷服務(wù)程序,保護(hù)現(xiàn)場(chǎng)和啟用備用電源,以保存存儲(chǔ)器中的信息。待電壓恢復(fù)后,繼續(xù)執(zhí)行掉電前的用戶程序。
和上述CPU故障中斷源相似,被控對(duì)象的故障源也可用做故障中斷源,以便對(duì)被控對(duì)象進(jìn)行應(yīng)急處理,從而減少系統(tǒng)在發(fā)生故障時(shí)的損失。
(4)定時(shí)/計(jì)數(shù)脈沖中斷源。定時(shí)/計(jì)數(shù)脈沖中斷源也有內(nèi)部和外部之分。內(nèi)部定時(shí)/計(jì)數(shù)脈沖中斷源是由單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器溢出(全“1”變?nèi)?”)時(shí)自動(dòng)產(chǎn)生的;外部定時(shí)/計(jì)數(shù)脈沖中斷源是由外部定時(shí)脈沖通過(guò)CPU的中斷請(qǐng)求輸入線或者定時(shí)器/計(jì)數(shù)器的輸入線引起的。
在51單片機(jī)中,單片機(jī)的類型不同,其中斷源的個(gè)數(shù)和中斷標(biāo)志位的定義也有差別。以AT89C51單片機(jī)為例,有4類5個(gè)中斷源,即2個(gè)外部中斷源、1個(gè)定時(shí)器中斷源和1個(gè)串行口中斷源。
1)外部中斷源
AT89C51有2個(gè)外部中斷源,即外部中斷0和外部中斷1,它們的中斷請(qǐng)求信號(hào)分別由引腳INT0(P4.2)和INT1(P4.4)引入。
外部中斷請(qǐng)求方式有電平觸發(fā)方式和邊沿觸發(fā)方式兩種。可以通過(guò)有關(guān)寄存器控制位的定義進(jìn)行設(shè)定。電平觸發(fā)方式是低電平有效。在這種方式下,只要單片機(jī)在中斷請(qǐng)求輸入端(INT0和INT1)上采樣到有效的低電平,就激活外部中斷。邊沿觸發(fā)方式是脈沖的負(fù)跳變有效。在此方式下,CPU在兩個(gè)相鄰機(jī)器周期對(duì)中斷請(qǐng)求引入端進(jìn)行采樣,如果前一次檢測(cè)為高電平,后一次檢測(cè)為低電平,即為有效的中斷請(qǐng)求。
2)定時(shí)器中斷源
定時(shí)器中斷是一種內(nèi)部中斷,是為滿足定時(shí)或計(jì)數(shù)的需要而設(shè)置的。8051內(nèi)部有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器(T0和T1),可以實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。這兩個(gè)定時(shí)器/計(jì)數(shù)器在內(nèi)
部定時(shí)脈沖或從引腳輸入的計(jì)數(shù)脈沖作用下發(fā)生溢出(從全“1”變?yōu)槿?”)時(shí),即向CPU提出溢出中斷請(qǐng)求,以表明定時(shí)時(shí)間到或計(jì)數(shù)值已滿。定時(shí)器溢出中斷常用于需要定時(shí)控制的場(chǎng)合。
3)串行口中斷源
串行口中斷也是一種內(nèi)部中斷,它是為數(shù)據(jù)的串行傳送需要而設(shè)置的。串行口中斷分為串行口發(fā)送中斷和串行口接收中斷兩種。每當(dāng)串行口發(fā)送或接收完一組數(shù)據(jù)時(shí),就會(huì)自
動(dòng)向CPU發(fā)出串行口中斷請(qǐng)求。
中斷源和中斷觸發(fā)方式如表4-1所示。
當(dāng)某中斷源的中斷請(qǐng)求被CPU響應(yīng)之后,CPU將把此中斷源的入口地址裝入程序計(jì)數(shù)器PC中,中斷服務(wù)程序即從此地址開(kāi)始執(zhí)行。此地址稱為中斷入口地址,亦稱為中斷矢量。在8051單片機(jī)中各中斷源與中斷入口的對(duì)應(yīng)關(guān)系見(jiàn)表4-2。
2.中斷源寄存器
51單片機(jī)的中斷源寄存器有兩個(gè),即定時(shí)器控制寄存器(TCON)和串行口控制寄存器(SCON),它們可以向CPU發(fā)出中斷請(qǐng)求,通過(guò)其中的中斷標(biāo)志位的狀態(tài)來(lái)標(biāo)記是哪些中
斷源向CPU發(fā)出了中斷請(qǐng)求。
1)定時(shí)器控制寄存器(TCON)
定時(shí)器控制寄存器單元地址為88H,位地址為88H~8FH,其相應(yīng)的位符號(hào)見(jiàn)表4-3。
該寄存器具有定時(shí)器/計(jì)數(shù)器的控制功能和中斷控制功能,其中與中斷有關(guān)的控制位共有以下6位:
(1)TF1:T1溢出中斷標(biāo)志位。當(dāng)T1產(chǎn)生溢出中斷時(shí),該位由硬件自動(dòng)置位(即TF1=1);當(dāng)T1的溢出中斷被CPU響應(yīng)之后,該位由硬件自動(dòng)復(fù)位(即TF1/0)。定時(shí)器溢出中斷標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),該位作為中斷請(qǐng)求標(biāo)志位來(lái)使用;采用查詢方式時(shí),該位作為查詢狀態(tài)位來(lái)使用。
(2)TF0:T0溢出中斷標(biāo)志位。其功能與TF1類似。
(3)IE1:外部中斷1中斷請(qǐng)求標(biāo)志位。當(dāng)CPU檢測(cè)到INT1上中斷請(qǐng)求有效時(shí),IE1由硬件自動(dòng)置位;在CPU響應(yīng)中斷請(qǐng)求后進(jìn)入相應(yīng)中斷服務(wù)程序執(zhí)行時(shí),該位由硬件自
動(dòng)復(fù)位。
(4)IT1:外部中斷1觸發(fā)方式標(biāo)志位。若IT1=1,則為邊沿觸發(fā)方式(下降沿有效);若IT1=0,則為電平觸發(fā)方式(低電平有效)。該位可由軟件置位或復(fù)位。
(5)IE0:外部中斷0中斷請(qǐng)求標(biāo)志位。其功能與IE1類似。
(6)IT0:外部中斷0觸發(fā)方式標(biāo)志位。其功能與IT1類似。
例4-1若51單片機(jī)中斷系統(tǒng)的狀態(tài)是T1有溢出中斷標(biāo)志,T0無(wú)溢出中斷標(biāo)志,外部中斷1無(wú)中斷信號(hào),中斷信號(hào)設(shè)置為下降沿有效,外部中斷0有中斷信號(hào),中斷信號(hào)設(shè)置為低電平有效,則定時(shí)器控制寄存器TCON里相關(guān)位TF1、TF0、IE1、IT1、IE0、IT0的狀態(tài)如何?
由于T1有溢出中斷標(biāo)志,T0無(wú)溢出中斷標(biāo)志,因此其對(duì)應(yīng)的終端標(biāo)記位TF1=1、TF0=0;外部中斷1無(wú)中斷信號(hào),且中斷信號(hào)設(shè)置為下降沿有效,則其對(duì)應(yīng)的終端標(biāo)記位IE1=0、IT1=1;外部中斷0有中斷信號(hào),且中斷信號(hào)設(shè)置為低電平有效,則其對(duì)應(yīng)的終端標(biāo)記位IE0=1、IT1=0。
2)串行口控制寄存器(SCON)
串行口控制寄存器單元地址為98H,位地址為98H~9FH,其相應(yīng)的位符號(hào)見(jiàn)表4-4。
SCON中與中斷有關(guān)的控制位共有2位,各位含義如下:
(1)TI:串行口發(fā)送中斷標(biāo)志位。當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)后,該位由硬件自動(dòng)置位,但在CPU響應(yīng)串行口中斷后轉(zhuǎn)向中斷服務(wù)程序執(zhí)行時(shí),該位是不能由硬件自動(dòng)復(fù)位的,因此用戶應(yīng)在串行口中斷服務(wù)程序中通過(guò)指令來(lái)使它復(fù)位。
(2)RI:串行口接收中斷標(biāo)志位。當(dāng)串行口接收完一幀串行數(shù)據(jù)后,該位由硬件自動(dòng)置位,同樣該位也不能由硬件自動(dòng)復(fù)位,應(yīng)由用戶在中斷服務(wù)程序中將其復(fù)位。
4.2.2中斷系統(tǒng)的控制
51單片機(jī)有一個(gè)中斷允許控制寄存器(IE)和一個(gè)中斷優(yōu)先級(jí)控制寄存器(IP)。中斷允許控制寄存器(IE)的功能是控制各個(gè)中斷請(qǐng)求能否通過(guò)(即是否允許使用各個(gè)中斷);中
斷優(yōu)先級(jí)控制寄存器(IP)的功能是設(shè)置每個(gè)中斷的優(yōu)先級(jí)。
1.中斷允許控制寄存器(IE)
中斷允許控制寄存器單元地址為A8H,位地址為A8H~AFH,其相應(yīng)的位符號(hào)見(jiàn)表4-5。
IE中與中斷有關(guān)的控制位共有6位,各位含義如下:
(1)EA:CPU中斷總允許位。該位狀態(tài)可由用戶通過(guò)程序設(shè)置:EA=0,CPU禁止所有中斷源的中斷請(qǐng)求,亦稱關(guān)中斷;EA=1,CPU開(kāi)放所有中斷源的中斷請(qǐng)求,但這些中斷請(qǐng)求最終能否被CPU響應(yīng)還取決于IE中相應(yīng)中斷源的中斷允許位狀態(tài)。
(2)ES:串行口中斷允許位。若ES=0,禁止串行口中斷;若ES=1,允許串行口中斷。
(3)ET1:T1中斷允許位。若ET1=0,禁止T1中斷;若ET1=1,允許T1中斷。
(4)EX1:外部中斷1中斷允許位。若EX1=0,禁止外部中斷1中斷;若EX1=1,允許外部中斷l(xiāng)中斷。
(5)ET0:T0中斷允許位。若ET0=0,禁止T0中斷;若ET0=1,允許T0中斷。
(6)EX0:外部中斷0中斷允許位。若EX0=0,禁止外部中斷0中斷;若EX0=1,允許外部中斷0中斷。
MCS-51單片機(jī)復(fù)位以后,IE寄存器中各中斷允許位均被清“0”,禁止所有中斷。
例4-251單片機(jī)編程時(shí)欲使用中斷系統(tǒng),允許INT0、INT1、T0、T1中斷,則應(yīng)該如何設(shè)置中斷允許控制寄存器IE的值?
按照要求只需將中斷允許控制寄存器IE里中斷總允許位及INT0、INT1、T0、T1中斷允許位打開(kāi),設(shè)置為1即可。C語(yǔ)言程序代碼可以采用字節(jié)整體操作,也可按位操作,都可以實(shí)現(xiàn)要求的效果。
2.中斷優(yōu)先級(jí)控制寄存器(IP)
MCS-51單片機(jī)的中斷優(yōu)先級(jí)控制比較簡(jiǎn)單,系統(tǒng)只定義了高、低兩個(gè)優(yōu)先級(jí)。用戶可利用軟件將每個(gè)中斷源設(shè)置為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,并可實(shí)現(xiàn)兩級(jí)中斷嵌套。
高優(yōu)先級(jí)中斷源可以中斷正在執(zhí)行的低優(yōu)先級(jí)中斷服務(wù)程序,除非在執(zhí)行低優(yōu)先級(jí)中斷服務(wù)程序時(shí)設(shè)置了CPU關(guān)中斷或禁止某些高優(yōu)先級(jí)中斷源的中斷。同級(jí)或低優(yōu)先級(jí)中斷源不能中斷正在執(zhí)行的中斷服務(wù)程序。
中斷優(yōu)先級(jí)控制寄存器為特殊功能寄存器,單元地址為B8H,位地址為B8H~BFH,其相應(yīng)位符號(hào)見(jiàn)表4-6。
IP寄存器中與中斷有關(guān)的控制位共有5位,各位含義如下:
(1)PS:串行口中斷優(yōu)先級(jí)控制位。若PS=0,設(shè)定串行口中斷為低優(yōu)先級(jí)中斷;若PS=1,設(shè)定串行口中斷為高優(yōu)先級(jí)中斷。
(2)PT1:T1中斷優(yōu)先級(jí)控制位。若PT1=0,設(shè)定T1為低優(yōu)先級(jí)中斷;若PT1=1,設(shè)定T1為高優(yōu)先級(jí)中斷。
(3)PX1:外部中斷1中斷優(yōu)先級(jí)控制位。若PX1=0,設(shè)定外部中斷1為低優(yōu)先級(jí)中斷;若PX1=1,設(shè)定外部中斷1為高優(yōu)先級(jí)中斷。
(4)PT0:T0中斷優(yōu)先級(jí)控制位。若PT0=0,設(shè)定T0為低優(yōu)先級(jí)中斷;若PT0=1,設(shè)定T0為高優(yōu)先級(jí)中斷。
(5)PX0:外部中斷0中斷優(yōu)先級(jí)控制位。若PX0=0,設(shè)定外部中斷0為低優(yōu)先級(jí)中斷;若PX0=1,設(shè)定外部中斷0為高優(yōu)先級(jí)中斷。
系統(tǒng)復(fù)位后,IP寄存器中各優(yōu)先級(jí)控制位均被清“0”,即將所有中斷源設(shè)置為低優(yōu)先級(jí)中斷。
例4-3編寫程序段,設(shè)置單片機(jī)的兩個(gè)外部中斷和串行口中斷為高優(yōu)先級(jí),兩個(gè)定時(shí)器的中斷為低優(yōu)先級(jí)。
按題意分析可以看出,需要將兩個(gè)外部中斷和串行口中斷在中斷優(yōu)先級(jí)控制寄存器(IP)的優(yōu)先級(jí)別控制位設(shè)置為1,即高優(yōu)先級(jí)。
按字節(jié)操作:
IP=0x15;
按位操作:
PX0=1;//設(shè)置外中斷0為高級(jí)中斷
PX1=1;//設(shè)置外中斷1為高級(jí)中斷
PS=1;//設(shè)置串行口中斷為高優(yōu)先級(jí)
MCS-51單片機(jī)對(duì)中斷優(yōu)先級(jí)的處理原則是:
(1)不同級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí),先處理高優(yōu)先級(jí)中斷后處理低優(yōu)先級(jí)中斷。
(2)處理低級(jí)中斷又收到高級(jí)中斷請(qǐng)求時(shí),停止處理低優(yōu)先級(jí)中斷轉(zhuǎn)而處理高優(yōu)先級(jí)中斷。
(3)正在處理高級(jí)中斷卻收到低級(jí)中斷請(qǐng)求時(shí),不理睬低優(yōu)先級(jí)中斷。
(4)同一級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí),通過(guò)內(nèi)部硬件查詢邏輯按優(yōu)先級(jí)順序確定應(yīng)響應(yīng)哪個(gè)中斷申請(qǐng),其優(yōu)先級(jí)順序由硬件電路形成,見(jiàn)表4-7。
一個(gè)中斷源的中斷請(qǐng)求被響應(yīng),需滿足以下必要條件。
(1)CPU開(kāi)中斷,即IE寄存器中的中斷總允許位EA=1。
(2)中斷源發(fā)出中斷請(qǐng)求,即該中斷源所對(duì)應(yīng)的中斷請(qǐng)求標(biāo)志位為1。
(3)中斷源的中斷允許位為1,即該中斷沒(méi)有被屏蔽。
(4)無(wú)同級(jí)或更高級(jí)中斷正在被服務(wù)。
任務(wù)4-1用外部中斷控制LED點(diǎn)亮或熄滅
任務(wù)目的利用單片機(jī)外接的一個(gè)按鍵產(chǎn)生外部中斷0信號(hào),通過(guò)中斷的方式控制單片機(jī)P1口的一個(gè)LED點(diǎn)亮或熄滅。任務(wù)準(zhǔn)備設(shè)備及軟件:萬(wàn)用表、計(jì)算機(jī)、KeilμVision4軟件、Proteus軟件。
任務(wù)實(shí)施
1.任務(wù)分析
采用單片機(jī)外部中斷0引腳外接的按鍵,以中斷方式控制LED發(fā)光二極管D1的點(diǎn)亮與熄滅,觀察任務(wù)實(shí)施效果。任務(wù)的Proteus原理圖如圖4-4所示。圖4-4中斷控制LED亮滅的電路原理圖
2.軟件仿真
(1)打開(kāi)Keil軟件,在軟件中輸入任務(wù)程序,對(duì)程序進(jìn)行編譯,直至沒(méi)有錯(cuò)誤,并生成相應(yīng)的hex文件。
(2)打開(kāi)Proteus軟件,繪制如圖4-4所示的電路,導(dǎo)入編譯后生成的hex文件,運(yùn)行程序,觀察仿真效果,如圖4-5所示。.
任務(wù)結(jié)論
通過(guò)按鍵產(chǎn)生單片機(jī)的中斷信號(hào),以中斷的方式來(lái)控制P1口上一個(gè)LED點(diǎn)亮與熄滅,實(shí)現(xiàn)中斷信號(hào)的產(chǎn)生和處理。圖4-5中斷控制LED亮滅的仿真效果圖
任務(wù)4-2利用中斷設(shè)計(jì)一個(gè)三人搶答器
任務(wù)目的采用中斷的方式設(shè)計(jì)一個(gè)三人搶答器,完成三人搶答的結(jié)果判斷,并將最終搶答結(jié)果送數(shù)碼管顯示。任務(wù)準(zhǔn)備設(shè)備及軟件:萬(wàn)用表、計(jì)算機(jī)、KeilμVision4軟件、Proteus軟件。
任務(wù)實(shí)施
1.任務(wù)分析
采用單片機(jī)設(shè)計(jì)三人搶答器,參考電路圖如圖4-6所示。S1、S2、S3分別為三個(gè)搶答按鍵,S4為主持人按鍵。當(dāng)主持人按下按鍵后,三位選手可以按鍵搶答,并將按鍵最快的
選手號(hào)送至數(shù)碼管模塊進(jìn)行顯示。圖4-6三人搶答器電路圖
2.軟件仿真
(1)打開(kāi)Keil軟件,在軟件中輸入任務(wù)程序,對(duì)程序進(jìn)行編譯,直至沒(méi)有錯(cuò)誤,并生成相應(yīng)的hex文件。
(2)打開(kāi)Proteus軟件,繪制如圖4-6所示的電路,導(dǎo)入編譯后生成的hex文件,運(yùn)行程序,觀察仿真效果,如圖4-7所示。
任務(wù)結(jié)論
通過(guò)主持人按鍵產(chǎn)生單片機(jī)的中斷信號(hào),在中斷子程序中判斷三名選手按鍵的快慢,并將搶答選手號(hào)碼送至數(shù)碼管顯示。圖4-7三人搶答器的仿真效果圖
任務(wù)4-3利用中斷設(shè)計(jì)一個(gè)方波脈沖計(jì)數(shù)器
任務(wù)目的設(shè)計(jì)一個(gè)函數(shù),采用單片機(jī)實(shí)現(xiàn)一個(gè)計(jì)數(shù)器,該計(jì)數(shù)器利用中斷的方式來(lái)實(shí)現(xiàn)方波計(jì)數(shù)功能,并通過(guò)數(shù)碼管觀察。任務(wù)準(zhǔn)備設(shè)備及軟件:萬(wàn)用表、計(jì)算機(jī)、KeilμVision4軟件、Proteus軟件。
任務(wù)實(shí)施
1.任務(wù)分析
采用單片機(jī)實(shí)現(xiàn)該計(jì)數(shù)器,利用中斷的方式來(lái)實(shí)現(xiàn)方波計(jì)數(shù)功能,并通過(guò)數(shù)碼管觀察。
2.軟件仿真
(1)打開(kāi)Keil軟件,在軟件中輸入任務(wù)程序,對(duì)程序進(jìn)行編譯,直至沒(méi)有錯(cuò)誤,并生成相應(yīng)的hex文件。
(2)打開(kāi)Proteus軟件,繪制如圖4-8所示的電路,導(dǎo)入編譯后生成的hex文件,運(yùn)行程序,觀察仿真效果,如圖4-9所示。圖4-8中斷方式實(shí)現(xiàn)方波計(jì)數(shù)器的電路原理圖圖4-9中斷方式實(shí)現(xiàn)方波計(jì)數(shù)器的仿真效果圖
任務(wù)結(jié)論
采用中斷方式實(shí)現(xiàn)方波計(jì)數(shù)器,在外部方波脈
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 省安監(jiān)局培訓(xùn)課件
- 2021國(guó)網(wǎng)公司營(yíng)銷線損調(diào)考題庫(kù)及答案解析
- 歷史與社會(huì):人教版九年級(jí)第三單元第二課第三框《德國(guó)進(jìn)攻蘇聯(lián)和日軍偷襲珍珠港》說(shuō)課稿
- 2020學(xué)習(xí)民法典測(cè)試題(共195題)
- 2024年07月浙江溫州銀行總行招考筆試歷年參考題庫(kù)附帶答案詳解
- 大企內(nèi)部培訓(xùn)資料
- 2024年淮北礦建公司職工總院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 粵教版高中信息技術(shù) 必修 1.1.2 信息的基本特征 說(shuō)課稿
- 教科版信息技術(shù)高一必修 2.3.1文件及其類型說(shuō)課稿001
- 第26課《詩(shī)詞五首:飲酒》說(shuō)課稿 2024-2025學(xué)年統(tǒng)編版語(yǔ)文八年級(jí)上冊(cè)
- 《面向生鮮食品配額優(yōu)化的時(shí)間序列數(shù)據(jù)分析與應(yīng)用》
- 網(wǎng)球俱樂(lè)部合伙合同模板
- 碼頭安全生產(chǎn)管理制度
- 部隊(duì)冬季常見(jiàn)病的防治
- 4《古詩(shī)三首》(說(shuō)課稿)2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 基礎(chǔ)化學(xué) 藥用基礎(chǔ)化學(xué)(1) 無(wú)機(jī)化學(xué) 分析化學(xué)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 小學(xué)校門口突發(fā)問(wèn)題應(yīng)急預(yù)案(5篇)
- 產(chǎn)品代發(fā)合同范例
- 《城市軌道交通票務(wù)管理》-實(shí)訓(xùn)計(jì)劃
- 2024廣東省基本醫(yī)療保險(xiǎn)門診特定病種業(yè)務(wù)經(jīng)辦規(guī)程-申請(qǐng)表
- 2023年輔導(dǎo)員職業(yè)技能大賽試題及答案
評(píng)論
0/150
提交評(píng)論