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
   24   25   26   27   28   29   30   31   32   33   34