En éste post mostraré un pequeño ejemplo de como configurar el timer 1 (16 bits) para tener una gran variedad de bases de tiempo, las cuales pueden ser usadas para generar retardos, pulsos a una determinada frecuencia, etc.
Sin mas preámbulo pasaré a mostrar las macros usadas.
A ésta macro solamente hay que indicarle el tiempo con el cual se quiere configurar el timer (en ms).
El pre-escaler del timer se puede cambiar modificando CSN.
MOVIF pone un inmediato en la RAM, ya sea en el espacio de datos o en el espacio de registro especiales.
El programa principal es el siguiente:
Esta parte configura dos pines como salidas (PB0 y PB1), también configura el TIMER 1 a 100ms, configura el pre-escaler del timer y por ultimo habilita la interrupción por desborde u overflow.
Cada vez que el timer se desborda se conmutará los pines PB0 y PB1, y también hay que volver a configurar el timer.
En el siguiente video se muestra el funcionamiento del programa.