51單片機(jī)中斷介紹_第1頁
51單片機(jī)中斷介紹_第2頁
51單片機(jī)中斷介紹_第3頁
51單片機(jī)中斷介紹_第4頁
51單片機(jī)中斷介紹_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、MCS-51單片機(jī)的中斷系統(tǒng)1、中斷概念在提到中斷這個(gè)概念之前,先來看個(gè)例子,假如你正在看書,這時(shí)侯電話鈴響了,你在書本上做個(gè)記號,然后與對方通電話,而此時(shí)恰好有廚房水燒開了,你先停下通電話,去關(guān)閉爐火,然后回頭繼續(xù)通完電話,通話完畢,繼續(xù)看書。這就是日常生活中的中斷現(xiàn)象,從看書到接電話是第一次中斷,通電話的過程中水燒開,這是第二次中斷,即在中斷的過程中乂出現(xiàn)第二次中斷,這就是我們常說的中斷嵌套。處理完第二個(gè)中斷任務(wù)后,回頭處理第一個(gè)中斷,第一個(gè)中斷完成后,再繼續(xù)你原先的主要工作。為什么會(huì)出現(xiàn)這樣的中斷呢?道理很簡單,人只有一個(gè)腦袋,在一種特定的時(shí)間內(nèi),可能會(huì)面對著兩、三共至更多的任務(wù)。但一個(gè)

2、人乂不可能在同一時(shí)間去完成多樣任務(wù),因此你只能采分析任務(wù)的輕重緩急,采用中斷的方法穿插去完成它們。那么這種情況對丁單片機(jī)中的中央處理器也是如此,單片機(jī)中CPU只有一個(gè),但在同一時(shí)間內(nèi)可能會(huì)面臨著處理很多任務(wù)的情況,如運(yùn)行主程序、數(shù)據(jù)的輸入和輸出,定時(shí)/和計(jì)數(shù)時(shí)間已到耍處理、可能還有一些外部的更重耍的中斷請求(如超溫超壓)耍先處理。此時(shí)也得象人的思維一樣停下當(dāng)前工作先去完成一些緊急任務(wù)的中斷方法。這樣的一樣處理方法上升到計(jì)算機(jī)理論,就是一個(gè)資源面對多項(xiàng)任務(wù)的處理方式,由丁-資源有限,面對多項(xiàng)任務(wù)同時(shí)要處理時(shí),就會(huì)出現(xiàn)資源競爭的現(xiàn)象。中斷技術(shù)就是為了解決資源競爭的一個(gè)可行的方法,采用中斷技術(shù)可使多

3、項(xiàng)任務(wù)共享一個(gè)資源。CPU正在執(zhí)行原程序,突然,被意外事情打斷,轉(zhuǎn)去執(zhí)行新程序。CPU執(zhí)行新程序結(jié)束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過程就叫中斷。中斷響應(yīng)過程流程圖中斷嵌套流程圖2、MCS-51的中斷系統(tǒng)中斷過程是在硬件基礎(chǔ)上再配以相應(yīng)的軟件而實(shí)現(xiàn)的,不同的計(jì)算機(jī)其硬件結(jié)構(gòu)和軟件指令是不完全相同的,因此,中斷系統(tǒng)也是不相同的。MCS-51中斷系統(tǒng)的結(jié)構(gòu)框圖如圖所示。由圖可知,與中斷有關(guān)的寄存器有4個(gè),分別為中斷源寄存器TCON和SCON、中斷允許控制寄存器IE和中斷優(yōu)先級控制寄存器IP。有中斷源5個(gè),5個(gè)中斷源的排列順序由中斷優(yōu)先級控制寄存器IP和順序査詢邏輯電路共同決定,5個(gè)中斷源分別對應(yīng)

4、5個(gè)固定的中斷入口地址。TOT1TXRXTCONIE0TFOIE1TF1TIRIIE源允許總允許SCON中斷標(biāo)志硬件査詢P:P'P:-CF<3Y低級中斯請求氏島級中斯請求PC優(yōu)MCS-51中斷系統(tǒng)內(nèi)部結(jié)構(gòu)示意圖MCS-51的5個(gè)中斷源詳述如下:(1)ETO:外部中斷0請求,由P3.2腳輸入。通過IT0腳(TCON.0)來決定是低電平有效還是下跳變有效。一旦輸入信號有效,則向CPU申請中斷,并建立IE0標(biāo)志。(2)麗:外部中斷1請求,由P3.3腳輸入。通過IT1腳(TCON.2)來決定是低電平有效還是下跳變有效。一旦輸入信號有效,則向CPU申請中斷,并建立IE1標(biāo)志。(3)TFO:

5、定時(shí)器T0溢出中斷請求。當(dāng)定時(shí)器T0產(chǎn)生溢出時(shí),定時(shí)器T0中斷請求標(biāo)志位(TC0N.5)置位(由硬件白動(dòng)執(zhí)行),請求中斷處理。(4)TF1:定時(shí)器T1溢出中斷請求。當(dāng)定時(shí)器T1產(chǎn)生溢出時(shí),定時(shí)器T1中斷請求標(biāo)志位(TC0N.7)置位(由硬件白動(dòng)執(zhí)行),請求中斷處理。(5)RI或TI:串行中斷請求。當(dāng)接收或發(fā)送完一串行幀時(shí),內(nèi)部串行口中斷請求標(biāo)志位RI(SCON.0)或TI(SCON.1)置位(由硬件自動(dòng)執(zhí)行),請求中斷。中斷處理過程包含:中斷請求、中斷響應(yīng)、中斷服務(wù)、中斷返回四個(gè)階段. 中斷請求:中斷源將相應(yīng)請求中斷的標(biāo)志位置“1”,表示發(fā)出請求,并由CPU査詢。 中斷響應(yīng):在一條指令的最后一

6、個(gè)周期按優(yōu)先級順序査詢中斷標(biāo)志,為“1”并滿足響應(yīng)條件時(shí)響應(yīng)。 中斷服務(wù):根據(jù)入口地址轉(zhuǎn)中斷服務(wù)程序,保護(hù)現(xiàn)場、執(zhí)行中斷主體、恢復(fù)現(xiàn)場。 中斷返回:中斷服務(wù)完后,計(jì)算機(jī)返回原來的斷點(diǎn)位置,繼續(xù)執(zhí)行原來的程序。每一個(gè)中斷源都對應(yīng)有一個(gè)中斷請求標(biāo)志位來反映中斷請求狀態(tài),這些標(biāo)志位分布在特殊功能寄存器TCON和SCON中。1)定時(shí)器/計(jì)數(shù)器控制寄存器TCONTCON為定時(shí)器/計(jì)數(shù)器的控制寄存器,它同時(shí)也鎖存TO、T1溢出中斷源標(biāo)志、外部中斷請求標(biāo)志,與這些中斷請求源相關(guān)的位含義如下:TCON(88H):D7D6D5D4D3D2DIDOTF1TFOIE1IT1IE0IT0TCON寄存器各位功能如下:I

7、TO(TCON.O):選擇外部中斷請求0(INTO)為邊沿觸發(fā)或電平觸發(fā)方式的控制位。IT0=0,為電平觸發(fā)方式,血0引腳位低電平時(shí)向CPU申請中斷;ITO=1,為邊沿觸發(fā)方式,EO輸入腳上的高到低的負(fù)跳變時(shí)向CPU申請中斷。IT0可由軟件置“1”或清“0”。IEO(TCON.l):外部中斷0的中斷申請標(biāo)志。當(dāng)IT0=0即電平觸發(fā)方式時(shí),每個(gè)機(jī)器周期的S5P2采樣INTO,若INTO為低電平,則置“0”IE0。當(dāng)ITO=1,即INTO程控為邊沿觸發(fā)方式時(shí),則置“1”IEO。IE0為1表示外部中斷0正在向CPU申請中斷。當(dāng)CPU響應(yīng)該中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件清"0”IEOoIT

8、1(TCON.2):選擇外部中斷請求1(INT1)為邊沿觸發(fā)方式或電平觸發(fā)方式的控制位,其作用和IT0類似。IE1(TCON.3):外部中斷1的中斷申請標(biāo)志。其意義和IE0相同。TFO(TCON.5):8031片內(nèi)定時(shí)器/計(jì)數(shù)器0溢出中斷申請標(biāo)志。當(dāng)啟動(dòng)T0計(jì)數(shù)后,定時(shí)器/計(jì)數(shù)器0從初始值開始1計(jì)數(shù),當(dāng)最高位產(chǎn)生溢出時(shí),由硬件置TFO,向CPU申請中斷,CPU響應(yīng)TFO中斷時(shí),會(huì)自動(dòng)清“0”TFO。TF1(TCON.7):8031片內(nèi)定時(shí)器/計(jì)數(shù)器1溢出中斷申請標(biāo)志,功能和TFO類似。當(dāng)MCS-51系統(tǒng)復(fù)位后,TCON各位被清0。2)、串行口控制寄存器SCONSCON為串行口控制寄存器,SCO

9、N的低二位,鎖存串行口的接收中斷和發(fā)送中斷標(biāo)志,其格式如下:SCON(98H)D7D6D5D4D3D2DIDOTIRISCON寄存器各位功能如下:TI(SCON.l):8031串行口的發(fā)送中斷標(biāo)志,TI=1表示串行口發(fā)送器正在向CPU申請中斷,向串行口的數(shù)據(jù)緩沖器SBUF寫入一個(gè)數(shù)據(jù)后,就立即啟動(dòng)發(fā)送器繼續(xù)發(fā)送。值得注意的是,CPU響應(yīng)發(fā)生器中斷請求,轉(zhuǎn)向執(zhí)行中斷服務(wù)程序時(shí),并不清“0”TI,TI必須由用戶的中斷服務(wù)程序清“0”。RI(SCON.O):串行口接收中斷標(biāo)志,RI為1表示串行口接收器正在向CPU申請中斷,同樣RI必須由用戶的中斷服務(wù)程序清“0”。一般情況,以上五個(gè)中斷源的中斷請求標(biāo)

10、志是由中斷機(jī)構(gòu)硬件電路鬥動(dòng)置位的,但也可以人為的通過指令(SETBBIT),對以上兩個(gè)控制寄存器的中斷標(biāo)志位置位,即“軟件代請中斷”,這是單片機(jī)中斷系統(tǒng)的一大特點(diǎn)。3)、中斷允許寄存器IEMCS-51單片機(jī)對中斷的開放或屏蔽,是由片內(nèi)的中斷允許寄存器IE控制的。IE的格式如下圖所示:IE(0A8H)D7D6D5D4D3D2DIDOEA-ESET1EX1ET0EX0IE寄存器各位功能如下:EA(IE.7):CPU的中斷開放/禁止總控制位。EA=0時(shí)禁止所有中斷;EA=1時(shí),開放中斷,但每個(gè)中斷還受各卜|的控制位控制。ES(IE.4)允許或禁止串行口中斷。ES=0時(shí),禁止中斷;ES=1時(shí),允許中斷

11、。ES(IE.3):允許或禁止定時(shí)/計(jì)數(shù)器1溢出中斷。ET1=O時(shí),禁止中斷;EX1=1時(shí),允許中斷。ET1(IE.2):允許或禁止外部中斷1(INT)中斷。EX1=O時(shí),禁止中斷;EX1=1時(shí),允許中斷。EXI(IE.1):允許或禁止定時(shí)器/計(jì)數(shù)器0溢出中斷。ET0=0時(shí),禁止中斷,ETO=1時(shí)允許中斷。EXO(IE.0):允許或禁止外部中斷0(INTO)中斷。EX0=0時(shí),禁止中斷;EX0=1時(shí),允許中斷。當(dāng)MCS-51系統(tǒng)復(fù)位后,IE各位均被清0,所有中斷被禁止。4)、中斷優(yōu)先級寄存器IPMCS-51單片機(jī)設(shè)有兩級優(yōu)先級,高優(yōu)先級中斷和低優(yōu)先級中斷。中斷源的中斷優(yōu)先級分別由中斷控制寄存器

12、IP的各位來設(shè)定。IP的格式如下:IP(0B8H):D7D6D5D4D3D2DIDO-PSPT1PX1PTOPX0IP寄存器各位功能如F:PS(IP.4):串行口中斷優(yōu)先級控制位。PS=1,為高優(yōu)先級中斷,PS=O,為低優(yōu)先級中斷。PT1(IP.3):定時(shí)/計(jì)數(shù)器T1中斷優(yōu)先級控制位。PT1=1,為高優(yōu)先級中斷,PT1=O,為低優(yōu)先級中斷。PX1(IP.2):外部中斷1中斷優(yōu)先級控制位。PX1=1,為高優(yōu)先級中斷,PX1=O,為低優(yōu)先級中斷。PTO(IP.1):定時(shí)器/計(jì)數(shù)器TO中斷優(yōu)先級控制位。PTO=1,為高優(yōu)先級中斷,PT1=O,為低優(yōu)先級中斷。PXO(IP.0):外部中斷0中斷優(yōu)先級控

13、制位。PXO=1,為高優(yōu)先級中斷,PX0=0,為低優(yōu)先級中斷。中斷申請?jiān)吹闹袛鄡?yōu)先級的高低,由中斷優(yōu)先級控制寄存器IP的各位控制,IP的各位由用戶用指令來設(shè)定。當(dāng)系統(tǒng)復(fù)位后,IP低5位全部清0,所有中斷源均設(shè)定為低優(yōu)先級中斷。如果兒個(gè)同一優(yōu)先級的中斷源同時(shí)向CPU申請中斷,CPU通過內(nèi)部硬件査詢邏輯,按H然優(yōu)先級順序確定先響應(yīng)哪個(gè)中斷請求。H然優(yōu)先級由硬件形成,排列如下:中斷源同級白然優(yōu)先級外部中斷o最高級定時(shí)器TO中斷外部中斷1定時(shí)器T1中斷w串行口中斷最低級3、C語言中中斷函數(shù)的編寫中斷函數(shù)的定義中斷函數(shù)定義的格式為:函數(shù)類型函數(shù)夕|iiitemiptnusingn其中:Intemipt后面的n是中斷號。關(guān)鍵字using后面的ii是所選擇的寄存器組,取值范圍是03.定義中斷函數(shù)時(shí)using是一個(gè)選項(xiàng),可以省略不用。如果不用則由編譯器選擇一個(gè)寄存器組作為絕對寄存器組。8051的中斷過程通過使用intemipt關(guān)鍵字和中斷號來實(shí)現(xiàn),中斷號告訴編譯器中斷程序的入口地址。中斷號對應(yīng)著IE寄存器中的使能位,換句話說,IE寄存器中的0位對應(yīng)著外部中斷0,相應(yīng)的外部中斷0的中斷號就是0.由IE寄存器中的使能位與外部中斷對應(yīng)關(guān)系可得到各個(gè)中斷源的中斷號:中斷源中斷號外部中斷00定時(shí)器TO1外部中斷12定時(shí)器T13串口中斷4使用中斷函數(shù)耍注意的問題1、中斷函數(shù)沒有返回値。2、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論