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

下載本文檔

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

文檔簡介

§第六章

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

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

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

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

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

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

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

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

TX/RX——串行口中斷請求。當(dāng)串行口完成一幀數(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為主程序地址標(biāo)號

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

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

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

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

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

IT0——

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

9SCON

RI

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

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

RI——串行口接收中斷標(biāo)志位。

硬件置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)定時器/計(jì)數(shù)器0中斷,禁止其他中斷。試根據(jù)假設(shè)條件設(shè)置IE的相應(yīng)值。解:(IE)=10000010B=82H(a)用字節(jié)操作指令

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

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

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

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

IPPX0PT0PX1PT1

PS———PS——串口的中斷優(yōu)先級別PT1——定時/計(jì)數(shù)器T1的中斷優(yōu)先級別PX1——外部中斷1的中斷優(yōu)先級別PT0——定時/計(jì)數(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每個機(jī)器周期都需要順序檢查每個中斷源,當(dāng)檢測到有中斷請求時,能否響應(yīng),還要看下述情況是否存在:

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

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

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

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

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

中斷入口設(shè)置、中斷服務(wù)主體程序、中斷返回指令RETI。21例1、設(shè)8051外部中斷源接引腳,中斷觸發(fā)方式為電平觸發(fā),優(yōu)先級為高;試編制8051中斷系統(tǒng)的初始化程序。解:采用位操作指令實(shí)現(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ù)跳變觸發(fā)中斷Here:SJMP Here;相當(dāng)于執(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論