pic18f4431 timer1 problem

Thread Starter

dmta

Joined Mar 24, 2013
32
Hi all,

I want to use the timer1 of the PIC18f4431 to increment every instruction cycle. I wrote a function to do this and simulated using pic18 simulator IDE but I am not seeing the TMRL register increment. Please take a look at my code and correct me.

Rich (BB code):
void timer1_init(){

     T1CON.RD16    = 0;          // enable register read/write of TIMER1 in two 8-bit operations
     T1CON.T1RUN   = 0;          // system clock is derived from another source
     T1CON.T1CKPS1 = 0;          // ##increments with 1:1 prescale value
     T1CON.T1CKPS0 = 0;          // ##
     T1CON.T1OSCEN = 0;          // TIMER1 oscillator is shut-off
     T1CON.TMR1CS  = 0;          // enable TIMER1
     T1CON.TMR1ON  = 1;          // TIMER1 uses internal clock (FOSC/4)
     TMR1L         = 0;          // clear TIMER1 lower register
}
 
Last edited:

JohnInTX

Joined Jun 26, 2012
4,787
What you show should start the timer as far as it goes assuming you only call the routine once during setup (it clears TMR1L) and not in some loop.

You'll have to do and show the config bits/processor/simulator setup and show the whole code to go further. What's the simulated frequency and OSC type?

Be sure to turn off the FAIL-SAFE clock function for now.

Check the instructions and release notes for MPSIM to see any additional info that applies to timer 1.
 
Top