第六章. 單片機中斷系統(tǒng)_第1頁
第六章. 單片機中斷系統(tǒng)_第2頁
第六章. 單片機中斷系統(tǒng)_第3頁
第六章. 單片機中斷系統(tǒng)_第4頁
第六章. 單片機中斷系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

§第六章

MCS-51中斷系統(tǒng)一、概述CPU正在執(zhí)行原程序,突然,被意外事情打斷,轉(zhuǎn)去執(zhí)行新程序。CPU執(zhí)行新程序結(jié)束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過程就叫中斷。1中斷流程主程序中斷服務(wù)程序中斷返回繼續(xù)執(zhí)行主程序斷點中斷響應(yīng)2根據(jù)現(xiàn)場隨時變化的各種參數(shù)、信息,做出實時監(jiān)控。

CPU與外部設(shè)備并行工作,以中斷方式相聯(lián)系,提高工作效率。在多項外部設(shè)備同時提出中斷請求情況下,CPU能根據(jù)輕重緩急響應(yīng)外設(shè)的中斷請求。

中斷的作用:3對于MCS-51單片機中斷系統(tǒng)的組成可以用一句話來講,叫做:“五源中斷,兩級管理”

五個中斷源:入口地址外部中斷0(/INT0)0003HT0溢出中斷000BH

外部中斷1(/INT1)0013HT1溢出中斷001BH

串口中斷0023H二、中斷請求源(“五源中斷”)4/INT0——外部中斷0請求,低電平有效。通過P3.2引腳輸入/INT1——外部中斷1請求,低電平有效。通過P3.3引腳輸入。

T0——定時器/計數(shù)器0溢出中斷請求。

T1——定時器/計數(shù)器1溢出中斷請求。

TX/RX——串行口中斷請求。當串行口完成一幀數(shù)據(jù)的發(fā)送或接收時,便請求中斷。外部中斷源內(nèi)部中斷源5中斷服務(wù)程序入口地址:

中斷響應(yīng)的主要內(nèi)容就是由硬件自動生成一條長調(diào)用指令(LCALLaddr16),CPU執(zhí)行這條長調(diào)用指令便響應(yīng)中斷,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。這里的addr16就是程序存儲器中相應(yīng)的中斷服務(wù)程序的入口地址,MCS-51的5個中斷源的中斷服務(wù)程序入口地址是固定的,如下表所示。五個中斷源:入口地址外部中斷0(/INT0)0003HT0溢出中斷000BH

外部中斷1(/INT1)0013HT1溢出中斷001BH

串口中斷0023H6

8051的5個中斷源的中斷服務(wù)入口地址之間相差8個單元。這8個存儲單元用來存儲中斷服務(wù)程序一般來說是不夠的。用戶常在中斷服務(wù)程序地址入口處放一條三字節(jié)的長轉(zhuǎn)移指令。一般地,主程序從0030H單元以后開始存放。例如:

ORG0000H LJMPSTART ;轉(zhuǎn)入主程序,START為主程序地址標號

ORG0003H LJMPINT0 ;轉(zhuǎn)外中斷中斷服務(wù)程序

ORG000BH LJMPT0 ;轉(zhuǎn)定時器T0中斷服務(wù)程序

ORG0030H START: …… ;主程序開始7

中斷控制四項內(nèi)容:中斷允許控制,中斷請求標志,中斷優(yōu)先控制和中斷觸發(fā)方式控制。四個特殊功能寄存器:中斷允許控制寄存器IE,定時器控制寄存器TCON,串行口控制寄存器SCON,中斷優(yōu)先級控制寄存器IP。8中斷請求標志位分別分布在TCON、SCON兩個寄存器中。TCONIT0IE0IT1IE1TR0TF0TR1TF1TF1——T1的溢出中斷標志硬件置1,硬件清0(也可軟件清0)TF0——T0的溢出中斷標志。(同TF1,只是針對T0的)IE1——外部中斷1(/INT1)請求標志。外部有中斷請求時,硬件使IE1置1。IE0——外部中斷0(/INT0)請求標志。IT1——外部中斷1(/INT1)觸發(fā)類型控制位。

IT1=0,低電平觸發(fā)。IT1=1,下降沿觸發(fā)。

IT0——

外中斷0(/INT0)觸發(fā)類型控制位,用法同IT1。

9SCON

RI

TIRB8TB8RENSM2SM1SM0TI——串口發(fā)送中斷標志位。

發(fā)送完數(shù)據(jù),硬件使TI置1,軟件清0(CLRTI)

RI——串行口接收中斷標志位。

硬件置1,軟件清0。

10在中斷源與CPU之間有二級中斷允許控制邏輯電路,類似開關(guān),其中第一級為一個總開關(guān),第二級為五個分開關(guān),由IE控制。

三、中斷控制(兩級管理)1、中斷屏蔽(第一級管理)IEEX0ET0EX1ET1ES——EAEA——

總控制位

“—”——未定義位ES——

串口控制位

ET1——T1中斷控制位

EX1——/INT1控制位

ET0——T0中斷控制位

EX0——/INT0控制位

若為“1”,開關(guān)接通,允許例如SETBEA若為“0”,開關(guān)斷開,不允許例如CLRIE.711例:假設(shè)允許片內(nèi)定時器/計數(shù)器0中斷,禁止其他中斷。試根據(jù)假設(shè)條件設(shè)置IE的相應(yīng)值。解:(IE)=10000010B=82H(a)用字節(jié)操作指令

MOVIE,#82H;(b)用位操作指令

SETBET0;定時器/計數(shù)器0允許中斷

SETBEA;CPU開中斷122、中斷優(yōu)先級(第二級管理)CPU同一時間只能響應(yīng)一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。

為此將5個中斷源分成高級、低級兩個級別,高級優(yōu)先,由IP控制。

IPPX0PT0PX1PT1

PS———PS——串口的中斷優(yōu)先級別PT1——定時/計數(shù)器T1的中斷優(yōu)先級別PX1——外部中斷1的中斷優(yōu)先級別PT0——定時/計數(shù)器T0的中斷優(yōu)先級別PX0——外部中斷0的中斷優(yōu)先級別該位是“1”時,為高級優(yōu)先級該位是“0”時,為低級優(yōu)先級13同一級中的5個中斷源的優(yōu)先順序是:/INT0中斷

T0溢出中斷/INT1中斷

T1溢出中斷

串口中斷

高低1415CPU在執(zhí)行主程序低級中斷請求響應(yīng)低級中斷請求CPU執(zhí)行低級中斷服務(wù)程序高級中斷請求響應(yīng)高級中斷請求CPU執(zhí)行高級中斷服務(wù)程序返回低級中斷程序返回主程序16四、MCS-51中斷的響應(yīng)過程

CPU每個機器周期都需要順序檢查每個中斷源,當檢測到有中斷請求時,能否響應(yīng),還要看下述情況是否存在:

(1)CPU正處理相同級別或更高級別的中斷;(2)正在執(zhí)行指令,還未到最后一個機器周期;(3)正在執(zhí)行的指令是RETI或訪問IP、IE指令,則執(zhí)行完上述指令后,再執(zhí)行一條指令后,才會響應(yīng)新中斷。

17,中斷響應(yīng)條件①有中斷源發(fā)出中斷請求。②中斷總允許位EA=1,即CPU中斷。③申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽。④無同級或更高級中斷正在被服務(wù)。⑤當前的指令周期已經(jīng)結(jié)束。⑥若現(xiàn)行指令為RETI或是訪問IE或IP指令時,該指令以及緊接著的另一條指令已執(zhí)行完。18中斷響應(yīng)操作過程⑴把當前PC值壓入堆棧,保護斷點。⑵將相應(yīng)的中斷服務(wù)程序的入口地址送入PC。⑶對有些中斷源,CPU會自動清除中斷標志。

自動清除:定時器中斷、下降沿觸發(fā)外部中斷。軟件清除:串行口中斷。電平觸發(fā)的外部中斷需外電路邏輯電平的改變。19⑷執(zhí)行中斷服務(wù)程序。⑸執(zhí)行到返回指令RETI,中斷服務(wù)程序結(jié)束,將堆棧內(nèi)容彈出到PC,返回到原來斷點繼續(xù)執(zhí)行。20五.MCS-51中斷系統(tǒng)的編程

(1)中斷初始化設(shè)置:

開相應(yīng)中斷允許(IE)、選擇優(yōu)先級(IP)和選擇外中斷觸發(fā)方式(TCON),設(shè)置計數(shù)器、串行口的有關(guān)參數(shù)。(2)中斷服務(wù)程序的編寫:

中斷入口設(shè)置、中斷服務(wù)主體程序、中斷返回指令RETI。21例1、設(shè)8051外部中斷源接引腳,中斷觸發(fā)方式為電平觸發(fā),優(yōu)先級為高;試編制8051中斷系統(tǒng)的初始化程序。解:采用位操作指令實現(xiàn)(也可以采用傳送指令和邏輯指令)。

SETBEA ;開總中斷

SETBEX0 ;開中斷

SETBPX0 ;設(shè)置為高優(yōu)先級

CLRIT0 ;設(shè)置為電平觸發(fā)方式22例2:要求每次按動按鍵,使外接發(fā)光二極管改變一次亮滅狀態(tài)。解:INT0輸入按鍵信號,P1.0輸出改變LED狀態(tài)。

ORG 0000H

AJMPMAIN ORG 0003H ;中斷入口 AJMPPINT0 ORG 0100H ;主程序MAIN:SETB EA ;開總允許開關(guān)

SETB EX0 ;開INT0中斷

SETB IT0;負跳變觸發(fā)中斷Here:SJMP Here;相當于執(zhí)行其

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論