Sie sind auf Seite 1von 4

1.

Timer de la familia PIC18

Se dividen en dos grupos

1.1 Los temporizadores de retardo que son usados cuando inicia el uc, el reset y en las
operaciones de watchdog.

1.2 Los temporizadores y contadores que son usados en la medicin de periodos de


tiempos y formas de onda.

6. C-18 Funciones de TIMER

Las libreras de los perifricos de los PIC 18 (hardware) contienen funciones para
habilitar, deshabilitar, configurar, abrir y cerrar temporizadores y para leer y escribir en
registros del temporizador.

Las funciones son nombradas en estos cuatro grupos:

-ClosedTimerX, donde x es un digito del 0 al 4, se debe especificar el timer para


desactivarlos

-OpenTimerX, donde x es un digito del 0 al 4, para la configuracin y habilitacin de un


especfico temporizador.

-ReadTimerX , donde x es un digito del 0al 4, para leer el valor actual en el registro del
timer.

-WriteTimerX, donde x es un digito del 0 al 4, para escribir un valor en un determinado


registro del timer.

Para incluir las funciones de temporizador se debe incluir la librera timer.h en el


encabezado del programa, las funciones son descritas en las siguientes secciones

6.1Funcion ClosedTimer

Esta funcin deshabilita la interrupcin y el temporizador especificado

ClosedTimer0();

Cierra el timer0, retardo, contadores y temporizadores

6.2Funcion OpenTimerX

Esta funcin activa y configura un especfico timer que est disponible en el hardware.

Para activar una interrupcin en el timer0

TIMER_INT_ON (interrupcin habilitada)

TIMER_INT_OFF (interrupcin deshabilitada)

Para activar el timer de 8 bit y 16bit


T0_8BIT 8-bit mode

T0_16BIT 16-bit mode

Para escoger el oscilador

T0_SOURCE_EXT Ex ter nal clock source (I/O pin)

T0_SOURCE_INT In ter nal clock source (TOSC) Ex ter nal Clock Trig ger (for

T0_SOURCE_EXT): T0_EDGE_FALL Ex ter nal clock on fall ing edge

T0_EDGE_RISE Ex ter nal clock on ris ing edge

Para el valor del preescaler

T0_PS_1_1 1:1 prescale

T0_PS_1_2 1:2 prescale

T0_PS_1_4 1:4 prescale

T0_PS_1_8 1:8 prescale

T0_PS_1_16 1:16 prescale

T0_PS_1_32 1:32 prescale

T0_PS_1_64 1:64 prescale

T0_PS_1_128 1:128 prescale

T0_PS_1_256 1:256 prescale

En el siguiente fragmento cdigo activa y configura el Timer0, para activar las


interrupciones de 8bits, usando un oscilador interno y seleccionar un preescaler de
1:32

//configurar timer0

OpenTimer0 (TIMER_INT_OFF & TO_8BIT & TO_SOURCE_INT & TO_PS_1_32);

Las funciones C-18 para timers especficos pueden tener apoyo de otro dispositivo por
ejemplo, argumentos en OpenTimer1, OpenTimer2, OpenTimer3, o funciones que
incluyan las interacciones con el mdulo CCP.

6.3 La funcin ReadTimerx

La funcin ReadTimerx permite leer el valor del timer especificado, el parmetro X


puede tomar valores representado algn TIMER disponible. Tal como ReadTimer0
hacia ReadTimer4.
EL prototipo de la funcin es el siguiente:

unsigned int ReadTimerX (void);

Las funciones toman datos del timer disponible:

Timer0: TMR0L, TMR0H

Timer1: TMR1L, TMR1H

Timer2: TMR2

Timer3: TMR3L, TMR3H

Timer4: TMR4

Cuando la funcin ReadTimerx es usada en el modo 8-bit por mdulo de tiempo que
puede ser configurado en el modo 16-bit (por ejemplo, timer0, timer1 y timer3) la
operacin de lectura no asegura que el byte de orden ms alto ser cero. en este caso,
el cdigo puede transmitir al resultado a char para un resultado correcto.

//Reading a 16-bit result from a 16-bit timer

//operating in 8-bit mode:

Unsingned int result;

Result = (unsingned char) ReadTimer0();

6.4 La funcin WriteTimerX

La funcin de escritura siempre escribe un valor en el registro del timer especificado. El


parmetro X puede tomar valores representando algn timer disponible. Tal como
writetimer0 hacia el writeTimer4. EL prototipo de la funcin es el siguiente:

Void writeTimerx (usingned int):

La funcin guarda los datos en el timer disponible.

Timer0: TMR0L, TMR0H

Timer1: TMR1L, TMR1H

Timer2: TMR2

Timer3: TMR3L, TMR3H

Timer4: TMR4

Por ejemplo:

WriteTimer0(32795);

Das könnte Ihnen auch gefallen