Tutorials - PIC peripherals

 

TIMER0

 


PIC Midrange 

I PIC della famiglia Midrange il TIMER0 ha la struttura finora vista. Viene mantenuto il registro TMR0 a 8 bit, il prescaler condiviso con WDT, il clock interno o esterno. 

I registri di controllo sono quelli precedentemente visti.

Rispetto ai Baseline i Midrange dispongono di uno stack a 8 livelli e di una gestione a interrupt, quindi anche TIMER0 è sorgente di interrupt.
La gestione avviene attraverso INTCON (bit T0IE) e il bit GIE di abilitazione generale.


Il flag T0IF va a 1 al momento dell' overflow e DEVE essere cancellato da programma, una volta servito l' interrupt relativo. 
Se il flag non viene cancellato, alla riabilitazione di GIE che fa seguito al retfie, si generererebbe immediatamente una nuova richiesta di interrupt.



PIC Midrange Enhanced

I PIC più recenti delle famiglie Base e Mid sono sottoposti ad una serie di modifiche con lo scopo di migliorarne le prestazioni e facilitarne l' uso. Ne viene toccato anche il TIMER0. Lo schema tipico per uno di questi processori è il seguente:

La struttura fondamentale è esattamente la stessa, ovvero  c'è la scelta tra il clock interno e un ingresso esterno T0CKI, la selezione del fronte di commutazione, il prescaler, i flag di interrupt.

Viene, però, operata una piccola modifica: il prescaler non è più condiviso con il WDT, ma è dedicato al timer. Quindi si potrà avere contemporaneamente un prescaler per il TIMER0 e uno per il WDT. Questo consente una maggiore flessibilità di impiego. 

I registri di controllo sono del tutto identici, sia come nome che come funzioni a livello del singolo bit, anche se può apparire la denominazione di TMR0CS al posto di T0CS e TMR0SE al posto di T0SE.

Essendo del tutto identici i bit di controllo, righe scritte per il PIC Baseline,  Mid e Mid Enhanced sono del tutto identiche ed intercambiabili


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 09/04/13.