Browsing this Thread:
1 Anonymous Users
|
12F629 Timer 1 使用internal clock
|
|
新會員
Joined
: 2009/2/17 15:24 最後登入時間
: 2009/3/2 10:32
Group:
註冊會員
Level : 1 HP : 0 / 8 MP : 1 / 379 EXP : 34
|
請問有沒有使用 Timer1的範例或建議?我參考了PICmicro™ Mid-Range MCU Family Reference Manual裡面的Timer1建議但是Timer1 似乎沒有正確的動作.
程式如manual裡的example 12-4 Timer1 Initialization (Internal Clock Source)所示如下: TIMER1 INIT
CLRF T1CON ; Stop Timer1, Internal Clock Source, ; T1 oscillator disabled, prescaler = 1:1 CLRF TMR1H ; Clear Timer1 High byte register CLRF TMR1L ; Clear Timer1 Low byte register CLRF INTCON ; Disable interrupts BSF STATUS, RP0 ; Bank1 CLRF PIE1 ; Disable peripheral interrupts BCF STATUS, RP0 ; Bank0 CLRF PIR1 ; Clear peripheral interrupts Flags MOVLW 0x30 ; Internal Clock source with 1:8 prescaler MOVWF T1CON ; Timer1 is stopped and T1 osc is disabled BSF T1CON, TMR1ON ; Timer1 starts to increment ; ; The Timer1 interrupt is disabled, do polling on the overflow bit ; T1_OVFL_WAIT BTFSS PIR1, TMR1IF GOTO T1_OVFL_WAIT ; ; Timer has overflowed ; BCF PIR1, TMR1IF
我想使用中斷處理Timer1而不是一直去檢查TMR1IF,所以我的程式中的INTCON裡的GIE/PEIE及PIE1裡的TMR1IE都是設為1,中斷處理程式和Timer0透過檢查TMR1IF做為區隔,Timer0動作正常,Timer1似乎一直沒有動起來即使我使用了範例中檢查TMR1IF的方式而不使用中斷也一樣無法動作.請問是不是有什麼地方的設定不正確或需要注意的?
整體使用條件如下:
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_ON & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_CLKOUT
timer0己做為其他用途程式動作正常,timer1則規劃為一16bit timer其它腳位全部是output
謝謝指導!
發表於: 2009/3/2 11:04
|
|
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.