Visita mi canal de youtube

viernes, 7 de octubre de 2016

Timer 0 Pic16f877a

Un temporizador contador PIC es un registro que aumenta su valor en una unidad con cada 4 ciclos de reloj al cual se encuentre funcionando el microcontrolador PIC, si por ejemplo la frecuencia del oscilador es de 4MHz, entonces el ciclo de trabajo del microcontrolador PIC será de 1us, por lo que el temporizador contador PIC aumentará su valor de uno en uno en cada microsegundo; por ejemplo cuando el temporizador aumenta su valor en 10 unidades habrán transcurrido 10us.

El temporizador contador PIC es utilizado para obtener medidas de tiempos muy precisas, de ahí que se le da el nombre de temporizador, en este caso el temporizador contador PIC funciona con el reloj del sistema; pero también puede ser utilizado para realizar conteos, por lo que también se le llama contador, en este caso el temporizador contador PIC ya no aumenta su valor de uno en uno en cada ciclo de trabajo, sino que lo hará mediante el flanco de subida o el flanco de bajada de alguna señal que llegue a un pin del PIC, estos pines son identificados como TxCKI donde x es el número temporizador contador PIC que será usado como contador.

El temporizador contador PIC puede producir interrupciones.


Los microcontroladores PIC suelen tener varios temporizadores, como ejemplo se utilizará el PIC16F877A, el cual tiene 3 temporizadores que son llamados timer0, timer1 y timer2, el tiempo que tarda el temporizador contador PIC en aumentar su valor de unidad en unidad, se puede modificar por programa mediante el uso de prescalers, siendo de esta manera mucho mas provechosos; dependiendo del modelo de microcontrolador PIC utilizado, no todos los temporizadores pueden ser utilizados como temporizador y también como contador.

El registro en los microcontroladores PIC donde se guardan y realizan los aumentos de uno en uno del temporizador PIC, es llamado registro temporizador contador y es representado por TMRx, donde x es el número de temporizador contador PIC que puede ser 0, 1, 2, dependiendo del número de temporizadores con que cuente el microcontrolador PIC; el temporizador contador PIC puede ser de 8 bits o de 16 bits.

El temporizador contador PIC puede aumentar sus valores de 0 a 255 si es de 8 bits como el timer0, o de 0 a 65535 si es de 16 bits como el timer1, cada vez que estos registros alcanzan su máximo valor se reinician, volviendo a contar desde su valor mínimo hasta su máximo, ademas pueden ser programados para provocar interrupciones.

Para el uso del temporizador contador PIC se cuenta además con un grupo de registros mediante los cuales se puede lo puede configurar de acuerdo a las necesidades que se tengan.

El registro temporizador contador PIC TMR1 puede ser utilizado para tareas de comparación, captura y el registro TMR2 es utilizado para la obtención de señales de modulación de ancho de pulso o PWM, siendo para ello necesario el uso de otros registros.



Programa en CCS:
Timer 0:

#include <16f877a.h>
#fuses hs,nowdt
#use delay (clock=4M)
#use fast_io(b)
#int_timer0
void funcion_de_timer0()
{output_toggle(pin_b0);
set_timer0 (0x1b);
}


void main(){
setup_timer_0(Rtcc_internal|rtcc_div_2);
set_timer0 (0x1b);
ENABLE_INTERRUPTS(int_timer0);
ENABLE_INTERRUPTS(global);
while(1);


}





0 comentarios:

Publicar un comentario