• slider image 442
  • slider image 477
  • slider image 479
  • slider image 480
  • slider image 481
  • slider image 482
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: 想請問中斷
#14
高級會員
高級會員


查看用戶資訊
如果沒有共用區的話...
我的做法是將每個BANK後面都規劃成共用區..
基本上..應該只有W會儲存在任何一個BANK(看在哪個BANK中斷)..其它儲存資料..在切換到BANK0後..也可以儲存起來...
其實...跟愛大講的一樣...不會很麻煩的....

發表於: 2007/2/28 12:23
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#13
中級會員
中級會員


查看用戶資訊
參照:

Beee 寫到:

1.
基本上如要切換 BANK 就已浪費指令時間 這在要求快速反應的中斷 就不太好了


上面已經提到了。BANK的切換是無法避免的,根本談不上浪費指令時間。相信OP就是因爲沒有處理好BANK才會發生問題的。實際的課題是要如何有效的處理和操作BANK的切換,那當然是有牽涉到如何寫代碼(哪一個先哪一個后),RAM運用的策略(放在哪一個BANK才能比較有效的處理中斷)等等...

參照:

2.
切換 BANK 時 STATUS 就已改變 存它何用 ?


那麽遇到沒有通用區的PIC時,該當如何?

參照:

3.
如不放在 通用區 RESTORE 時 可能已變成不確定資料 死的更慘


和上面一樣。

發表於: 2007/2/27 18:09
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#12
資深會員
資深會員


查看用戶資訊
參照:

愛神一號 寫到:
參照:

Beee 寫到:

如放在其他位址 , 則要注意 BANK 的切換 ( 太麻煩了! )


怎麼會麻煩?BANK的切換基本上是避免不了的!


;
;
1.
基本上如要切換 BANK 就已浪費指令時間 這在要求快速反應的中斷 就不太好了
2.
切換 BANK 時 STATUS 就已改變 存它何用 ?
3.
如不放在 通用區 RESTORE 時 可能已變成不確定資料 死的更慘

尤其是第三點 , 當初想到這點 而沒想到有通用區的存在 寫了好長的程式 --- 還是沒寫好......


後來一想到 通用區 這些問題就不成問題了


現在想想 這真的要怪 DATA SHEET 寫的太簡略 ... 只寫出程式而不指明 變數放在通用區

發表於: 2007/2/27 5:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#11
中級會員
中級會員


查看用戶資訊
參照:

weyo 寫到:
INTSUB1:
    
MOVWF    W_TEMP
    SWAPF    STATUS
,W    
    MOVWF    STATUS_TEMP

    DECFSZ    COUNT0
,F
                
GOTO    ISR_END1
    COMF    PORTC
,0
    MOVLW    .5
    MOVWF    COUNT0
ISR_END1
:
    
BCF    PIR1,TMR1IF
    CLRF    TMR1H
    
...
                
RETFIE



就如OP的帖子里,DECFSZ COUNT0,F 那行就有問題了。就算COUNT是在通用存儲區里,那也是暫時逃過劫數而已。再看下去,PORTC那行就有50-50的機會發生災難。再看PIR1, 災難指數已經提升到了75%了...

再說一遍:怎么會麻煩?是遲和早的問題而已。

發表於: 2007/2/16 3:11
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#10
中級會員
中級會員


查看用戶資訊
參照:

Beee 寫到:

如放在其他位址 , 則要注意 BANK 的切換 ( 太麻煩了! )


怎么會麻煩?BANK的切換基本上是避免不了的!

發表於: 2007/2/16 2:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#9
資深會員
資深會員


查看用戶資訊
還有要注意一點:
W_TEMP , STATUS_TEMP ( 或其他名稱?)變數 要放在 0x70 以後的位址
那裡為 通用位址 ( BANK 0 , 1 , 2 , 3 都可以存取 )
如放在其他位址 , 則要注意 BANK 的切換 ( 太麻煩了! )

發表於: 2007/2/15 20:33
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#8
新會員
新會員


查看用戶資訊
多謝你的解答
我會在想一想的

發表於: 2007/2/14 0:11
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#7
高級會員
高級會員


查看用戶資訊
之前也有同樣的疑問..也發現過的確會影響到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
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#6
新會員
新會員


查看用戶資訊
我是想問 我po的程式是進入中斷後的內容
進入時我們會先備份資料
之後作中斷時所需的程式
隻後重設中斷
還原
但是我使用中斷計時
時間點我不會算ㄟ
就是哪一個程式還在中斷
哪裡中斷結束跳回中斷點04h
還是哪裡有再等待中段時間的
DECFSZ COUNT0,F
這是我判斷所設的中斷次數
還沒到我就繼續執行isr_end
但他跑完裡面的程式就又進入04h
那我假如計時10分鐘
跑完那些程式不用到一秒吧
剩餘的時間 跑哪了
一直在疑惑中斷
有誰可以跟我解式詳細的中斷用法

發表於: 2007/2/13 13:03
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 想請問中斷
#5
資深會員
資深會員


查看用戶資訊
了解
謝了
我想應該是我沒用過PIC16
我用PIC18都是一進中斷就用MOVFF備份STATUS
離開時先用MOVF放回W再回存STATUS所以才沒出問題
PIC16沒有MOVFF還真不方便...

發表於: 2007/2/13 9:04
木亟缶夬金戔
彳艮缶夬金戔
走召缶夬金戔
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------