Re: 關於RB0/INT 中斷的用法
|
||||
---|---|---|---|---|
初級會員
|
參照:
應該是前面大大有講到的中斷電位變化的問題,因為RB0的中斷可由電位由HIGH to LOW 變化觸發,也可由LOW to HIGH的電位變化觸發,中斷暫存器的的初始內定值是HIGH to LOW,因此你的開關設計若是觸發時升壓到5V,完畢為落地,那就是開關作動完後才會動作啊
發表於: 2007/12/7 9:12
|
|||
|
Re: 關於RB0/INT 中斷的用法
|
||||
---|---|---|---|---|
資深會員
|
我有找到原廠的AN566 -Using the Port B Interrupt on Change as an External Interrupt
http://0rz.tw/eb3o8 我使用當中的 EXAMPLE2的作法 只是 接上電路後 觸發還是很不理想 = = 理論上 按下開關 可以使程式中斷 但是實際上卻是開關作動完 才中斷 現在都不知道要怎樣弄 @@? 可以打電話去問MICROCHIP TW 問嗎 ? 可以問FAE嗎 ?? 可是很怕FAE不理我 ~~~
發表於: 2007/12/6 21:42
|
|||
|
Re: 關於RB0/INT 中斷的用法
|
||||
---|---|---|---|---|
高級會員
|
你在每次在on-change interrupt發生時,對該PORBX做READ動作的程式, 寫在breaking或ISR裡嗎?
發表於: 2007/12/6 8:59
|
|||
|
Re: 關於RB0/INT 中斷的用法
|
||||
---|---|---|---|---|
資深會員
|
有 我把 bcf INTCON,INTF 寫在Breaking:裡面
& 每一個BANK裡面都有 INTCON 但每個都是獨立事件 是嗎 ? RB0是不是要接類似ENCODER的訊號 才會觸動外部中斷 ? 我接一般5V輸入 並不會產生中斷 但是我拿ENCODER訊號來接 卻會產生中斷 ?? 很詭異
發表於: 2007/12/5 22:33
|
|||
|
Re: 關於RB0/INT 中斷的用法
|
||||
---|---|---|---|---|
資深會員
|
補問一點,你有沒有清INTF旗標?
發表於: 2007/12/5 22:21
|
|||
|
Re: 關於RB0/INT 中斷的用法
|
||||
---|---|---|---|---|
資深會員
|
整理了一下...
ORG 0x0
看起來應該是可以動作的吧...
發表於: 2007/12/5 21:51
|
|||
|
關於RB0/INT 中斷的用法
|
||||
---|---|---|---|---|
資深會員
|
我想問的是
PIC16F877-20/P 我可以使用RB0 接ENCODER ~ 且完成了 但是 如果我把RB0拿來接外部訊號 然後產生中斷動作 這時就出問題了 輸入額定五伏特當作訊號 但只能產生一次作動 之後就沒動作了 一直都找不到問題出在哪 附上程式碼 請告訴我哪裡出問題 INITIAL: banksel OPTION_REG ;RB0上緣為外部中斷 bsf OPTION_REG,INTEDG ;Interrupt on rising edge bsf TRISB,0 banksel INTCON ;RB0 外部中斷 FOR 煞車訊號 bsf INTCON,GIE bsf INTCON,INTE ;enable INTE ;----Interrupt vector--- 中斷向量 ORG 0x04 goto IntService ;----Interrupt service routine ---- "煞車"專用之中斷向量 IntService movwf W_Temp swapf STATUS,w movwf STATUS_Temp banksel INTCON btfsc INTCON,INTF ;RB0 call Breaking swapf STATUS_Temp,w movwf STATUS swapf W_Temp,f swapf W_Temp,w retfie
發表於: 2007/12/5 18:07
|
|||
|