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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機的中斷,有些亂

          51單片機的中斷,有些亂

          作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
          幾個與中斷有關(guān)的寄存器:
          1. TCON:中斷標志寄存器,內(nèi)容為
          TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
          2. SCON:串行口控制寄存器,內(nèi)容為
          SM0 SM1 SM2 REN TB8 RB8 TI RI
          TI:發(fā)送數(shù)據(jù)前應(yīng)復(fù)位,發(fā)完一幀數(shù)據(jù)時,由硬件置位。
          RI:接收中斷標志,與TI類似
          中斷響應(yīng)后,RI和TI不能自動清除,須由軟件來清除。
          IT0,1:外部中斷的觸發(fā)方式,=1時為下降沿有效
          IE0,1:外部中斷中斷請求標志位
          TF0,1:定時器溢出中斷請求
          3. IP:中斷優(yōu)先級控制寄存器
          自然優(yōu)先級的排列順序(由高到低):外部中斷0(INT0)、定時器T0、外部中斷1(INT1)、定時器T1、串口中斷。
          寄存器內(nèi)容(D7、D6未用):PT2 PS PT1 PX1 PT0 PX0
          PT2:定時器T2(52系列單片機才有T2)的優(yōu)先級控制位,=1時,設(shè)定T2為高優(yōu)先級,=0時為低優(yōu)先級;
          PS:串口的優(yōu)先級控制位;
          PT1:定時器T1的優(yōu)先級控制位;
          PX1:外部中斷1的優(yōu)先級控制位;
          PT0:定時器T0的;
          PX0:外部中斷0的。
          如果同時有幾個設(shè)定為高優(yōu)先級的,則按照自解優(yōu)先級的順序排隊。
          4. IE:中斷允許控制寄存器
          其內(nèi)容:EA 空 ET2 ES ET1 EX1 ET0 EX0
          EA: CPU中斷的總允許位,=1時開放中斷,=0時屏蔽所有中斷,即俗稱的關(guān)中斷;
          ES: 串口中斷允許位,=1時允許;
          ET1:T1的
          EX1:外部中斷1的
          ET0:T0的
          EX0:外部中斷0的
          采用中斷處理的程序結(jié)構(gòu):
          main()
          ....
          設(shè)置 中斷允許控制寄器IE
          設(shè)置 中斷優(yōu)先級寄存器IP
          如果是外部中斷源,還要設(shè)置中斷請求的觸發(fā)方式IT0或IT1(在TCON中),以決定采用電平觸發(fā)還是跳變觸發(fā)
          ....
          中斷服務(wù)程序(對照前面的定時器處理程序就明白了。。。)
          函數(shù)類型 函數(shù)名(參數(shù)表) [interrupt 中斷號] [using N]
          {
          ....
          }
          中斷號可以取值0-31(C51編譯器允許32個中斷,0-4為51的標準中斷源,0外部中斷0,1是定時器0,2是外部中斷1,3是
          定時器1,4是串口中斷)using后的N表示第N組寄存器(8051有4組寄存器)。以下是有關(guān)寄存器組的問題:
          1. 使用using指定與主函數(shù)不同的寄存器組(主函數(shù)一般使用寄存器組0);
          2. 中斷優(yōu)先級相同的中斷處理函數(shù)(ISR)可用using指定相同的寄存器組(因為它們不會同時被調(diào)用),但優(yōu)先級不
          同的ISR必須使用不同的寄存器組,在ISR中被調(diào)用的函數(shù)也要使用using指定與中斷函數(shù)相同的寄存器組;
          3. 如果不用using,C51默認選擇寄存器組0,這意味著程序?qū)⑶袚Q寄存器組,而要使用大量的PUSH和POP操作,指定寄
          存器組的結(jié)果是節(jié)省了以上保護現(xiàn)場的操作,可以節(jié)省RAM空間及減少MCU的消耗;但這樣容易引起錯誤,一定要注意
          ,特別是在程序中進行直接內(nèi)存訪問時。
          4. 可以這樣設(shè)定:主程序使用bank 0,低中斷優(yōu)先級的所有中斷使用bank 1,高中斷優(yōu)先級的所有中斷使用bank 2。


          關(guān)鍵詞: 51單片機中斷電平觸

          評論


          技術(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); })();