Autor Tema: mplab timer 16 bit  (Leído 2267 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado felipito

  • PIC10
  • *
  • Mensajes: 19
mplab timer 16 bit
« en: 28 de Septiembre de 2007, 00:39:03 »
Hola a todos, estoy trabajando con el 18f452, el timer1 y timer3 al hacer la simulaciòn en el mplab 7.62, de los registros TMR1H Y TMR1L, solo cuenta el TMR1L el otro registro no se incrementa, lo mismo ocurre con el timer3 que son contadores de 16 bit ambos, este mismo programa lo pruebo en el proteus y funciona correctamente el timer1 y timer3 que puede estar sucediendo con el mplab ?  gracias

Desconectado Vayadespiste

  • PIC12
  • **
  • Mensajes: 53
Re: mplab timer 16 bit
« Respuesta #1 en: 30 de Septiembre de 2007, 06:01:49 »
Hola, en realidad si que cuenta y para que se actualice en el mplab (en Watch) solo tienes que leer el valor del registro TMRxL y en ese momento se actualizará. Para mas info busca en el foro que creo recordar que el sr Maunix lo explicó mejor en un post.

Un saludo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: mplab timer 16 bit
« Respuesta #2 en: 04 de Octubre de 2007, 10:32:55 »
Hola, en realidad si que cuenta y para que se actualice en el mplab (en Watch) solo tienes que leer el valor del registro TMRxL y en ese momento se actualizará. Para mas info busca en el foro que creo recordar que el sr Maunix lo explicó mejor en un post.

Gracias por lo de señor pero me haces parecer más viejo de lo que soy  :D :D :D

Lo que sucede, tratando de ser breve y claro es que el MPSIM simula el comportamiento real del microcontrolador.  Cuando el timer está en modo 16bits se latchea el valor del timer de una sola vez en una sola instrucción.  Esto es la panacea para quien tuvo que lidiar con estas cosas, de ver cual actualiza primero si el HIGH, el LOW, que pasa si justo al actualizar el HIGH ocurre un revasamiento el LOW que ponga de nuevo al HIGH en uno...  En fin, todas estas cuestiones se resuelven mediante esta simple técnica

Al escribir un escribe 1ro el registro TMR1H y al escribir el TMR1L el hardware enviará los 16bits 'juntos' al TMR1, actualizándose entonces de un solo paso.

Para la lectura sucede lo mismo, el registro TMR1H que 'vemos' no será el real hasta que no hagamos una lectura, que se disparará 'leyendo' el TMR1L.

Cualquier duda por mi buena, no tan buena o mala explicación , volver a preguntar.  :) :)
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything