在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

            51單片機的中斷,有些亂

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


            評論


            技術專區(qū)

            關閉