<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

51單片機的中斷,有些亂

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


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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>