How to use counter in pic16f628 using picbasic pro?
How to use counter in pic16f628 using picbasic pro?
Wich counter? The PIC TIMER0,1,2?
Code:' ' PIC Configuration ' ================= @ __CONFIG _HS_OSC & _MCLRE_ON & _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_ON DEFINE OSC 20 ' ' Hardware configuration ' ====================== TRISB=%11111111 ' PORTB<7:0> => all set to input T1CON = %00000110 ' TIMER1 counter : ' Prescaller 1:1 ' Oscillator shut off ' no synchronisation ' use PORTB.6 as clock input ' ' Variables/Alias definition ' ========================== TMR1ON VAR T1CON.0 CounterA VAR WORD Start: TMR1L=0 ' Clear TMR1H=0 ' Counter ' TMR1ON=1 ' Start counter PAUSE 1000 ' Sampling time TMR1ON=0 ' Stop counter ' CounterA.HIGHBYTE=TMR1H ' Get results CounterA.LOWBYTE=TMR1L ' ' ' Blah blah blah ' goto start
Last edited by mister_e; - 18th May 2006 at 15:28.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Hi Steve,
I have succesfully set up Timer0 and Timer1 as counters individually working in the background (F877).
As I need one more counter, and went through the Data Sheet, how do I set Timer2 as a counter?
Data sheet says in "Microcontroller Core Features" that "Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler".
However, there is no mention of counter in "7.0 TIMER2 MODULE" section in the data sheet.
Am I missing a key point here, and thus Timer2 can not be used as a counter from an external source?
Thanks in advance.
---------
Last edited by sayzer; - 20th August 2006 at 18:31.
"If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte
From what i remind, Timer2 is unfortunately just a timer and have something to do with the HPWM and CCP2 module.. not a counter. But timer0, timer1 can be used as counter.
In your case you could also use any interrupt source and increment a variable in the ISR.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks