temporizadores timer0 (tmr0): temporizador-contador de 8 bits con preescaler de 8 bits (16f877)....

13
TEMPORIZADORES

Upload: rogelio-manuel

Post on 20-Jan-2015

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

TEMPORIZADORES

Page 2: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

Temporizadores

• Timer0 (TMR0): Temporizador-Contador de 8 bits conPreescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits: TMR0L y TMR0H.

• Timer1(TMR1): Temporizador-Contador de 16 bits con

preescaler que puede incrementarse en modo sleep de forma externa por un cristal/clock. (Ambos casos)

• Timer2(TMR2): Temporizador-Contador de 8 bits con

preescaler y postescaler. (Ambos casos) .

• Timer3(TMR3): Temporizador-Contador de 16 bits con

Preescaler. Sólo para el 18F4550

Page 3: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

TMRO

Page 4: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:
Page 5: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

DIAGRAMA DE BLOQUE PROGRAMACIÓN DE TMR0

Registro DE TEMPORIZADOR / CONTADOR

Temporización= 4*Tosc.*(256-TMRO)*Rango del divisor

Ejemplo: Generar una interrupción de 20 ms. Para evitar los rebotes de unas teclas. Se utiliza un cristal de 4 Mhz ¿Cuanto debe cargarse en TMRO si el divisor esta en 256?

Page 6: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

DIAGRAMA EN BLOQUES DE EL USO DEL DIVISOR PARA TMR0/WDT

Registro DE TEMPORIZADOR / CONTADOR

Page 7: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

Registro DE opciones OPTION u OPTION_REG (Dirección 81h,181h) Banco 1 y 3

bit 7:#RBPU: Resistencia de Pull-up en, el PORTB1=Resistencia de Pull-up desactivada0= Resistencia de Pull-up activada

bit6 1:INTEDG:, Flanco, de control de interrupciones1:Interrupción por flanco ascendente en el pin RB0/INT,0:Interrupción por flanco: descendente en el pin RB0/INT

bit 5:T0SC. Selección del tipo de Reloj para TMRO1 = Los pulsos se introducen a través del, pin RA4/TOCK10 = Los Pulsos de reloj internos- Fosc/4

bit 4:T0SE: Tipo de flanco para TMR01 = Incremento de TMR0 en cada flanco, descendente por el pin RA4/TOCKI0 = Incremento de TMR0 en cada flanco ascendente por el pin RA4/TOCKIbit 3:PSA: Asignación del Preescaler1 = El preescaler se le asigna al WDT0 = El preescaler se le asigna al TMR0

bit 2-0:PS2:PS0: Rango de actuación del preescaler

OPTION_REG

16F877

Page 8: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

18F4550

Page 9: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

interrupciones

(Dirección 0Bh, 8Bh, l0Bh, 18Bh)bit 7: GIE: bit de habilitación global de Interrupciones

1= Habilita el permiso de interrupciones0= Inhabilita todas las interrupcionesbit 6: PEIE: habilitación de interrupciones de los periféricos 1= Habilita el permiso de interrupciones de los periféricos0= Inhabilita las interrupciones de los periféricosbit 5: T0IE: bit de habilitación de la interrupción por desbordamiento del TMR01= Habilita la interrupción0= Inhabilita la interrupciónbit 4: INTE: bit de habilitación de la interrupción externa por el pin RB0/INT1= Habilita la interrupción0= Inhabilita la interrupciónbit 3: RBIE: bit de habilitación de interrupción por cambio de nivel en el PORTB1= Habilita la interrupción0= Inhabilita la interrupciónbit 2: T0IF: flag de indicación de desbordamiento de TMR01= El TMR0 se ha desbordado. Se borra por software0= El TMR0 no se ha desbordadobit 1: INTF: flag de estado de la interrupción externa INT1= La interrupción externa se ha producido. Se borra por software0= La interrupción externa no se ha producidobit 0: RBIF: flag de indicación de interrupción por cambio de nivel en PORTB1= Se ha producido un cambio de nivel en los pines RB7:RB4. Se borra por software.0= No se ha producido un cambio de nivel en los pines RB7:RB40

Page 10: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

REGISTROS ASOCIADOS AL TMR0

16F877

Page 11: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

REGISTROS ASOCIADOS AL TMR0

18F4550

Page 12: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

Registro TMR0

#

PS2 PS1 PS0 TMR00 0 0 1:20 0 1 1:40 1 0 1:80 1 1 1:161 0 0 1:321 0 1 1:641 1 0 1:1281 1 1 1:256

INTCON.TMROIF

16F877

Para ambos casos

Page 13: Temporizadores Timer0 (TMR0): Temporizador-Contador de 8 bits con Preescaler de 8 bits (16F877). Para el 18F4550 se puede seleccionar para 8 o 16 bits:

Ejercicio Diseñe un programa para controlar una banda transportadora para llenar cajas con una cantidad conocida de partes.Requerimientos:a) Número de partes/caja = 10. b) Inicio de funcionamiento MANUALc) Indicar potencia ON e indicar banda transportadora en funcionamientod) Parar la banda transportadora cuando se complete una caja e indicar caja

completae) El operador ubica una caja vacía en posición y reinicia