temporizadores

13
TEMPORIZADORES

Upload: shelley

Post on 06-Feb-2016

44 views

Category:

Documents


1 download

DESCRIPTION

TEMPORIZADORES. 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: TMR0L y TMR0H. Timer1(TMR1): Temporizador-Contador de 16 bits con - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TEMPORIZADORES

TEMPORIZADORES

Page 2: TEMPORIZADORES

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

TMRO

Page 4: TEMPORIZADORES
Page 5: TEMPORIZADORES

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

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

Registro DE TEMPORIZADOR / CONTADOR

Page 7: TEMPORIZADORES

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

18F4550

Page 9: TEMPORIZADORES

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

REGISTROS ASOCIADOS AL TMR0

16F877

Page 11: TEMPORIZADORES

REGISTROS ASOCIADOS AL TMR0

18F4550

Page 12: TEMPORIZADORES

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

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