TIMER 1


Il modulo TIMER 1 è un timer/contatore a 16 bit, come si vede nella figura sottostante, e quindi formato dall'unione di due singoli registri ad 8 bit: il TMR1H ed il TMR1L. Entrambi i registri sono leggibili e scrivibili in qualsiasi momento.


L'interrupt verrà generato al raggiungimento del valore 0x0000 incrementando di 1 il valore 0xFFFF, sempre che il bit TMR1IE sia stato abilitato.
Il funzionamento dei bit TMR1IE e TMR1IF è identico a quello visto per i corrispondenti T0IE e T0IF del TIMER 0.

A differenza del TIMER 0, il TIMER 1 ha un registro di controllo tutto suo, visibile nella figura sottostante.


TMR1ON abilita (1)o arresta (0) il Timer1;

TMR1CS seleziona l'incremento sul pin esterno T1CKI (1) oppure sincronizzato col clock del controller (0) (esattamente come nel caso del TIMER 0);

T1SYNC dice se sincronizzare il segnale esterno con il clock del controller oppure no (diversamente dal TIMER 0 che non lo prevedeva):

T1OSCEN abilita l'oscillatore del TIMER1 :

Uno dei vantaggi del TIMER 1 è quello di poter lavorare anche separatamente dal clock del microcontroller stesso: ad esempio è possibile avere un quarzo a 8 MHz per il normale funzionamento del circuito ed uno a 32768 Hz per il mantenimento di un orologio, che andrà collegato ai pin T1OSI e T1OSO.

I pin T1OSI e T1OSO sono, rispettivamente, l'ingresso e l'uscita dell'oscillatore interno del Timer1, a bassa potenza e può funzionare fino a 200kHz. Dal datasheet si preleva il valore dei condensatori C1, C2 (vedi tabella sottostante) :


Capacità superiori aumentano la stabilità dell'oscillatore, ma aumentano anche il tempo di avviamento. Infatti come per l'oscillatore principale, alla partenza il clock non è affidabile.

L'oscillatore può essere acceso o spento impostando il bit T1OSCEN del registro T1CON. Quando è abilitato (acceso), i due I/O RC0 e RC1 saranno disabilitati e viceversa.

Il PIC resta in sleep fino all'interrupt provocato dal TIMER 1 che lavora con una frequenza più bassa e che quindi consuma molte volte di meno rispetto all'oscillatore a 8 MHz, favorendo la durata delle batterie.