版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章MCS-51的中斷5.1概述5.2MCS-51中斷系統(tǒng)5.3中斷處理5.4中斷程序的編寫與外部中斷的擴(kuò)充
5.1概述
1.中斷的概念
在人們的日常生活中,中斷的例子是非常普遍的。例如,當(dāng)你正在上網(wǎng)時(shí),電話鈴響了,你會(huì)中斷上網(wǎng)而去接電話,在通話期間,門鈴又響了,你會(huì)告訴對(duì)方暫停一下,去開(kāi)門,而后回去接電話,通話結(jié)束后,再繼續(xù)上網(wǎng)。這當(dāng)中不但有中斷,而且有中斷嵌套。
中斷就是當(dāng)CPU正在執(zhí)行程序時(shí),單片機(jī)內(nèi)部或外部發(fā)生了某一事件,請(qǐng)求CPU迅速處理,于是CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)到中斷服務(wù)程序處理所發(fā)生的事件,處理完該突發(fā)事件后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作。中斷過(guò)程如圖5.1所示。圖5.1中斷過(guò)程產(chǎn)生中斷請(qǐng)求的事件稱為中斷源。中斷源可以分為硬件中斷和軟件中斷。CPU處理中斷的過(guò)程稱為中斷響應(yīng)。中斷響應(yīng)后CPU將執(zhí)行相應(yīng)的中斷服務(wù)程序。中斷源每發(fā)出一次中斷請(qǐng)求,CPU響應(yīng)一次。中斷服務(wù)程序執(zhí)行結(jié)束之后,CPU返回主程序稱為中斷返回。中斷服務(wù)程序和子程序有本質(zhì)上的區(qū)別:子程序是主程序的一部分,需要在主程序中主動(dòng)調(diào)用才能執(zhí)行;中斷服務(wù)程序是相應(yīng)的中斷源調(diào)用的,不但與主程序無(wú)關(guān),還會(huì)中斷主程序的執(zhí)行。
當(dāng)系統(tǒng)中有多個(gè)中斷源時(shí),會(huì)出現(xiàn)幾個(gè)中斷源同時(shí)向CPU發(fā)出中斷請(qǐng)求的情況,但CPU任何一個(gè)時(shí)刻只能對(duì)其中一個(gè)中斷請(qǐng)求作出響應(yīng),這要靠中斷的優(yōu)先級(jí)來(lái)完成。通常給每個(gè)中斷源指定中斷響應(yīng)的優(yōu)先級(jí)別,CPU按中斷源的優(yōu)先級(jí)別的高低順序響應(yīng)各個(gè)中斷發(fā)出的中斷請(qǐng)求。
2.中斷的功能
中斷系統(tǒng)是單片機(jī)的重要組成部分。利用中斷技術(shù)可以更好地發(fā)揮單片機(jī)系統(tǒng)的處理能力,提高CPU的工作效率,及時(shí)響應(yīng)突發(fā)事件,有效地解決CPU與外設(shè)之間的速度匹配問(wèn)題,提高CPU的工作效率和實(shí)時(shí)處理能力,實(shí)現(xiàn)對(duì)多個(gè)外部設(shè)備的管理。在系統(tǒng)設(shè)計(jì)中中斷的功能主要有:
(1)實(shí)現(xiàn)CPU與外設(shè)的速度匹配。CPU速度非常快,而外設(shè)(如打印機(jī))的速度一般都不快,這樣CPU可以分時(shí)為外設(shè)服務(wù),外設(shè)有請(qǐng)求時(shí),服務(wù)外設(shè),外設(shè)無(wú)請(qǐng)求時(shí),執(zhí)行主程序。
(2)實(shí)現(xiàn)實(shí)時(shí)控制?,F(xiàn)場(chǎng)采集到的數(shù)據(jù)可以隨時(shí)向CPU發(fā)出中斷請(qǐng)求,在滿足中斷服務(wù)的條件時(shí),CPU轉(zhuǎn)向中斷服務(wù)程序,馬上處理響應(yīng)的數(shù)據(jù),從而實(shí)現(xiàn)實(shí)時(shí)控制。
(3)實(shí)現(xiàn)對(duì)故障的及時(shí)處理。在單片機(jī)運(yùn)行過(guò)程中,往往會(huì)出現(xiàn)料想不到的情況和故障(存儲(chǔ)出錯(cuò)、運(yùn)算溢出等),有了中斷,單片機(jī)就可以利用中斷及時(shí)自行處理這些故障。
(4)可以通過(guò)外設(shè)(如鍵盤)來(lái)請(qǐng)求中斷,實(shí)現(xiàn)人機(jī)聯(lián)系。 5.2MCS-51中斷系統(tǒng)
MCS-51單片機(jī)的中斷系統(tǒng)如圖5.2所示。圖5.2MCS-51單片機(jī)的中斷系統(tǒng)
1.中斷請(qǐng)求標(biāo)志寄存器TCON
中斷請(qǐng)求標(biāo)志寄存器TCON用于鎖存定時(shí)器和外部中斷的中斷請(qǐng)求,其字節(jié)地址為88H。該寄存器有位地址,能進(jìn)行位尋址。TCON各位的定義如表5.1所示。表5.1中斷請(qǐng)求標(biāo)志寄存器TCON
2.串口控制寄存器SCON
SCON是用于串口控制的特殊功能寄存器,字節(jié)地址為98H,有位地址,能進(jìn)行位尋址。SCON的低兩位鎖存串口的接收中斷請(qǐng)求和發(fā)送中斷請(qǐng)求。SCON各位的定義如表5.2所示。表5.2串口控制寄存器SCON
3.定時(shí)器T2控制寄存器T2CON
MCS-51單片機(jī)的52子系列有1個(gè)16位定時(shí)器/計(jì)數(shù)器T2,對(duì)其控制的寄存器為T2CON,字節(jié)地址為C8H,有位地址,能進(jìn)行位尋址。T2CON的高2位用于鎖存T2的中斷請(qǐng)求。T2CON各位的定義如表5.3所示。表5.3定時(shí)器T2控制寄存器T2CON5.2.2中斷控制
1.中斷允許控制寄存器IE(A8H)
MCS-51單片機(jī)中對(duì)各中斷源的允許和屏蔽是通過(guò)中斷允許控制寄存器IE來(lái)完成的。IE的字節(jié)地址為A8H,有位地址,能進(jìn)行位尋址。IE各位的定義如表5.4所示。表5.4中斷允許控制寄存器IE
2.中斷優(yōu)先控制寄存器IP
MCS-51單片機(jī)的6個(gè)中斷源的優(yōu)先級(jí)分為2級(jí),每個(gè)中斷源均可設(shè)置為高級(jí)中斷和低級(jí)中斷,并可實(shí)現(xiàn)2級(jí)中斷嵌套,中斷的優(yōu)先級(jí)是通過(guò)中斷優(yōu)先控制寄存器IP設(shè)置的。IP寄存器的字節(jié)地址為B8H,可以進(jìn)行位尋址,各位的定義如表5.5所示。表5.5中斷優(yōu)先控制寄存器IP綜上,若某位置為“1”,則相應(yīng)的中斷源設(shè)置為高優(yōu)先級(jí);若某位清“0”,則相應(yīng)的中斷設(shè)置為低優(yōu)先級(jí)。MCS-51單片機(jī)復(fù)位后,IP低6位全部被清“0”,將所有中斷源設(shè)置為低優(yōu)先級(jí)中斷。中斷的優(yōu)先要靠用戶在軟件中對(duì)IP進(jìn)行設(shè)計(jì)。中斷優(yōu)先級(jí)要遵循下列3條原則:
(1)低優(yōu)先級(jí)中斷可以被高優(yōu)先級(jí)中斷所中斷,反之則不能。
(2)任何一種中斷一旦得到響應(yīng),就不會(huì)被同優(yōu)先級(jí)或低優(yōu)先級(jí)中斷所中斷,即若某一中斷被設(shè)置為高優(yōu)先級(jí)中斷,則在執(zhí)行該中斷源的中斷服務(wù)程序時(shí),不能被其它任何中斷源的中斷請(qǐng)求所中斷。
(3)當(dāng)幾個(gè)相同優(yōu)先級(jí)中斷同時(shí)發(fā)出中斷請(qǐng)求時(shí),CPU按照自然優(yōu)先級(jí)順序響應(yīng)各個(gè)中斷源的中斷請(qǐng)求。自然優(yōu)先級(jí)順序如表5.6所示。表5.6同級(jí)中斷的優(yōu)先級(jí) 5.3中斷處理
5.3.1中斷響應(yīng)
1.中斷響應(yīng)條件
MCS-51的CPU響應(yīng)中斷的首要條件是中斷源要有請(qǐng)求,且中斷允許,即寄存器IE的總允許位EA=1,申請(qǐng)中斷的中斷源對(duì)應(yīng)的IE相應(yīng)位為1。CPU在每一個(gè)機(jī)器周期的S5P2狀態(tài),對(duì)所有中斷源按照用戶設(shè)置的優(yōu)先級(jí)和自然優(yōu)先級(jí)進(jìn)行順序檢測(cè),并在S6狀態(tài)找到所有有效的中斷請(qǐng)求。在滿足下列條件時(shí),CPU在下一個(gè)機(jī)器周期的S1狀態(tài)開(kāi)始響應(yīng)中斷,否則,丟棄中斷采樣的結(jié)果。
(1)無(wú)同級(jí)或高級(jí)中斷正在服務(wù)。
(2)現(xiàn)行指令執(zhí)行完最后一個(gè)機(jī)器周期,即要等到當(dāng)前執(zhí)行的指令執(zhí)行結(jié)束。
(3)若現(xiàn)行指令為RETI或需要訪問(wèn)特殊功能寄存器IE或IP的指令,則執(zhí)行完該指令且該指令緊接著的下一條指令也要執(zhí)行完。
2.中斷響應(yīng)過(guò)程
CPU響應(yīng)中斷過(guò)程如下:
(1)置位相應(yīng)的優(yōu)先級(jí)有效觸發(fā)器(中斷系統(tǒng)包含兩個(gè)不可編程的優(yōu)先級(jí)有效觸發(fā)器,一個(gè)用于已進(jìn)入高優(yōu)先級(jí)的中斷服務(wù),另一個(gè)用于已進(jìn)入低優(yōu)先級(jí)的中斷服務(wù))。
(2)由硬件自動(dòng)將當(dāng)前指令的下一條指令的地址送入堆棧,進(jìn)行斷點(diǎn)保護(hù)。
(3)根據(jù)中斷標(biāo)記,將相應(yīng)的中斷入口地址送入程序計(jì)數(shù)器PC,程序轉(zhuǎn)到中斷入口處執(zhí)行中斷服務(wù)程序。各個(gè)中斷源在程序存儲(chǔ)器中的中斷入口地址如表5.7所示。表5.7中斷服務(wù)程序的入口地址
3.中斷響應(yīng)時(shí)間
中斷響應(yīng)時(shí)間指從開(kāi)始查詢中斷請(qǐng)求標(biāo)志位到轉(zhuǎn)向中斷入口地址所需的機(jī)器周期數(shù)。在單級(jí)中斷系統(tǒng)中,中斷的響應(yīng)時(shí)間最短為3個(gè)機(jī)器周期,最長(zhǎng)為8個(gè)機(jī)器周期。
中斷請(qǐng)求標(biāo)志位查詢占1個(gè)機(jī)器周期。若這個(gè)機(jī)器周期又恰好是指令的最后一個(gè)機(jī)器周期,則在這個(gè)機(jī)器周期結(jié)束后,CPU響應(yīng)中斷,產(chǎn)生硬件長(zhǎng)調(diào)用LCALL指令,而執(zhí)行這條長(zhǎng)調(diào)用指令需要2個(gè)機(jī)器周期。這樣,中斷響應(yīng)時(shí)間為3個(gè)機(jī)器周期。
中斷響應(yīng)時(shí)間最長(zhǎng)為8個(gè)機(jī)器周期。如果CPU正在執(zhí)行的是RETI或訪問(wèn)IP、IE指令,則等待時(shí)間不會(huì)多于2個(gè)機(jī)器周期,而中斷系統(tǒng)規(guī)定把這幾條指令執(zhí)行完,必須再繼續(xù)執(zhí)行一條指令后才能響應(yīng)中斷,即中斷返回后至少要執(zhí)行一條主程序才能響應(yīng)下一中斷的請(qǐng)求。如果這條指令恰好是4個(gè)機(jī)器周期長(zhǎng)的指令,再加上執(zhí)行長(zhǎng)調(diào)用指令LCALL所需的2個(gè)機(jī)器周期,則總共需要8個(gè)機(jī)器周期。
5.3.2中斷返回與撤銷
1.中斷返回
中斷程序的最后一條指令一定是RETI。CPU從中斷服務(wù)程序的入口地址開(kāi)始執(zhí)行程序直到遇見(jiàn)RETI,RETI表示中斷服務(wù)程序結(jié)束。CPU執(zhí)行這條指令后,首先要清除中斷響應(yīng)時(shí)置位的中斷優(yōu)先級(jí)有效觸發(fā)器,而后從棧頂彈出斷點(diǎn)地址送給程序計(jì)數(shù)器PC,那么程序就返回到主程序的中斷處繼續(xù)往下執(zhí)行了。
中斷前硬件只是保護(hù)斷點(diǎn)地址,而沒(méi)有對(duì)現(xiàn)場(chǎng)進(jìn)行保護(hù),所以如果在主程序中用到了如A、PSW等寄存器,并且在中斷程序中也要用它們,就需要保證回到主程序后這些寄存器的數(shù)據(jù)還是沒(méi)執(zhí)行中斷以前的數(shù)據(jù)。這就需要在響應(yīng)中斷之前進(jìn)行現(xiàn)場(chǎng)保護(hù),而在執(zhí)行RETI指令后,中斷返回之前恢復(fù)保存起來(lái)的數(shù)據(jù)。
2.中斷請(qǐng)求的撤銷
CPU響應(yīng)中斷后,在中斷返回之前,中斷請(qǐng)求標(biāo)志要及時(shí)清除,否則中斷請(qǐng)求仍然存在,它將會(huì)引起另一次中斷。MCS-51各中斷源請(qǐng)求撤銷的方法各不相同。
(1)定時(shí)器/計(jì)數(shù)器T0、T1計(jì)數(shù)溢出產(chǎn)生中斷請(qǐng)求。硬件自動(dòng)使TF0?=?1、TF1?=?1,向CPU申請(qǐng)中斷,CPU響應(yīng)中斷后,由硬件自動(dòng)使TF0?=?0、TF1?=?0,即中斷自動(dòng)撤銷。圖5.3低電平觸發(fā)的外部中斷的撤銷
(3)串行口的中斷。CPU響應(yīng)中斷后,硬件不能自動(dòng)清除TI和RI標(biāo)志位,所以,在CPU響應(yīng)中斷后,必須在中斷服務(wù)程序中用軟件清除相應(yīng)的中斷標(biāo)志位來(lái)撤銷中斷請(qǐng)求。
(4)定時(shí)器/計(jì)數(shù)器T2計(jì)數(shù)溢出產(chǎn)生中斷請(qǐng)求。外部T2EX(P1.1)引腳上的下降沿也可以發(fā)出中斷請(qǐng)求,相應(yīng)的中斷標(biāo)志為TF2和EXF2,CPU響應(yīng)中斷后,硬件不能自動(dòng)清除TF2或EXF2標(biāo)志位,必須在中斷服務(wù)程序中用軟件清除相應(yīng)的中斷標(biāo)志位來(lái)撤銷中斷請(qǐng)求。
5.4中斷程序的編寫與外部中斷的擴(kuò)充
1.中斷服務(wù)程序的編寫
51系列單片機(jī)中共有5個(gè)中斷源,4個(gè)特殊功能寄存器TCON、SCON、IE和IP。在編寫中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生鮮配送與冷鏈倉(cāng)儲(chǔ)管理承包合同3篇
- 2025年度體育場(chǎng)館場(chǎng)地租賃及賽事運(yùn)營(yíng)管理服務(wù)協(xié)議2篇
- 2024皮鞋品牌代理權(quán)購(gòu)銷合同范本3篇
- 二零二五年度施工安全風(fēng)險(xiǎn)評(píng)估與管理合同3篇
- 2025年度高科技公司股東退股協(xié)議書3篇
- 2025年度房地產(chǎn)項(xiàng)目成本控制與合同管理協(xié)議3篇
- 二零二五年貓咪寵物保險(xiǎn)代理合同2篇
- 2025年跨境電商項(xiàng)目監(jiān)控與管理服務(wù)合同2篇
- 二零二五年度環(huán)保產(chǎn)業(yè)投資合作合同6篇
- 二零二四年醫(yī)療器械研發(fā)合同
- 廣東佛山生育保險(xiǎn)待遇申請(qǐng)表
- 廣西水功能區(qū)劃報(bào)告-廣西水利信息網(wǎng)
- 機(jī)關(guān)單位檔案業(yè)務(wù)培訓(xùn)課件20170714
- ??怂咕S修保養(yǎng)使用手冊(cè)
- 人力資源部各崗位績(jī)效考核表
- 原材料試驗(yàn)工作程序與質(zhì)量管理制度
- 人教版八年級(jí)下冊(cè)英語(yǔ)單詞默寫(可直接打印)
- 糖廠熱力衡算(6000噸每天)
- 燃?xì)庥邢薰疚kU(xiǎn)作業(yè)安全管理規(guī)定
- 北京市刑事訴訟律師事務(wù)所函(擔(dān)任訴訟代理人適用)格式文書(2020版)
- XX鎮(zhèn)“我為群眾辦實(shí)事”滿意度調(diào)查問(wèn)卷
評(píng)論
0/150
提交評(píng)論