Page 29 - Microcontrolere - Indrumator de laborator
P. 29
Circuitul de temporizare Timer2 conține un circuit de prescalare care preia un
semnal cu frecvența de 4 ori mai mică decât cea a semnalului de tact, semnalul de tact
având frecvența f OSC . Factorul de prescalare poate să ia valorile: 1:1, 1:4 și 1:16 prin
setarea biților T2CKPS1 și T2CKPS0 din registrul de 8 biți cu funcție specială T2CON
din memoria de date, 00 pentru factorul de prescalare 1:1, 01 pentru factorul 1:4 și 1X
pentru factorul de prescalare 1:16. De exemplu, dacă este setat factorul de prescalare
1:16, la al 16-lea impuls al semnalului f OSC / 4, se incrementează registrul de 8 biți cu
funcție specială TMR2 din memoria de date. După fiecare incrementare a registrului
TMR2, conținutul acestui registru este comparat cu conținutul registrului de 8 biți cu
funcție specială PR2 din memoria de date a microcontrolerului. În caz de egalitate, se
va incrementa conținutul circuitului de postscalare, iar conținutul registrului TMR2 se
resetează, urmând un nou proces de incrementare. Se remarcă posibilitatea programării
conținutului registrului PR2 cu valoarea dorită. Operația de postscalare este setată cu
ajutorului unui câmp de 4 biți din registrul T2CON, TOUTPS<3:1>, pentru a obține
factori de scalare cuprinși între 1:1 și 1:16. Cu ajutorul bitului TMR2ON se validează
funcționarea sau nu a modulului Timer2. Astfel, dacă acest bit este setat, Timer2 va fi
adus în funcțiune, iar dacă nu, funcționalitatea acestui modul nu va fi disponibilă.
SSP, PWM TMR2IF
f OSC /4 Prescaler Postscaler
1:1, 1:4, 1:16 TMR2 (8) de la1:1 la 1:16
8
Comparator
2 4
8
PR2 (8) Timer2
Reg. - TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0
T2CON
7 6 5 4 3 2 1 0
Fig. 3.1. Modulul de temporizare Timer2 al microcontrolerului PIC16F887
Odată ce acest modul este alimentat, bitul TMR2IF din registrul PIR1 va fi
setat, indicând astfel apariția unui eveniment. În cazul de față, evenimentul indică
înregistrarea unui anumit număr de impulsuri ale unui semnal de tact periodic cu
frecvența f OSC /4. Pentru a semnala apariția unui nou eveniment, în prealabil, TMR2IF
trebuie șters. Utilizarea acestei informații va fi descrisă în subcapitolul următor. O
posibilă rutină de configurare și utilizare a modulului de temporizare Timer2 este
indicată mai jos.
26