CURS 6
TIMERE
CIRCUITE DE TEMPORIZARE SI/SAU NUMARARE INDEPENDENTE DE FUNCTIONAREA
CPU
VALOAREA REGISTRILOR POATE FI CITITA SI SCRISA
LA DEPASIREA VALORII MAXIME SETEAZA UN BIT DE DEPASIRE SI POT GENERA
INTRERUPERI
SURSA SEMNALULUI DE CLOCK POATE FI INTERNA SAU EXTERNA TIMERE
MICROCONTROLLERULUI
FRONTUL PE CARE SE FACE INCREMENTAREA CONTORULUI POATE FI ALES
POT EXISTA MAI MULTE TIMERE INTR-UN μC
MARIMEA REGISTRULUI TIMER ESTE IN FUNCTIE DE TIPUL μC SI DE TIPUL TIMERULUI
ALES
TIMER0 ARE URMATOARELE PROPRIETATI:
TIMER / COUNTER DE 8 BITI
POATE FI CITIT SI SCRIS
PRESCALER (PREDIVIZOR) DE 8 BITI PROGRAMABIL SOFTWARE TIMER0
SURSA PENTRU SEMNALUL CLOCK POATE FI EXTERNA SAU INTERNA
POATE GENERA INTRERUPERI LA DEPASIREA VALORII MAXIME A
REGISTRULUI TIMER DE LA FFh LA 00h
SE POATE SELECTA FRONTUL SEMNALULUI DE CLOCK PENTRU SURSA
EXTERNA
TIMER0
TIMER0
Timer0 Timing: Internal Clock/No Prescale
Timer0 Timing: Internal Clock/Prescale 1:2
TIMER0
TMR0 Interrupt Timing
TIMER0
Timer0 Timing with External Clock
TIMER1 ARE URMATOARELE PROPRIETATI:
TIMER / COUNTER DE 16 BITI (TMR1H, TMR1L)
POATE FI CITIT SI SCRIS
PRESCALER (PREDIVIZOR) DE 4 BITI PROGRAMABIL SOFTWARE
TIMER1
SURSA PENTRU SEMNALUL CLOCK POATE FI EXTERNA SAU INTERNA
POATE GENERA INTRERUPERI LA DEPASIREA VALORII MAXIME A REGISTRULUI
TIMER DE LA FFFFh LA 0000h
TIMER1 POATE OPERA IN TREI MODURI
TIMER SINCRON
NUMARATOR SINCRON
NUMARATOR ASINCRON
TIMER1
SCHEMA BLOC
TIMER1 OPERARE IN MOD TIMER
MODUL TIMER ESTE SELECTAT PRIN STERGEREA
TMR1CS (T1CON<1>) TIMER1
INTRAREA DE CLOCK A TIMER1 ESTE FOSC/4
BITUL DE CONTROL AL SINCRONIZARII T1SYNC
(T1CON<2>) NU ARE EFECT DEOARECE SEMNALUL
DE CLOCK INTERN ESTE INTOTDEAUNA SINCRONIZAT
OPERARE IN MOD NUMARATOR SINCRONIZAT
MODUL NUMARATOR ESTE SELECTAT PRIN SETAREA TMR1CS (T1CON<1>)
TIMER1
IN ACEST MOD TIMERUL ESTE INCREMENTAT LA FIECARE FRONT
CRESCATOR
DACA BITUL T1SYNC ESTE STERS, SEMNALUL CLOCK EXTERN ESTE SINCRONIZAT
CU SEMNALUL DE CLOCK INTERN. SINCRONIZAREA ESTE REALIZATA DUPA
PRESCALER (NUMARATOR ASINCRON)
IN ACEASTA CONFIGURATIE, IN MODUL SLEEP, TIMER1 NU VA FI INCREMENTAT
OPERARE IN MOD NUMARATOR ASINCRON
MODUL NUMARATOR ESTE SELECTAT PRIN SETAREA TMR1CS (T1CON<1>)
IN ACEST MOD TIMERUL ESTE INCREMENTAT LA FIECARE FRONT CRESCATOR
DACA BITUL T1SYNC ESTE SETAT, SEMNALUL CLOCK EXTERN NU ESTE SINCRONIZAT CU
TIMER1
SEMNALUL DE CLOCK INTERN.
IN ACEASTA CONFIGURATIE, IN MODUL SLEEP, TIMER1 VA FI INCREMENTAT
TIMER1 POATE FI IMPLEMENTAT CA UN CEAS DE TIMP REAL
TIMER1 NU POATE FI UTILIZAT PENTRU OPERATII DE CAPTURA SAU COMPARARE
TIMER2 ARE URMATOARELE PROPRIETATI:
TIMER DE 8 BITI
POATE FI CITIT SI SCRIS TIMER2
PRESCALER SI POSTSCALER PROGRAMABILE SOFTWARE
REGISTRU DE PERIOADA
UTILIZAT DE MODULUL CCP PENTRU GENERAREA PWM
UTILIZAT DE MODULUL UART PENTRU GENERAREA BAUD RATE
TIMER2
SURSA SEMNALULUI
• O SINGURA SURSA FOSC/4
SE CLOCK PENTRU • PRESCALER 1:1, 1:4 SAU 1:16
TIMER2 :
TIMER2
• TMR2
• POATE FI CITIT SAU SCRIS
• TMR2 SE INCREMENTEAZA DE LA 00h PANA
CAND ESTE EGAL CU PR2 SI APOI SE RESETEAZA
REGISTRII TIMER2 SI LA 00h LA URMATORUL SEMNAL DE
PERIOADA INCREMENTARE
• ESTE STERS LA SEMNALE DE RESET WDT, POR,
MCLR, BOR SI LA SETAREA PR2
• PR2
• POATE FI CITIT SAU SCRIS
IESIRE
• TIMER2 POSTSCALER
COMPARATOR • INTRAREA DE CLOCK A SSP
TMR2
TIMER2
• LA SCRIEREA IN REGISTRUL TMR2
STERGEREA TIMER2
• LA SCRIEREA IN REGISTRUL T2CON
PRESCALER SI • LA ORICE RESET A MICROCONTROLLERULUI
POSTSCALER • PR2
• TMR2 NU SE INCREMENTEAZA
OPERAREA IN • PRESCALERUL RETINE ULTIMA VALOARE, FIIND
MODUL SLEEP GATA DE OPERARE DUPA CE
MICROCONTROLLERUL REVINE DIN STAREA SLEEP