5. Ejemplos prácticos
Ejemplo 1: Elegir Vtmr0 para generar un retraso de 1.5 ms usando un cristal del 10 Mhz.
Vtmr0 = 2n
– ((Retrasotmr0 * Fint) / prescaler)
Vtmr0 = 256 – ((1.5 ms * (10 Mhz / 4)) / prescaler)
Vtmr0 = 256 – (3750 / prescaler)
Sólo resta dar valores al prescaler hasta obtener un valor adecuado, por ejemplo:
si prescaler = 256, Vtmr0 = 242 (redondeado) Ö Retraso = 400 ns * 256 * (256-242) = 1,4336 ms
si prescaler = 128, Vtmr0 = 227 (redondeado) Ö Retraso = 400 ns * 128 * (256-227) = 1,4848 ms
si prescaler = 64, Vtmr0 = 197 (redondeado) Ö Retraso = 400 ns * 64 * (256-197) = 1,5104 ms
si prescaler = 32, Vtmr0 = 139 (redondeado) Ö Retraso = 400 ns * 32 * (256-139) = 1,4976 ms
etc.
Estos valores deben entenderse como una guía y pueden ser aumentados o disminuidos
sin mas que variar al valor contenido de TMR0
, para obtener mayor o menor retraso.
Así podemos escoger prescaler = 64 y Vtmr0 = 197, dándonos un exceso de 0,01 ms.