Pc16f877
Páginas: 12 (2888 palabras)
Publicado: 26 de abril de 2011
ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI
Temporizadores
©ATE-Universidad de Oviedo
ATE-UNIOVI
ATE-UNIOVI
ATE-UNIOVI
1
Diseño de Aplicaciones Prácticas con Microcontroladores PIC
CARACTERÍSTICAS ATE-UNIOVI GENERALES
Temporizador TMR0
ATE-UNIOVI
ATE-UNIOVI
Contador / Temporizadorde 8 bits que se pueden leer y escribir. Prescaler de 8 bits programable por software. Generación de interrupción al desbordarse de FFh a 00h. Se puede seleccionar el flanco activo si se usa reloj externo.
ATE-UNIOVI
Temporizador TMR1
ATE-UNIOVI
Contador / Temporizador de 16 bits que se pueden leer y escribir. Prescaler programable por software. Generación de interrupción al desbordarsede FFFFh a 0000h. Puede activarse o desactivarse.
ATE-UNIOVI
ATE-UNIOVI
Temporizador TMR2 Temporizador de 8 bits que se pueden leer y escribir. Prescaler para el reloj y postscaler para la salida. TMR2 se incrementa hasta alcanzar el valor de PR2. Puede activarse o desactivarse.
ATE-UNIOVI
ATE-UNIOVI
©ATE-Universidad de Oviedo
Temporizadores
2
1
Diseño de AplicacionesPrácticas con Microcontroladores PIC
TEMPORIZADOR TMR0/WDT ATE-UNIOVI
CLKOUT (fOSC/4) 0
ATE-UNIOVI
Bus de datos
RA4 / T0CKl
T0SE
1
M P X
ATE-UNIOVI
1 0
M P X
SYNC 2 ciclos
8
TMR0
Levanta flag T0IF ATE-UNIOVI al desbordarse
ATE-UNIOVI
Watchdog
Habilitación de WDT
T0CS
PSA
0 1
M P X
Prescaler de 8 bits ATE-UNIOVI
8
ATE-UNIOVI
Mpx 8:1
0 1PSA
ATE-UNIOVI
PSA
PS2:PS0
ATE-UNIOVI Temporización del WDT
Temporizadores
©ATE-Universidad de Oviedo
MPX
3
Diseño de Aplicaciones Prácticas con Microcontroladores PIC
Registro OPTION_REG (81h, 181h) ATE-UNIOVI ATE-UNIOVI
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
bit 7 bit 6 bit 5 bit 4 bit 3
RBPU INTEDG
ATE-UNIOVI
CLK/4)
ATE-UNIOVI 0: Reloj interno (fT0CS: Selección del reloj a utilizar
1: Reloj externo (RA4) 1: Flanco de bajada
ATE-UNIOVI
T0SE: Selección del flanco activo del reloj externo
ATE-UNIOVI PSA: Asignación del prescaler
0: Flanco de subida 0: Asignado a TMR0 1: Asignado a WDT 100: 101: 110: 111: 1:32 para TMR0 / 1:16 para WDT. 1:64 para TMR0 / 1:32 para WDT. 1:128 para TMR0 / 1:64 para WDT. 1:256 para TMR0 / 1:128 para WDT. 4ATE-UNIOVI / 1:1 para WDT. 000: 1:2 para TMR0
bits 2:0 PS2:PS0: Prescaler
ATE-UNIOVI
001: 1:4 para TMR0/ 1:2 para WDT. 010: 1:8 para TMR0 / 1:4 para WDT. 011: 1:16 para TMR0 / 1:8 para WDT.
ATE-UNIOVI
©ATE-Universidad de Oviedo
Temporizadores
2
Diseño de Aplicaciones Prácticas con Microcontroladores PIC
ATE-UNIOVI
Bit 7 Bit 6
Registro TMR0 (01h, 101h)
Bit 4 Bit 3ATE-UNIOVI
Bit 1 Bit 0
Bit 5
Bit 2
* Muestra en todo momento el número de pulsos que se han producido.
ATE-UNIOVI
Cuenta desde 0 (0x00) hasta 255 (0xFF). La cuenta es cíclica: tras el 255 se vuelve al 0 (desbordamiento). Si cuenta pulsos del oscilador, está constantemente incrementándose.
ATE-UNIOVI
ATE-UNIOVI
Registro INTCON (0Bh, 8Bh, 10Bh, 18Bh)
GEIE PEIE T0IE INTERBIE T0IF INTF RBIF
ATE-UNIOVI
* Se puede generar una interrupción cada vez que se desborda ATE-UNIOVI TMR0. ATE-UNIOVI
Es preciso habilitar la interrupción por overflow de TMR0 (T0IE=1). También hay que habilitar la máscara global de interrupciones (GEIE=1). Aun sin habilitar la interrupción, T0IF siempre se pone a 1 tras un overflow de TMR0. El usuario debe encargarse de hacer T0IF=0 en elprograma.
ATE-UNIOVI
©ATE-Universidad de Oviedo
Temporizadores
5
Diseño de Aplicaciones Prácticas con Microcontroladores PIC
Cálculo ATE-UNIOVI de la temporización en TMR0 ATE-UNIOVI
temp = [(256 – carga) · PS + 2] · Tinstr
Temporización
ATE-UNIOVI
Si se asigna a WDT tomaría el valor 1
4 / fosc
Incrementos ATE-UNIOVIhasta desbordamiento
ATE-UNIOVI ATE-UNIOVI...
Leer documento completo
Regístrate para leer el documento completo.