Re: 想請問中斷
|
||||
---|---|---|---|---|
高級會員
|
如果沒有共用區的話...
我的做法是將每個BANK後面都規劃成共用區.. 基本上..應該只有W會儲存在任何一個BANK(看在哪個BANK中斷)..其它儲存資料..在切換到BANK0後..也可以儲存起來... 其實...跟愛大講的一樣...不會很麻煩的....
發表於: 2007/2/28 12:23
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
資深會員
|
參照:
; ; 1. 基本上如要切換 BANK 就已浪費指令時間 這在要求快速反應的中斷 就不太好了 2. 切換 BANK 時 STATUS 就已改變 存它何用 ? 3. 如不放在 通用區 RESTORE 時 可能已變成不確定資料 死的更慘 尤其是第三點 , 當初想到這點 而沒想到有通用區的存在 寫了好長的程式 --- 還是沒寫好...... 後來一想到 通用區 這些問題就不成問題了 現在想想 這真的要怪 DATA SHEET 寫的太簡略 ... 只寫出程式而不指明 變數放在通用區
發表於: 2007/2/27 5:58
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
中級會員
|
參照:
就如OP的帖子里,DECFSZ COUNT0,F 那行就有問題了。就算COUNT是在通用存儲區里,那也是暫時逃過劫數而已。再看下去,PORTC那行就有50-50的機會發生災難。再看PIR1, 災難指數已經提升到了75%了... 再說一遍:怎么會麻煩?是遲和早的問題而已。
發表於: 2007/2/16 3:11
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
中級會員
|
參照:
怎么會麻煩?BANK的切換基本上是避免不了的!
發表於: 2007/2/16 2:53
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
資深會員
|
還有要注意一點:
W_TEMP , STATUS_TEMP ( 或其他名稱?)變數 要放在 0x70 以後的位址 那裡為 通用位址 ( BANK 0 , 1 , 2 , 3 都可以存取 ) 如放在其他位址 , 則要注意 BANK 的切換 ( 太麻煩了! )
發表於: 2007/2/15 20:33
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
新會員
|
多謝你的解答
我會在想一想的
發表於: 2007/2/14 0:11
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
高級會員
|
之前也有同樣的疑問..也發現過的確會影響到Z Flag..
原來是movf這個指令影響呀....謝謝 中斷的用法大致上是這樣的... org 0000h ; 程式開始執行的位址 goto main; org 0004h ; 中斷位址 (A) goto isr_func; //-------------------------------- isr_func: ; 中斷副程式 mPush ; 備份暫存器 ... ; 計時重置 ... mPop ; 暫存器還原 RETFIE ; 回到中斷下一行指令繼續執行 (B) //-------------------------------- main: ..... movlw d'55'; ----> 時間計時溢位跳到中斷向量位址0004 (A) movwf bReg0; --> (B) ..... goto main timer是一個模組..只要設定好相關暫存器.. 他會自己計時..然後中斷條件成立.. 會產生一個中斷信號給mcu..然後mcu才跳到0004h執行.. 計時時間與時脈&預除器有關.. datasheet寫的很清楚可以參考... 備份與還原的動作... 是不希望中斷程式改變掉主程式正在執行的資料... 以上..
發表於: 2007/2/13 13:48
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
新會員
|
我是想問 我po的程式是進入中斷後的內容
進入時我們會先備份資料 之後作中斷時所需的程式 隻後重設中斷 還原 但是我使用中斷計時 時間點我不會算ㄟ 就是哪一個程式還在中斷 哪裡中斷結束跳回中斷點04h 還是哪裡有再等待中段時間的 DECFSZ COUNT0,F 這是我判斷所設的中斷次數 還沒到我就繼續執行isr_end 但他跑完裡面的程式就又進入04h 那我假如計時10分鐘 跑完那些程式不用到一秒吧 剩餘的時間 跑哪了 一直在疑惑中斷 有誰可以跟我解式詳細的中斷用法
發表於: 2007/2/13 13:03
|
|||
|
Re: 想請問中斷
|
||||
---|---|---|---|---|
資深會員
|
了解
謝了 我想應該是我沒用過PIC16 我用PIC18都是一進中斷就用MOVFF備份STATUS 離開時先用MOVF放回W再回存STATUS所以才沒出問題 PIC16沒有MOVFF還真不方便...
發表於: 2007/2/13 9:04
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|