




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、51單片機的中斷系統(tǒng) 中斷系統(tǒng):8031單片機的中斷系統(tǒng)簡單實用,其基本特點是:有5個固定的可屏蔽中斷源,3個在片內(nèi),2個在片外,它們在程序存儲器中各有固定的中斷入口地址,由此進入中斷服務程序;5個中斷源有兩級中斷優(yōu)先級,可形成中斷嵌套;2個特殊功能寄存器用于中斷控制和條件設(shè)置的 編程。中斷系統(tǒng)的結(jié)構(gòu):5個中斷源的符號、名稱及產(chǎn)生的條件如下。INT0:外部中斷0,由P32端口線引入,低電平或下跳沿引起。INT1:外部中斷1,由P33端口線引入,低電平或下跳沿引起。T0:定時器計數(shù)器0中斷,由T0計滿回零引起。T1:定時器計數(shù)器l中斷,由T1計滿回零引起。TIRI:串行IO中斷,串行端口完成一幀
2、字符發(fā)送接收后引起。整個中斷系統(tǒng)的結(jié)構(gòu)框圖見下圖一所示。由圖一可見,外部中斷有下跳沿引起和低電平引起的選擇;串行中斷有發(fā)送(TI)相接收(R1)的區(qū)別;各個中斷源打開與否,受中斷自身的允許位和全局允許位的控制,并具有高優(yōu)先級和低優(yōu)先級的選擇。中斷系統(tǒng)的控制寄存器:中斷系統(tǒng)有兩個控制寄存器IE和IP,它們分別用來設(shè)定各個中斷源的打開關(guān)閉和中斷優(yōu)先級。此外,在TCON中另有4位用于選擇引起外部中斷的條件并作為標志位。1中斷允許寄存器-IEIE在特殊功能寄存器中,字節(jié)地址為A8H,位地址(由低位到高位)分別是A8H-AFH。IE用來打開或關(guān)斷各中斷源的中斷請求,基本格式如下圖二所示:EA:全局中斷允
3、許位。EA0,關(guān)閉全部中斷;EA1,打開全局中斷控制,在此條件下,由各個中斷控制位確定相應中斷的打開或關(guān)閉。×:無效位。ES:串行IO中斷允許位。ES1,打開串行IO中斷;ES0,關(guān)閉串行IO中斷。ETl;定時器計數(shù)器1中斷允許位。ETl1,打開T1中斷;ETlO,關(guān)閉T1中斷。EXl:外部中斷l(xiāng)中斷允許位。EXl1,打開INT1;EXl0,關(guān)閉INT1。ET0:定時器計數(shù)器0中斷允許位。ET01,打開T0中斷;ET00,關(guān)閉TO中斷。EXO:外部中斷0中斷允許位。Ex01,打開INT0;EX0=0,關(guān)閉INT0.中斷優(yōu)先寄存器-IP:IP在特殊功能寄存器中,字節(jié)地址為B8H,位地址
4、(由低位到高位)分別是B8H一BFH,IP用來設(shè)定各個中斷源屬于兩級中斷中的哪一級,IP的基本格式如下圖三所示:×:無效位。PS:串行IO中斷優(yōu)先級控制位。PS1,高優(yōu)先級;PS0,低優(yōu)先級。PTl:定時器計數(shù)器1中斷優(yōu)先級控制位。PTl1,高優(yōu)先級;PTl0,低優(yōu)先級。Pxl:外部中斷1中斷優(yōu)先級控制位。Pxl1,高優(yōu)先級;PXlO,低優(yōu)先級。PT0:定時器計數(shù)器o中斷優(yōu)先級控制位。PT01,高優(yōu)先級;PTO0,低優(yōu)先級。Px0:外部中斷0中斷優(yōu)先級控制位。Px01,高優(yōu)先級;Px00,傷優(yōu)先級。在MCS-51單片機系列中,高級中斷能夠打斷低級中斷以形成中斷嵌套;同級中斷之間,或低
5、級對高級中斷則不能形成中斷嵌套。若幾個同級中斷同時向CPU請求中斷響應,則CPU按如下順序確定響應的先后順序:INT0一T0-INT1一T1一RIT1.中斷的響應過程若某個中斷源通過編程設(shè)置,處于被打開的狀態(tài),并滿足中斷響應的條件,而且當前正在執(zhí)行的那條指令已被執(zhí)行完1、當前末響應同級或高級中斷2、不是在操作IE,IP中斷控制寄存器或執(zhí)行REH指令則單片機響應此中斷。在正常的情況下,從中斷請求信號有效開始,到中斷得到響應,通常需要3個機器周期到8個機器周期。中斷得到響應后,自動清除中斷請求標志(對串行IO端口的中斷標志,要用軟件清除),將斷點即程序計數(shù)器之值(PC)壓入堆棧(以備恢復用);然后
6、把相應的中斷入口地址裝入PC,使程序轉(zhuǎn)入到相應的中斷服務程序中去執(zhí)行。各個中斷源在程序存儲器中的中斷入口地址如下:中斷源 入口地址INT0(外部中斷0) 0003HTF0(TO中斷) 000BHINT1(外部中斷1) 0013HTFl(T1中斷) 001BHRITI(串行口中斷) 0023H由于各個中斷入口地址相隔甚近,不便于存放各個較長的中斷服務程序,故通常在中斷入口地址開始的二三個單元中,安排一條轉(zhuǎn)移類指令,以轉(zhuǎn)入到安排在那兒的中斷服務程序。以T1中斷為例,其過程下如圖四所示。由于5個中斷源各有其中斷請求標志0,TF0,IEl,TFl以及RITI,在中斷源滿足中斷請求的條件下,各標志自動置
7、1,以向CPU請求中斷。如果某一中斷源提出中斷請求后,CPU不能立即響應,只要該中斷請求標志不被軟件人為清除,中斷請求的狀態(tài)就將一直保持,直到CPU響應了中斷為止,對串行口中斷而言,這一過程與其它4個中斷的不同之處在于;即使CPU響應了中斷,其中斷標志RITI也不會自動清零,必須在中斷服務程序中設(shè)置清除RITI的指令后,才會再一次地提出中斷請求。CPU的現(xiàn)場保護和恢復必須由被響應的相應中斷服務程序去完成,當執(zhí)行RETI中斷返回指令后,斷點值自動從棧頂2字節(jié)彈出,并裝入PC寄存器,使CPU繼續(xù)執(zhí)行被打斷了的程序。下面給出一個應用定時器中斷的實例?,F(xiàn)要求編制一段程序,使P10端口線上輸出周期為2m
8、s的方波脈沖。設(shè)單片機晶振頻率Fosc6MHZ1、方法:利用定時器T0作1ms定時,達到定時值后引起中斷,在中斷服務程序中,使P10的狀態(tài)取一次反,并再次定時1ms。2、定時初值:機器周期MC12/fosc2us。所以定時lms所需的機器周期個數(shù)為500D,亦即0lF4H。設(shè)T0為工作方式1(16位方式),則定時初值是(01F4H)求補FEOCHSTART:MOV TMOD,#01H;T0為定時器狀態(tài),工作方式1MOV TL0,#0CH;T0的低位定時初值MOV TH0,#0FEH;T0的高位定時初值MOV TCON,#10H;打開T0SETB ET0;1ET0,即允許T0中斷SETB EA;
9、1EA,即充許全局中斷AJMP $;動態(tài)暫存000BH:AJMP IST0;轉(zhuǎn)入T0中斷服務程序入口地址IST0IST0:MOV TL0,#0CH;重置定時器初值MOV TH0,#0FEH;重置定時器初值CPL P1.0;P1.0取反RET1;中斷返回串行端口的控制寄存器:串行端口共有2個控制寄存器SCON和PCON,用以設(shè)置串行端口的工作方式、接收發(fā)送的運行狀態(tài)、接收發(fā)送數(shù)據(jù)的特征、波特率的大小,以及作為運行的中斷標志等。串行口控制寄存器SCONSCON的字節(jié)地址是98H,位地址(由低位到高位)分別是98H一9FH。SCON的格式如圖五所示。SMo,SMl:串行口工作方式控制位。00-方式0
10、;01-方式1;10-方式2;11-方式3。SM2:僅用于方式2和方式3的多機通訊控制位發(fā)送機SM21(要求程控設(shè)置)。當為方式2或方式3時:接收機 SM21時,若RB81,可引起串行接收中斷;若RB80,不引起串行接收中斷。SM20時,若RB81,可引起串行接收中斷;若RB80,亦可引起串行接收中斷。REN:串行接收允許位。0-禁止接收;1-允許接收。TB8:在方式2,3中,TB8是發(fā)送機要發(fā)送的第9位數(shù)據(jù)。RB8:在方式2,3中,RB8是接收機接收到的第9位數(shù)據(jù),該數(shù)據(jù)正好來自發(fā)送機的TB8。TI:發(fā)送中斷標志位。發(fā)送前必須用軟件清零,發(fā)送過程中TI保持零電平,發(fā)送完一幀數(shù)據(jù)后,由硬件自動
11、置1。如要再發(fā)送,必須用軟件再清零。RI:接收中斷標志位。接收前,必須用軟件清零,接收過程中RI保持零電平,接收完一幀數(shù)據(jù)后,由片內(nèi)硬件自動置1。如要再接收,必須用軟件再清零。電源控制寄存器PCONPCON的字節(jié)地址為87H,無位地址,PCON的格式如圖六所示。需指出的是,對80C31單片機而言,PCON還有幾位有效控制位。SMOD:波特率加倍位。在計算串行方式1,2,3的波特率時;0-不加倍;1-加倍。串行中斷的應用特點:8031單片機的串行IO端口是一個中斷源,有兩個中斷標志RI和TI,RI用于接收,TI用于發(fā)送。串行端口無論在何種工作方式下,發(fā)送接收前都必須對TIRI清零。當一幀數(shù)據(jù)發(fā)送
12、接收完后,TI/RI自動置1,如要再發(fā)送接收,必須先用軟件將其清除。在串行中斷被打開的條件下,對方式0和方式1來說,一幀數(shù)據(jù)發(fā)送接收完后,除置位TIRI外,還會引起串行中斷請求,并執(zhí)行串行中側(cè)目務程序。但對方式2和方式3的接收機而言,還要視SM2和RB8的狀態(tài),才可確定RI是否被置位以及串行中斷的開放:SM2 RB8 接收機中斷標志與中斷狀態(tài)0 1 激活RI,引起中斷1 0 不激活RI,不引起中斷1 1 激活RI,引起中斷單片機正是利用方式2,3的這一特點,實現(xiàn)多機間的通信。串行端口的常用應用方法見相關(guān)章節(jié)。波特率的確定:對方式0來說,波特率已固定成fosc12,隨著外部晶振的頻率不同,波特率
13、亦不相同。常用的fosc有12MHz和6MHz,所以波特率相應為1000×103和500×103位s。在此方式下,數(shù)據(jù)將自動地按固定的波特率發(fā)送接收,完全不用設(shè)置。對方式2而言,波特率的計算式為2SMOD·fosc64。當SMOD0時,波特率為fm64;當SMOD1時,波特率為fosc32。在此方式下,程控設(shè)置SMOD位的狀態(tài)后,波特率就確定了,不需要再作其它設(shè)置。對方式1和方式3來說,波特率的計算式為2SMOD32×T1溢出率,根據(jù)SMOD狀態(tài)位的不同,波特率有Tl32溢出率和T116溢出率兩種。由于T1溢出率的設(shè)置是方便的,因而波特率的選擇將十分靈活。前已敘及,定時器Tl有4種工作方式,為了得到其溢出率,而又不必進入中斷服務程序,往往使T1設(shè)置在工作方式2的運行狀態(tài),也就是8位自動加入時間常數(shù)的方式。由于在這種方式下,T1的溢出率(次秒)計算式可表達成:下面一段主程序和中斷服務程序,是利用串行方式l從數(shù)據(jù)00H開始連續(xù)不斷增大地串行發(fā)送一片數(shù)據(jù)的程序例。設(shè)單片機晶振的頻率為6MHZ,波特率為1200位秒。ORG 2000H;1200位/秒的定時器初值MOV TL1,#0F3HMOV TH1,#0F3H;使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45498.4-2025中華人民共和國社會保障卡一卡通規(guī)范第4部分:終端規(guī)范
- 會計變革與挑戰(zhàn)試題及答案
- 注冊會計師備考中有效資源的整合與利用試題及答案
- 2025年特許金融分析師考試重要通知試題及答案
- 中醫(yī)課題項目申報書
- 2025年注冊會計師考試的復習建議試題及答案
- 大數(shù)據(jù)存儲系統(tǒng)數(shù)據(jù)去重重點基礎(chǔ)知識點
- 項目管理的績效評估工具應用試題及答案
- 微生物培養(yǎng)技術(shù)的關(guān)鍵知識點試題及答案
- 實踐2025年注冊會計師考試的試題及答案技巧
- 110(66)kV~220kV智能變電站設(shè)計規(guī)范
- 2023年胸痛中心質(zhì)控報告-全國版
- GB/T 17630-2024土工合成材料動態(tài)穿孔試驗落錐法
- 勞務派遣服務質(zhì)量保障體系
- 電焊機操作培訓課件
- 篩分機操作規(guī)程培訓
- 建行企業(yè)文化理念 服務理念
- 電氣設(shè)備安全操作培訓
- 2016-2023年鄭州信息科技職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 31情緒管理ABC理論
- 如何建立與客戶的信任關(guān)系
評論
0/150
提交評論