Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porJuan Manuel Agüero Rojo Modificado hace 5 años
1
Cálculo del valor de precarga en 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) En donde Tosc es el valor del periodo del oscilador principal del microcontrolador De tal manera que: Valor_del_timer=Temporización/(4.Tosc.valor_prescaler) (2) Debemos de tomar en cuenta, que este valor obtenido en la expresión 2, tenemos que restarlo del máximo valor del timer). Valor_precarga=máximo valor del timer-valor_del_timer (3)
2
Cálculo del valor de precarga en timer 0
O equivalentemente: Valor_precarga= máximo valor del timer-Temporización/(4.Tosc.valor_prescaler) (4) 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 en decimal.
3
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: Valor_del_timer=500 ms/(4*0.25 μs*64) =500 ms/64 μs =7812.5 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= =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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.