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

下載本文檔

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

文檔簡(jiǎn)介

§第六章

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)場(chǎng)隨時(shí)變化的各種參數(shù)、信息,做出實(shí)時(shí)監(jiān)控。

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

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

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

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

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

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

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

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

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

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

串口中斷0023H6

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

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

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

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

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

中斷控制四項(xiàng)內(nèi)容:中斷允許控制,中斷請(qǐng)求標(biāo)志,中斷優(yōu)先控制和中斷觸發(fā)方式控制。四個(gè)特殊功能寄存器:中斷允許控制寄存器IE,定時(shí)器控制寄存器TCON,串行口控制寄存器SCON,中斷優(yōu)先級(jí)控制寄存器IP。8中斷請(qǐng)求標(biāo)志位分別分布在TCON、SCON兩個(gè)寄存器中。TCONIT0IE0IT1IE1TR0TF0TR1TF1TF1——T1的溢出中斷標(biāo)志硬件置1,硬件清0(也可軟件清0)TF0——T0的溢出中斷標(biāo)志。(同TF1,只是針對(duì)T0的)IE1——外部中斷1(/INT1)請(qǐng)求標(biāo)志。外部有中斷請(qǐng)求時(shí),硬件使IE1置1。IE0——外部中斷0(/INT0)請(qǐng)求標(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之間有二級(jí)中斷允許控制邏輯電路,類似開關(guān),其中第一級(jí)為一個(gè)總開關(guān),第二級(jí)為五個(gè)分開關(guān),由IE控制。

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

總控制位

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

串口控制位

ET1——T1中斷控制位

EX1——/INT1控制位

ET0——T0中斷控制位

EX0——/INT0控制位

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

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

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

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

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

IPPX0PT0PX1PT1

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

T0溢出中斷/INT1中斷

T1溢出中斷

串口中斷

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

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

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

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

自動(dòng)清除:定時(shí)器中斷、下降沿觸發(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)先級(jí)(IP)和選擇外中斷觸發(fā)方式(TCON),設(shè)置計(jì)數(shù)器、串行口的有關(guān)參數(shù)。(2)中斷服務(wù)程序的編寫:

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

SETBEA ;開總中斷

SETBEX0 ;開中斷

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

CLRIT0 ;設(shè)置為電平觸發(fā)方式22例2:要求每次按動(dòng)按鍵,使外接發(fā)光二極管改變一次亮滅狀態(tài)。解:INT0輸入按鍵信號(hào),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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論