Uso de tmr en mikroc para pic

Solo disponible en BuenasTareas
  • Páginas : 17 (4047 palabras )
  • Descarga(s) : 13
  • Publicado : 28 de junio de 2010
Leer documento completo
Vista previa del texto
TEMPORIZADORES

DEFINICION
TEMPORIZADOR. TEMPORIZADOR - Dispositivo periférico programable que tiene la facultad de contar pulsos de reloj o pulsos externos al sistema.
TEMPORIZADOR 1, 2, 3, 4, 5, 6, 7, 8,... Registro de conteo de pulsos

1 2 3 4 5 6 7 8

Temporizador
Microcontrolador Dispositivo externo Timer/contador

Oscilador

Selección Temporizador o Contador de eventosexternos

Temporizador
Preescalador (divisor de frecuencia).frecuencia).Toma N pulsos de entrada y genera un solo pulso de salida.
1 2 3 4 5 6 7 8

No usa el preescalador

1 2 3 4 5 6 7 8

Generador de pulsos Preescalador 2:1 P l d 21 Preescalador 4:1
. . .

Al temporizador p

Preescalador 256:1

Temporizador
1 2 3 4 5 6 7 8

Generador de l d pulsos Usa el preescaladorPreescalador 2:1

1

2

3

4

Al temporizador

1 2 3 4 5 6 7 8

Generador de pulsos Usa el preescalador p Preescalador 4:1

1

2

Al temporizador

Temporizador Postescalador (divisor de frecuencia).frecuencia).Cuenta el número de veces que se desborda el timer. Cuando se cumple el número predeterminado se activa la bandera del temporizador
1 2 3 4 1 2 3 4

Temporizador/ contador td

Postescalador 1:1 Se desborda 4 veces el timer Se activa 4 veces la bandera

TF

Temporizador
1 2 3 4 1 2

Temporizador/ T i d / contador

Postescalador 2:1 Se desborda 4 veces el timer Se activa 2 veces la bandera

TF

1

2

3

4

1

Temporizador/ contador d

Se desborda 4 veces el timer

Postescalador 4:1 Se activa 1 vez la bandera

TF Temporizador/contador
El PIC16F877 tiene 3 timer/counter (temporizador/contador) • TMR0 Contador de 8 bits, con un pre-escalador de 8 prerelaciones (2, 4, 8, 16, 32,64, 128, 256) l i • TMR1 Contador de 16 bits, con un pre-escalador de 4 bits prerelaciones (2, 4, 8, 16) • TMR2 Contador de 8 bits, con un pre-escalador (1, 4, pre16), un post-escalador (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, post12, 13 14 15 12 13, 14,15, 16) y un registro de periodo PR2

TIMER 0
Temporizador de pulsos de reloj interno y contador de pulsos externos.

TIMER0
Este temporizador/contador tiene un registro de conteo de pulsos, que se denomina de la misma forma TMR0 TMR0. Es E accesible d d código, se puede ibl desde ódi d verificar su valor por programa.

TIMER0
El conteo de este registro es incremental. Cuando sedesborda se necesita desborda, recargar el valor de conteo, para evitar conteos erróneos erróneos.
Se quiere contar 5 pulsos pero no se recarga el valor de conteo.
TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0
. . .

Se quiere contar 4 pulsos y se recarga el valor de conteo.
TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 TMR0 = = = = = = = = = = = = 252 253 254 255 0 252 253254 255 0 252 253 cargamos el valor inicial l l i i i l

= = = = = = = = = = = =

251 252 253 254 255 0 1 2 3 4 5 6

cargamos el valor inicial l l l

desborde del timer

desborde del timer recargamos el valor inicial

no hay desborde

desborde del timer recargamos el valor inicial

TMR0 (registro OPTION_REG) OPTION_REG)
Bit
7 6 5

Nombre
/RBPU INTEDG TOCS

Función
Activalas resistencias de PULL UP del puerto B. Selecciona el filo de activación de la interrupción externa. Selección de fuente de entrada de pulso para el TMR0 1 = Incremento del contador por pulso en la terminal T0CKI 0 = Pulso interno cada ciclo de maquina (CLKOUT) Selección del filo de incremento del TMR0 1 = Incremento en transición negativa en la terminal T0CKI 0 = Incremento en transiciónpositiva en la terminal T0CKI Asignación del preescalador 1 = El Preescalador es asignado al WDT 0 = El Preescalador es asignado al modulo Timer0 Selección de la escala del Preescalador Valor escala TMR0 escala WDT 000 1:2 1:1 001 1:4 1:2 010 1:8 1:4 011 1 : 16 1:8 100 1 : 32 1 : 16 101 1 : 64 1 : 32 110 1 : 128 1 : 64 111 1 : 256 1 : 128

4

TOSE

3

PSA

0-2

PS2 PS1 PS0

TMR0...
tracking img