Autor Tema: Tmr1 y Tmr2  (Leído 7275 veces)

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

Desconectado sergito2269

  • PIC10
  • *
  • Mensajes: 22
Tmr1 y Tmr2
« en: 11 de Diciembre de 2007, 07:04:08 »
Hola amigos,es mi primera intervencion en el foro,quiero decir que aprendi mucho leyendo los temas tratados y aprovecho para felicitar a Jorge Cano y su equipo por su creacion.
La duda es la siguiente:En el Niple v5 como hago para setear tiempos tanto en el Tmr1 como en el Tmr2 ?No hay problemas para el Tmr0 , pero no logro conseguir una interrupcion con estos taimers.La otra duda que me surge es con respecto al Wdtmr,reemplazando los nop por CLRWDT (editando el ASM) pedo habilitarlo(al WDT)Desde ya muchas gracias.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Tmr1 y Tmr2
« Respuesta #1 en: 11 de Diciembre de 2007, 07:52:29 »
Si mal no recuerdo primero dentro del programa principal tienes que configurar los timer(lo que quieras habilitar), despues tienes que configurar las interrupciones de los timer que quieras utilizar.

Mas tarde en el arbol (de la derecha) tienes que ir a crear una nueva subrutina de interrupcion. Se te crea un entorno nuevo y alli puedes crear tu programa de tratamiento de la interrupcion.

De esta manera cuando se produzca la interupcion, el programa irá automaticamente a esa nueva subrutina. Pero ten cuidado que aunque el programa deshabilita nuevas interrupciones, al terminar tu tratamiento de interrupcion tienes que volver a habilitar las interrrupciones.

Espeo que esto te sirva de ayuda, si necesitas algo más especifico dinoslo.

saludos

Fermin
Todos los días se aprende algo nuevo.

Desconectado sergito2269

  • PIC10
  • *
  • Mensajes: 22
Re: Tmr1 y Tmr2
« Respuesta #2 en: 11 de Diciembre de 2007, 17:33:41 »
Gracias Fer taca por reponder con prontitud,te comento,lo que decis es correcto,lo que no entiendo es como se configuran,en el tmr0 se le asigna un valor al registro y en la subrutina se encadenan esos registros para conseguir el tiempo deseado.Mi duda es,por ej en el tmr1 hay ,si no me equivoco 3 registros,a cual le asigno valor?Estaria bueno un ejemplo,digamos para 1 segundo con el tmr1 y otro con el tmr2,alguno lo tiene?
Desde ya muchas gracias desde argentina para todos!!!!!!!!!!!!!!!!

Desconectado sergito2269

  • PIC10
  • *
  • Mensajes: 22
Re: Tmr1 y Tmr2
« Respuesta #3 en: 11 de Diciembre de 2007, 17:34:57 »
Me olvidaba!!!!!estoy trabajando con el 16f628
GRACIAS!!!!!

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Tmr1 y Tmr2
« Respuesta #4 en: 12 de Diciembre de 2007, 06:55:24 »
Creo recordar que tengo un ejemplo del mismo. Esta noche te lo pongo.

De todas formas me parece que el sistema de asignacion de valores es el mismo. Introduces los valores en el par de registro TMR1h y TMR1L el valor asignado para el calculo, en este caso de 1sg. Luego tienes que ir activando las respectivas casillas de las configuraciones de habilitacion de las interrupciones.

Para el Tmr2 el sistema es similar.

De todas formas  y como decia al principio, busco el ejemplo, lo tengo en otro PC y ya cuelgo el ejemplo.
Fermin

Todos los días se aprende algo nuevo.

Desconectado sergito2269

  • PIC10
  • *
  • Mensajes: 22
Re: Tmr1 y Tmr2
« Respuesta #5 en: 12 de Diciembre de 2007, 07:19:23 »
Gracias amigo!!!!!!!
Lo espero,saaludos!!!!!

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Tmr1 y Tmr2
« Respuesta #6 en: 13 de Diciembre de 2007, 03:20:55 »
Lo prometido es deuda, os adjunto un fichero que utiliza la configuracion de la interrupcion del TMR1. Y aquí va la explicacion:

1º Cargar los registros tmr1-h y tmr1L (por ejemplo con el valor de 62500 se obtiene un retardo de 0,5segundos) Configurar el TMR1 con su predivisor y con reloj interno. Si es el TMR2 configurar el pre y el postdivisor.
   
Está en el árbol de herramientas a la derecha y seleccionar :Temporizadores-temporizadores internos-tmr1-config tmr1.

2º Habilitar las interrupciones, habilitar interrupciones de periféricos, habilitar ininterrupciones por TMR1.

Está en el árbol de herramientas a la derecha y seleccionar :Interrupciones-activar/desactivar

3º Activar el TMR1 si en el paso 1 se dejo desactivado.

Está en el árbol de herramientas a la derecha y seleccionar :Temporizadores-temporizadores internos-tmr1-activar


4º Insertar interrupción

Está en el árbol de herramientas a la derecha y seleccionar: Insertar ininterrupción-tmr1

5º Aquí se escribe la rutina de tratamiento de interrupción. Si es un contador lo primero que se debe de realizar es desactivarlo para que no siga contando y antes de salir si se quiere que vuelva a funcionar la interrupción hay que volver a recargar los registros tmr1h y tmr1L (por ejemplo con el valor de 62500 se obstine un retardo de 0,5segundos), después a activar otra vez el tmr1.
El calculo del tiempo viene dado por:  T = Valor a cargar en TMR1(TMRH+TMTL) x predivisor del TMR1 x F.oscilación x 4


Espero que os sirva de ayuda y se se necesita cualquier otra explicacion añadida decirmelo
Saludos
Fermin




Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Tmr1 y Tmr2
« Respuesta #7 en: 13 de Diciembre de 2007, 03:26:29 »
Se me olvidó indicar que el ejemplo está realizado con Niple 5.2 e incluye:

- el diagrama de flijo creado para el programa con Niple
- el fichero en asm generado por Niple
- el hexadecimal creado por Niple
- El *.cod creado por Nile para la simulacion
- El fichero *.lis creado por Niple

El ejemplo está realizado sobre un micro PIC16F628 y con oscilador interno. :P :P :P

Fermin
Todos los días se aprende algo nuevo.

Desconectado sergito2269

  • PIC10
  • *
  • Mensajes: 22
Re: Tmr1 y Tmr2
« Respuesta #8 en: 13 de Diciembre de 2007, 23:31:45 »
Millones de gracias Fermin :-/ :-/ :-/
Esta misma noche lo pruebo
Saludos!!!!!!!!!!

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Tmr1 y Tmr2
« Respuesta #9 en: 14 de Diciembre de 2007, 03:15:26 »
De nada amigo, espero que te sirva

Fermin
Todos los días se aprende algo nuevo.

Desconectado patoaparato

  • PIC10
  • *
  • Mensajes: 16
Re: Tmr1 y Tmr2
« Respuesta #10 en: 02 de Junio de 2008, 19:10:47 »
mmm... no se porque he tenido problemas para activar la interrupciones por timer, he intentado todo en verdad dudo que el error sea mio  :(
en verdad te resulto el programa???? podrias compartir algun ejemplo ?

saludos

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Tmr1 y Tmr2
« Respuesta #11 en: 03 de Junio de 2008, 01:59:28 »
En que parte te da problemas?

Fermin
Todos los días se aprende algo nuevo.

Desconectado patoaparato

  • PIC10
  • *
  • Mensajes: 16
Re: Tmr1 y Tmr2
« Respuesta #12 en: 06 de Junio de 2008, 01:17:47 »
por ejemplo cuando intento crear la subrutina de int por timer sale el mensaje "falta activar la interrupcion por TMR0", pasa tambien con los otros timer (no hay que ser muy genio tampoco para insertar una interrupcion, no??)
lo mas curioso es que he bajado unos ejemplos que usan la int por timer, trato de copiar el procedimiento pero tampoco funciona
tal vez puede ser la version, tengo la v5.2, intento re-editar el mismo ejemplo del tiemer agregando yo la interrupcion pero no pasa naa

otro error feo pasa cuando activo las otras int del tmr1 y 2, cuando selecciono la casilla activar int por perifericos (tmr1) como que se desplaza la caja de texto q dice activar/desactivar hacia otro periferico :x

confieso q tengo una copia del programa q encontre por ahi, tenia pensado comprarlo por lo genial q encontraba este software ya que yo no tengo tanto tiempo como para dedicarle dias enteros a una programa, pero con estas fallas estoy duando seriamente en adquirirlo espero q logren arreglarlo

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Tmr1 y Tmr2
« Respuesta #13 en: 06 de Junio de 2008, 05:45:44 »
Hola amigo:

Para configurar las interrupciones debes de seguir los pasos que indiqué en un post anterior. La verdad esq ue funciona muy bien.

Pero....

A mi tambien me pasó algo parecido y eso que tenia la version de pago :shock:
Me dirige al creador del programa y me envio la correspondiente correccion del programa y funciona perfectamente. :-/ :mrgreen:

Por lo que entiendo, debes de tener una version de evaluacion y si es asi, ya te digo que tienen limitaciones que las versiones originales llevan activadas. Te recomiendo si estas interesado en el programa que lo adquieras yn este tipo de problemas quedará solucionado.


Fermin
Todos los días se aprende algo nuevo.

Desconectado Mike79

  • PIC12
  • **
  • Mensajes: 72
    • Mike79
Re: Tmr1 y Tmr2
« Respuesta #14 en: 07 de Junio de 2008, 21:52:10 »
Ese error estaba presente en niple versión 5.2

Esta corregido en la versión 5.2 rev. 3 o superior.
Y no esta presente en las versiones de Niple 4 y Niple3

Saludos!
-
Mike79