• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 中斷時間不對---幫幫忙
#3
版主
版主


查看用戶資訊
1. 你似乎忘了在中斷裡將Timer0的直重新載入。
2. Status, W, PCLATH 的 push and pop 不需用這麼多指令吧! 參考一下Microchip所提供的範例吧。
3. 善用MPASM所提供的虛指令,PAGESEL , BALNKSEL 來進行 CODE PAGE 與 RAM BANK 的切換
範例 1 :
BANKSEL TRISA ; 選擇 TRISA 所在的 BANK1
MOVLW b'11110000'
MOVWF TRISA
BANKSEL PORTA; 切回 BANK0 (PORTA in Bank0)
MOVWF PORTA

範例 2 :
執行 goto 與 call 指令前一般需將要前往的PAGE載入到PCLATH裡,一般的語法為:
MOLLW (high) Lable
MOVWF PCLATH
GOTO Lable 或 CALL Table
此寫法可以改寫成
PAGESEL Lable
GOTO/CALL Lable

用PAGESEL與 BANKSEL的語法有很大的好處,尤其是插入程式或變數時MPASM會自動切換RAM BANK。
尤其是用re-Locatable語法時,MPLINK會自動安排BANK位址,修改程式時比較方便。

4. 至於中斷時間準不準的問題,你可以用軟體模擬中的STEPWATCH幫你計算中斷時間。
先啟動MPLAB-SIM,在Debugger-->setting裡設定你的工作頻率,打開STEPWATCH視窗,中斷點設在0x0004地進入點
你就可以知道程式會不會中斷且中斷時間為何?

發表於: 2004/8/22 11:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


訪客
Re: 中斷時間不對---幫幫忙
#2
不好意思我不太懂你的算法我只知道
4MHZ~一個指令周期執行的時間是1US
而若你預除器設128,而值是設7D則就是數131次
這樣子算出來的時間是1US X 128 X 131 =16768US.....這樣不會到一秒喔
你可設TMR0為6…而預除器設100 而外部再給可個40的值去乘
這樣子就會到1, 重點…你在中斷時要重設TMR0為6,不過若要更精準一點要扣掉你中斷載入重數的時間……。
我覺得你用TMR2會較好,因為TMR2有個PR2可設,到了就自動重數。

Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


中斷時間不對---幫幫忙
#1
新會員
新會員


查看用戶資訊
4MHZ震盪器 1秒要做250次 所以TMR0=7D,預除128
4MHZ/128/125=250,這樣對吧,下面我的的中斷程式幫忙看一下
INT0:
movwf W_Tmp
movf STATUS,w
clrf STATUS
movwf STATUS_Tmp
movf PCLATH,w
movwf PCLATH_Tmp
clrf PCLATH

bcf STATUS,RP0
btfsc INTCON,T0IF
call T0

End_Int:
movf PCLATH_Tmp,w
movwf PCLATH
movf STATUS_Tmp,w
movwf STATUS
movf W_Tmp
retfie

;-------------------------------------------
;------------ TIMER0 INTERRUPT--------------
;-------------------------------------------
T0:
; bsf T0Flag,0
incf Tcount
call CheckT
bcf STATUS,RP0
bcf INTCON,2

return

發表於: 2004/8/20 10:54
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... ]

教育訓練中心

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