




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章中斷系統(tǒng)
教學(xué)目的:了解80C51系列單片機(jī)的中斷系統(tǒng)的組成及工作原理;能夠利用片內(nèi)中斷系統(tǒng)處理各類中斷事件。教學(xué)重點(diǎn):1.各類中斷事件的登記、排 隊(duì)、響應(yīng)及撤除;
2.中斷系統(tǒng)的編程應(yīng)用。教學(xué)難點(diǎn):中斷系統(tǒng)的工作原理及處理
7.1.1中斷的概念
在執(zhí)行程序過程中由于外界的原因而被中間打斷的情況稱為“中斷”。中斷是通過硬件來改變CPU程序運(yùn)行方向的一種技術(shù),它既和硬件有關(guān),也和軟件有關(guān)。
7.1概述
7.1.2引進(jìn)中斷技術(shù)的優(yōu)點(diǎn)1)分時(shí)操作2)實(shí)現(xiàn)實(shí)時(shí)處理3)故障處理7.1.3中斷源
1)外部設(shè)備中斷源2)故障源3)控制對(duì)象中斷源4)定時(shí)/計(jì)數(shù)脈沖中斷源7.1.4中斷系統(tǒng)的功能1)能實(shí)現(xiàn)中斷及返回2)能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì)3)能實(shí)現(xiàn)中斷嵌套
圖7-1中斷流程圖圖7-2中斷嵌套流程圖
7.2AT89S51單片機(jī)的中斷系統(tǒng)
7.2.1中斷系統(tǒng)的結(jié)構(gòu)圖7-3AT89S51的中斷系統(tǒng)結(jié)構(gòu)7.2.2中斷源及中斷入口
中斷源:外部中斷源INT0、INT1;定時(shí)器T0、T1溢出中斷和串行口接收/發(fā)送中斷。 當(dāng)允許某個(gè)中斷源中斷時(shí),五個(gè)中斷源標(biāo)志位EX0、EX1、ET0、ET1、ES各自的中斷允許位應(yīng)為1。中斷優(yōu)先級(jí)管理:兩個(gè)中斷優(yōu)先級(jí),同優(yōu)先級(jí)按自然優(yōu)先級(jí)排列。中斷源自然優(yōu)先級(jí)中斷入口地址INT0中斷T0中斷INT1中斷T1中斷串口發(fā)送/接收中斷最高最低0003H000BH0013H001BH0023H7.2.3與中斷有關(guān)的SFR
與中斷系統(tǒng)有關(guān)的特殊功能寄存器有4個(gè),分別為中斷源寄存器(TCON、SCON的相關(guān)位)、中斷允許控制寄存器IE和中斷優(yōu)先級(jí)控制寄存器IP。
串行口控制寄存器SCON的低兩位TI和RI為串行口的接收中斷和發(fā)送中斷標(biāo)志,可位尋址,標(biāo)志位必須通過指令清零。定時(shí)器控制寄存器TCON中與中斷系統(tǒng)有關(guān)的標(biāo)志位為IT0、IT1,他們的狀態(tài)及與中斷標(biāo)志的關(guān)系如下表:
觸發(fā)方式中斷標(biāo)志有效期中斷標(biāo)志位清除IT0、IT1為0,電平觸發(fā)伴隨中斷源用戶撤除中斷請(qǐng)求信號(hào)IT0、IT1為1,邊沿觸發(fā)直到中斷響應(yīng)響應(yīng)中斷后自動(dòng)清除中斷允許寄存器IE,控制CPU及每個(gè)中斷源的開放或禁止,可位尋址寄存器。EA--ESET1EX1ET0EX0EA:CPU中斷總允許位。當(dāng)EA=1,CPU開放中斷;當(dāng) EA=0,CPU屏蔽所有的中斷請(qǐng)求。EX0、EX1:外部中斷允許位。EX0、EX1=1時(shí),允許 外部INT0、INT1中斷。ET0、ET1:定時(shí)器中斷允許位。ET0、ET1=1,允許定 時(shí)器T0、T1中斷ES:串行口發(fā)送/接收中斷允許位。ES=1,允許串行口 發(fā)送/接收中斷。
80C51系統(tǒng)復(fù)位后,IE中各中斷允許位均被清0,即禁止所有中斷。
中斷優(yōu)先級(jí)寄存器IP,用來設(shè)定中斷級(jí),置位為高優(yōu)先級(jí)中斷,清零為低優(yōu)先級(jí)中斷??蓪?shí)現(xiàn)兩級(jí)中斷嵌套。IP可位尋址寄存器。--PSPT1PX1PT0PX0PX0、PX1:外部中斷源INT0、INT1中斷優(yōu)先級(jí)控制位。PT0、PT1:定時(shí)器T0、T1中斷優(yōu)先級(jí)控制位。PS:串行口發(fā)送/接收中斷優(yōu)先級(jí)控制位。 如果幾個(gè)同一優(yōu)先級(jí)的中斷源,同時(shí)向CPU申請(qǐng)中斷,CPU通過內(nèi)部硬件查詢邏輯按自然優(yōu)先級(jí)順序確定該響應(yīng)哪個(gè)中斷請(qǐng)求。 當(dāng)系統(tǒng)復(fù)位后,IP低5位全部清0,將所有中斷源設(shè)置為低優(yōu)先級(jí)中斷。
7.3中斷處理過程
7.3.1中斷響應(yīng)
CPU響應(yīng)中斷的條件:
(1)有中斷源發(fā)出中斷申請(qǐng);
(2)中斷總允許位EA=1,即CPU允許所有中斷源申請(qǐng) 中斷;
(3)申請(qǐng)中斷的中斷源的中斷允許位為1。 以上是CPU響應(yīng)中斷的基本條件。若滿足,CPU一般會(huì)響應(yīng)中斷,但如果有下列任何一種情況存在,則中斷響應(yīng)會(huì)受到阻斷。
(1)CPU正在執(zhí)行一個(gè)同級(jí)或高一級(jí)的中斷服務(wù)程序;
(2)當(dāng)前的機(jī)器周期不是正在執(zhí)行指令的最后一個(gè)周期;
(3)正在執(zhí)行的指令是返回(RETI)指令或者對(duì)專用寄存器IE、IP進(jìn)行讀/寫的指令,此時(shí),在執(zhí)行RETI或者讀寫IE或IP之后,不會(huì)馬上響應(yīng)中斷請(qǐng)求中斷響應(yīng)中的CPU自主操作:(1)置位響應(yīng)的優(yōu)先級(jí)狀態(tài)寄存器,標(biāo)明所響應(yīng)中斷的優(yōu)先級(jí)別;(2)中斷源標(biāo)志清零(TI、RI除外);(3)中斷斷點(diǎn)地址壓入堆棧保護(hù)(不保護(hù)PSW);(4)中斷入口地址送PC,程序轉(zhuǎn)到中斷入口地址處。CPU執(zhí)行RETI指令時(shí)的自主操作:(1)優(yōu)先級(jí)狀態(tài)寄存器清零;(2)斷點(diǎn)地址從堆棧中彈出至PC,程序返回到斷點(diǎn)處繼續(xù)執(zhí)行。
7.3.2中斷處理
在編寫中斷服務(wù)程序時(shí)需注意的主要事項(xiàng)是:(1)注意保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)(2)在中斷入口地址單元處存放一條無條件轉(zhuǎn) 移指令(3)如果要禁止更高優(yōu)先級(jí)中斷源中斷,應(yīng)先 關(guān)閉CPU中斷,或屏蔽更高級(jí)中斷源的中斷, 在中斷返回前再開放中斷。(4)在保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)時(shí),為了不使現(xiàn)場(chǎng) 數(shù)據(jù)受到破壞或者造成混亂,一般規(guī)定 此時(shí)CPU不響應(yīng)新的中斷請(qǐng)求。7.3.3中斷返回
中斷返回由專門的中斷返回指令RETI實(shí)現(xiàn)。
7.3.4中斷請(qǐng)求的撤除
對(duì)定時(shí)器0或1溢出中斷標(biāo)志TF0或TF1,還有邊沿觸發(fā)的外部中斷標(biāo)志IE0或IE1,在CPU響應(yīng)中斷后,是硬件自動(dòng)撤除的。對(duì)于串行口中斷標(biāo)志TI、RI,CPU響應(yīng)中斷后,不能用硬件清除,而要靠軟件來清除相應(yīng)的標(biāo)志。只有對(duì)于電平激活的外部中斷,撤除方法較復(fù)雜。要通過硬件,再配合軟件來解決。
7.3.5中斷響應(yīng)時(shí)間
不同的情況對(duì)中斷響應(yīng)的時(shí)間是不同的。一般情況可不考慮響應(yīng)時(shí)間,但在精確定時(shí)的場(chǎng)合需要考慮此問題。
7.3.6擴(kuò)充外中斷源
1)利用定時(shí)器擴(kuò)展外中斷源法2)中斷和查詢結(jié)合法
7.4中斷程序的設(shè)計(jì)與應(yīng)用
7.4.1中斷程序的一般設(shè)計(jì)方法從編程的角度看,中斷控制實(shí)質(zhì)上就是對(duì)4個(gè)與中斷有關(guān)的特殊功能寄存器TCON、SCON、IE和IP進(jìn)行管理和控制,它包括:CPU中斷的允許與禁止;某中斷源中斷請(qǐng)求的允許與禁止(屏蔽);各中斷源優(yōu)先級(jí)別的設(shè)定(即中斷源優(yōu)先級(jí)排隊(duì));外部中斷請(qǐng)求的觸發(fā)方式設(shè)置。
中斷管理與控制程序一般不獨(dú)立編寫,而是包含在主程序中,根據(jù)需要通過幾條指令來實(shí)現(xiàn)。
圖7-5中斷處理過程流程圖(a)主程序框圖(b)硬件自動(dòng)完成框圖(c)中斷服務(wù)程序框圖1)主程序中的中斷初始化
(l)CPU開中斷與關(guān)中斷;(2)某中斷源中斷請(qǐng)求的允許和禁止(屏蔽);(3)各中斷源優(yōu)先級(jí)別的設(shè)定;(4)外部中斷請(qǐng)求的觸發(fā)方式。與中斷初始化有關(guān)的程序一般編寫格式如下:
ORG0000H LJMPMAIN ORG0003H;外部中斷0入口地址
LJMPSUB1;轉(zhuǎn)外部中斷0服務(wù)程序入口 地址
… ORG001BH;定時(shí)器T1中斷入口地址
LJMPSUB4;轉(zhuǎn)定時(shí)器T1中斷服務(wù)程序入 口地址
… ORG0030H
MAIN:… MOVTCON,#01;外部中斷0選擇邊沿觸發(fā)方式 MOVIE,#10001001B;CPU開中斷,外部中斷0和 定時(shí)器T1開中斷
…;執(zhí)行主程序
ORG100H;外部中斷0中斷服務(wù)程序入口地址 SUB1:…;外部中斷0的服務(wù)程序
… RETI;中斷返回
… ORG200H;定時(shí)器T1中斷服務(wù)程序入口地址SUB4:…;定時(shí)器T1的服務(wù)程序 … RETI2)中斷服務(wù)程序中斷服務(wù)程序一般編寫格式如下:
CH1:CLREA;關(guān)中斷
PUSHACC;保護(hù)現(xiàn)場(chǎng)
PUSHPSW…SETBEA;開中斷(如果不希望高優(yōu)先級(jí)中斷進(jìn)入,則不用開中斷)
…;中斷處理程序
CLREA;關(guān)中斷
…POPPSW;恢復(fù)現(xiàn)場(chǎng)
POPACCSETBEARETI;中斷返回7.4.2中斷程序應(yīng)用舉例例1利用定時(shí)器T0定時(shí),在P1.0端輸出一方波,方波周期為20ms,已知晶振頻率為12MHz。解:在第5章中已用查詢方法做過類似題目。現(xiàn)在采用中斷的方法實(shí)現(xiàn)這一要求,T0的中斷服務(wù)程序入口地址為000BH。定時(shí)器T0的初值X=65536-10000=55536=D8F0H。源程序如下:
ORG 0000HLJMP MAIN …..ORG 000BH;T0中斷入口
LJMP SUB1;轉(zhuǎn)T0中斷服務(wù)程序入口
ORG30HMAIN:MOVTMOD,#01HMOV TL0,#0F0H;置10ms定時(shí)初值
MOV TH0,#0D8HMOV IE, #82H;CPU開中斷,T0開中斷
SETB TR0 ;啟動(dòng)T0HERE:SJMP HERE ;循環(huán)等待定時(shí)到SUB1:MOV TL0,#0F0H;重賦初值
MOV TH0,#0D8HCPL P1.0 ;輸出取反
RETI例2、要求在甲、乙兩臺(tái)AT89S51單片機(jī)之間進(jìn)行串行通信,甲機(jī)發(fā)送,乙機(jī)接收。本例題實(shí)現(xiàn)的功能是把甲機(jī)片內(nèi)以50H為數(shù)據(jù)起始地址的16個(gè)字節(jié)數(shù)據(jù)發(fā)送到乙機(jī)。甲機(jī)首先發(fā)送數(shù)據(jù)長度,然后再開始發(fā)送數(shù)據(jù)。乙機(jī)以接收到的第1字節(jié)作為接收數(shù)據(jù)的長度,第2字節(jié)開始為數(shù)據(jù)。乙機(jī)將接收的數(shù)據(jù)存放在片內(nèi)以60H為數(shù)據(jù)起始地址的16個(gè)單元內(nèi)。已知兩機(jī)所使用的晶振均為11.0592MHz,傳輸波特率定為2400。解:設(shè)甲、乙機(jī)的定時(shí)器1按方式2工作,串行口按方式1工作。甲機(jī)發(fā)送:ORG0000H LJMPMAIN ORG0023H LJMPESSMAIN:MOVTMOD,#20H;定時(shí)器1設(shè)置為方式2MOVTL1,#0F4H;定時(shí)器1賦初值 MOVTH1,#0F4HSETBEA ;CPU開中斷
CLRES ;串行口關(guān)中斷
SETBTR1 ;啟動(dòng)定時(shí)器1工作
CLRTI ;清發(fā)送中斷標(biāo)志
MOVSCON,#40H;串行口置工作方式1MOV08H,#50H;發(fā)送數(shù)據(jù)起始地址
第1 組寄存器的R0MOV09H,#16;數(shù)據(jù)長度
第1組寄存器的R1MOVA,#16
MOVSBUF,A ;輸出數(shù)據(jù)長度
SETBES ;串行口開中斷L0:NOP SJMPL0 ;等待發(fā)送
ORG100H;串行口中斷服務(wù)程序ESS:PUSHACC ;把A壓入棧保護(hù)
SETBRS0;保護(hù)第0組工作寄存器
CLRRS1;選擇第1組工作寄存器
MOVA,@R0 ;發(fā)送數(shù)據(jù)
A CLRTI ;TI清“0”MOVSBUF,A ;輸出數(shù)據(jù)
INCR0 DJNZR1,L1 ;數(shù)據(jù)未送完轉(zhuǎn)至L1 CLRES;串行口關(guān)中斷
L1: POPACC;彈出?;謴?fù)現(xiàn)場(chǎng)
CLRRS0;恢復(fù)第0組工作寄存器
RETI
乙機(jī)有關(guān)接收的程序部分:
ORG0000H LJMPMAIN ORG0023H LJMPESSMAIN:MOVTMOD,#20H ;定時(shí)器l設(shè)置為方式2MOVTL1,#0F4H;定時(shí)器l賦初值
MOVTH1,#0F4HSETBEA ;CPU開中斷
SETBES ;串行口開中斷
SETBTR1 ;啟動(dòng)定時(shí)器1工作
MOVSCON,#50H ;置串行口方式1接收
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度河南高校大學(xué)《輔導(dǎo)員》招聘考試題庫(附答案)
- 2025年燃?xì)夥ㄒ?guī)試題及答案
- 2025年化學(xué)檢驗(yàn)工(高級(jí)技師)職業(yè)技能鑒定試題詳解與答案
- 開發(fā)區(qū)污水系統(tǒng)工程項(xiàng)目建設(shè)方案
- 蘿卜種植收購合同協(xié)議書范本
- 業(yè)務(wù)雙方合作協(xié)議
- 2025年山東高密銀鷹化纖有限公司校園招聘85人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫答案詳解版及1套參考答案詳解
- 合同協(xié)議書浸潭橋
- 皮帶事故案例匯編
- 2025年智能建筑系統(tǒng)集成節(jié)能降耗在數(shù)據(jù)中心綠色建筑產(chǎn)業(yè)布局中的應(yīng)用研究報(bào)告
- 2024年村秘書述職報(bào)告
- 私房攝影保密協(xié)議書
- 天麻買賣合同協(xié)議
- 展覽會(huì)會(huì)務(wù)服務(wù)投標(biāo)方案(技術(shù)方案)
- 上門滅蚊合同協(xié)議
- 2025屆四川省瀘州市高三下學(xué)期第三次教學(xué)質(zhì)量診斷性考試英語試題(原卷版+解析版)
- 緩刑解除矯正個(gè)人的總結(jié)(范文模板)
- 2025年中醫(yī)經(jīng)典知識(shí)競賽考試題庫及答案
- 胸痹心痛護(hù)理個(gè)案
- 船閘水工建筑物設(shè)計(jì)規(guī)范
- 鋁塑板裝飾施工方案
評(píng)論
0/150
提交評(píng)論