Pc16f877

Solo disponible en BuenasTareas
  • Páginas : 12 (2888 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de abril de 2011
Leer documento completo
Vista previa del texto
Diseño de Aplicaciones Prácticas con Microcontroladores PIC

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...
tracking img