<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)---中斷系統(tǒng)

          51單片機(jī)---中斷系統(tǒng)

          作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
          一、單片機(jī)中斷系統(tǒng)

          1、基本特點(diǎn)
          有5個(gè)固定的中斷源,其中3個(gè)在片內(nèi),2個(gè)在片外,它們?cè)?strong>程序存儲(chǔ)器ROM中都分別有各自固定的中斷入口地址,由此進(jìn)入中斷服務(wù)程序(ISR);這5個(gè)固定的中斷源都分別有兩級(jí)中斷優(yōu)先級(jí):高優(yōu)先級(jí)和低優(yōu)先級(jí);可形成中斷嵌套;有2個(gè)特殊功能寄存器用于中斷控制的編程(IE和IP);對(duì)于8052單片機(jī)來(lái)說(shuō),增加了第三個(gè)中斷源:定時(shí)器/計(jì)數(shù)器T2的中斷;
          外部中斷源:
          (1)、外部中斷0:INT0,由P3.2(12號(hào)引腳)口引入,低電平或下降沿觸發(fā);
          (2)、外部中斷1:INT1,由P3.3(13號(hào)引腳)口引入,低電平或下降沿觸發(fā);
          這兩個(gè)外部中斷的控制位鎖存在定時(shí)器/計(jì)數(shù)器的工作狀態(tài)控制寄存器TCON的低4位;
          內(nèi)部中斷源:
          (1)、定時(shí)器/計(jì)數(shù)器T0中斷:由T0的計(jì)數(shù)寄存器TH0/TL0的值在溢出回0時(shí)觸發(fā);
          (2)、定時(shí)器/計(jì)數(shù)器T1中斷:由T1的計(jì)數(shù)寄存器TH1/TL1的值在溢出回0時(shí)觸發(fā);
          (3)、串口中斷RI/TI:串行口中斷,由串行口在完成1幀字符的接收(RI)/發(fā)送(TI)時(shí)觸發(fā);
          這三個(gè)內(nèi)部中斷源的控制位分別鎖存在特殊功能寄存器TCON和SCON中;
          2、中斷系統(tǒng)的結(jié)構(gòu)
          如圖:

          本文引用地址:http://www.ex-cimer.com/article/201611/316839.htm

          二、中斷控制寄存器
          1、中斷允許控制寄存器IE(A8H)
          中斷允許控制寄存器IE存儲(chǔ)在特殊功能寄存器區(qū),字節(jié)地址是A8H,位地址從低到高依次是A8H,A9H,AAH,ABH,ACH,ADH,AFH;
          寄存器IE控制著CPU對(duì)中斷源總的開放或禁止,以及對(duì)每個(gè)中斷源的開放或禁止;
          IE的格式如圖:

          2、中斷優(yōu)先級(jí)控制寄存器IP(B8H)
          中斷優(yōu)先級(jí)控制寄存器IP存儲(chǔ)在特殊功能寄存器區(qū),字節(jié)地址是B8H,位地址從低到高依次是B8H,B9H,BAH,BBH,BCH,BDH,BEH,BFH;
          IP用來(lái)鎖存優(yōu)先級(jí)的控制位,即:設(shè)定中斷源屬于兩級(jí)中斷中的哪一級(jí);
          (1)、中斷優(yōu)先級(jí)的響應(yīng):系統(tǒng)復(fù)位之后,IP的低5位全部被清0,并將所有中斷源設(shè)置為低優(yōu)先級(jí)中斷;如果幾個(gè)具有相同優(yōu)先級(jí)的中斷源同時(shí)向CPU申請(qǐng)中斷,那么,哪一個(gè)中斷源優(yōu)先得到中斷服務(wù),這一點(diǎn)取決于這些中斷源在CPU內(nèi)部登記的排隊(duì)序號(hào)(就是中斷序號(hào));CPU通過(guò)內(nèi)部硬件查詢登記的中斷序號(hào),按自然優(yōu)先級(jí)逐個(gè)響應(yīng)各個(gè)中斷請(qǐng)求;中斷源在CPU內(nèi)部登記的中斷序號(hào)是由硬件自動(dòng)形成的,無(wú)需人工手動(dòng)生成,其順序如下:INT0-->T0-->INT1-->T1-->RI/TI;
          IP的格式如圖:

          三、中斷響應(yīng)
          1、響應(yīng)過(guò)程:
          下列任何一種情況存在時(shí),中斷申請(qǐng)將被封鎖;
          (1)、CPU當(dāng)前正在執(zhí)行一個(gè)同級(jí)或高一級(jí)的中斷服務(wù)程序;
          (2)、CPU當(dāng)前正在執(zhí)行的那條指令還沒(méi)有執(zhí)行完;
          (3)、CPU當(dāng)前正在執(zhí)行的指令是RETI指令或這是對(duì)IE/IP寄存器進(jìn)行讀寫操作的指令,執(zhí)行這些指令之后,至少還要再執(zhí)行一條指令才會(huì)響應(yīng)中斷;
          2、中斷入口地址:
          中斷得到響應(yīng)后,自動(dòng)清除中斷請(qǐng)求標(biāo)志(對(duì)于串口中斷請(qǐng)求標(biāo)志,要用軟件來(lái)清0),由硬件自動(dòng)將程序計(jì)數(shù)器PC的內(nèi)容(斷點(diǎn)地址)壓入堆棧保護(hù),然后將對(duì)應(yīng)的中斷矢量(中斷入口地址)裝入程序計(jì)數(shù)器PC, 使程序轉(zhuǎn)到中斷服務(wù)程序中執(zhí)行并完成響應(yīng)的中斷服務(wù);
          各個(gè)中斷源在程序存儲(chǔ)器ROM中的中斷入口地址和中斷序號(hào)如下表所示:

          四、C51中斷程序
          1、中斷服務(wù)程序的格式:
          返回值類型 中斷函數(shù)名([參數(shù)表]) [模式] [重入] interrupt <中斷序號(hào)n> [using m] //n∈[0,31],m∈[0,3],m和n不允許是表達(dá)式;
          {
          //中斷處理函數(shù)的實(shí)現(xiàn)代碼
          }
          對(duì)于中斷服務(wù)程序來(lái)說(shuō),函數(shù)不能有返回值和參數(shù),所以,返回值類型和參數(shù)類型均寫成void;
          Keil C51使用特定的編譯器指令分配寄存器組;當(dāng)前工作寄存器組由PSW中的RS1和RS0兩位設(shè)置,兩個(gè)位共有4個(gè)值[0,3],用using指定,;using關(guān)鍵字只能用于聲明終端服務(wù)函數(shù),它在中斷服務(wù)函數(shù)入口處將當(dāng)前寄存器組的值保存下來(lái),并在中斷服務(wù)函數(shù)中使用指定的寄存器組,在中斷服務(wù)函數(shù)推出之前,恢復(fù)原寄存器組;
          例如:
          void isr_service(void) interrupt 4 using 2
          {
          //.....;
          }
          2、 編寫中斷服務(wù)函數(shù)時(shí)注意的事項(xiàng):
          A、若要在執(zhí)行當(dāng)前中斷處理函數(shù)時(shí)禁止更高優(yōu)先級(jí)的中斷,可用軟件方式先關(guān)閉CPU對(duì)中斷的響應(yīng),在中斷處理函數(shù)返回之前,再開放中斷;
          B、外部電平觸發(fā)的中斷信號(hào)不會(huì)被鎖存.若在外部電平出現(xiàn)時(shí)被中斷屏蔽,而在中斷識(shí)別之前,電平消失,則它被完全忽略---中斷處理本身不能鎖存外部電平請(qǐng)求;
          C、INT0、T0、INT1、T1的中斷標(biāo)志在CPU響應(yīng)中斷之后被自動(dòng)清0,但是串口中斷標(biāo)志RI/TI和T2的中斷標(biāo)志TF2不會(huì)自動(dòng)被清0,必須在軟件中手工地清0,否則會(huì)立即產(chǎn)生重復(fù)中斷,程序陷入死循環(huán);對(duì)于串口中斷,通常還要判斷是RI還是TI中斷;
          D、為了提高中斷響應(yīng)的實(shí)時(shí)性,中斷服務(wù)程序應(yīng)盡量簡(jiǎn)短,并避免使用復(fù)雜的變量類型及算術(shù)運(yùn)算;通常在中斷服務(wù)程序中使用一些標(biāo)志,由主程序或相應(yīng)背景程序根據(jù)標(biāo)志做響應(yīng)的處理;



          關(guān)鍵詞: 51單片機(jī)中斷系

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();