Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cal Culo Timer 0
Cal Culo Timer 0
• Para los PICS, podemos usar una expresión para calcular el valor de precarga
necesario:
Temporización=4.Tosc.valor_prescaler.valor_del_timer (1)
O equivalentemente:
El máximo valor para un timer de 8 bits es 0xFF +1, ya que se desborda al iniciar
nuevamente en cero, en decimal este valor es 256.
Para un timer de 16 bits el máximo valor al que puede llegar es 0xFFFF y se desborda en
0xFFFF+1, es decir 65536 en decimal.
Cálculo del valor de precarga en timer 0
Se quiere generar un tiempo de 500 ms, considerando que el oscilador principal funciona a una frecuencia de 4
MHz y un prescaler de 64, sustituyendo estos valores en la ecuación 3 tenemos:
Debido a que solo podemos usar valores enteros, el valor del timer es 7812, y notamos también que debemos de
usar el timer de 16 bits, pero recordemos que este valor tenemos que restarlo del valor máximo. Por lo que:
Valor_precarga=65536-7812=57724
Este valor tenemos que cargarlo en los registros TMR0H y TMR0L, por lo que debemos de convertir el valor a
hexadecimal, que es 0xE17C. Esto se hará con las instrucciones:
movlw 0xE1
movwf TMR0H,0
movlw 0x7c
movwf TMR0L,0 ;valor de precarga para 500ms a 4MHz