PIC單片機(jī)端口電平變化中斷使用必須注意的問(wèn)題
PORTB口狀態(tài)變化中斷標(biāo)志的清除必須:
1)讀一次PORTB口,消除產(chǎn)生中斷標(biāo)志的硬件條件;
2)清除RBIF位
參考匯編指令
movf PORTB,w
bcf INTCON,RBIF
//
讓PIC作好XOR準(zhǔn)備
B口電平變化中斷主要靠?jī)?nèi)部“硬件管腳”與對(duì)應(yīng)B口管腳的電平不同而引發(fā)中斷
MOVF PORTB,F指令 即讀B口管腳電平值將使內(nèi)部的“硬件管腳”與外部的硬件管腳同電平,這時(shí)認(rèn)為B口電平未變化。
單片機(jī)睡眠后,當(dāng)B口電平發(fā)生變化,即與內(nèi)部的“硬件管腳”相異,將引發(fā)MCU中斷。
注:電平變化中斷與邊沿中斷不同,中斷處理退出時(shí)也應(yīng)再用MOVF PORTB,F指令讀一次B口管腳電平值。
//
在picc中用的是
PORTB=PORTB;