• Domingo 22 de Diciembre de 2024, 13:49

Autor Tema:  Rutina Tiempo  (Leído 2156 veces)

iova

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Rutina Tiempo
« en: Jueves 26 de Octubre de 2006, 02:18 »
0
El tema es el sig : debo hacer unas rutinas de tiempo con el fin de esperar nada mas...o sea no necesito que se active una interrupcion lugo de que TMR0 llegue a 256. Las rutinas que encontre son las siguientes:

Wait100mSec                                        
         MOVLW  D'0006'      ; 6 x 16.384msec = 98.304msec
         MOVWF  COUNT
         GOTO   WaitLoop
500mSeg
         MOVLW  D'0030'      ; 30 x 16.384msec = 491.52msec
         MOVWF  COUNT
WaitLoop
         MOVLW  D'0192'      ; 256-64=192,  64 x 256usec = 16.384msec
         MOVWF  TMR0         ; Aca que ocurre?TMR0 cuenta hasta 256 y sigue la instruccion siguiente???No hace falta mas nada??
Wait16
         CLRWDT
         MOVF   TMR0, W
         BNZ    Wait16            ; esta instruccion BNZ que es???Que hace???

         DECFSZ COUNT, F
         GOTO   WaitLoop
         RETLW  0


Estoy tratando de adaptar un codigo de Receptor de X-10 para hacer un Tx y Rx de protocolo X10 para un ventilador de techo (luego preguntare bien tema del dimmer jeje). Necesito rutinas de espera de tiempos de 500mSeg, 100mSeg y 250uSeg (valores cercanos sirven) usare XT de 4 Mhz.

Desde ya gracias!!!!!!!!!(En cuanto termine Rx subire el Trabajo asi me dan una idea de como implementar el Tx )

iova

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Rutina Tiempo
« Respuesta #1 en: Jueves 26 de Octubre de 2006, 06:27 »
0
O sea, mi idea es perder tiempo ...nada mas...no necesito que me avise algo por eso pregunto si debo configurar INTCON y T0IE tambien o lo puedo dejar asi como esta ahi y tendre ese retardo y luego seguira con la proxima instruccion....o conviene hacerlo de otra forma las rutinas de tiempo muerto?????

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Rutina Tiempo
« Respuesta #2 en: Jueves 26 de Octubre de 2006, 19:48 »
0
Esta es una rutina muy sencilla que yo uso para esperar un determinado tiempo.
En cuanto al tiempo de espera es muy facil de manejar, debes calularlo de acuerdo al cristal que uses y a los ciclos de reloj de cada instrucción que uses en tu rutina de espera.

Código: Text
  1.  
  2. TIEMPO   CLRF CONT1
  3.    MOVLW 20H
  4.    MOVWF CONT2
  5.  
  6. RESTA1   DECFSZ  CONT1,F
  7.    GOTO  RESTA1
  8.    DECFSZ  CONT2,F
  9.    GOTO  RESTA1
  10.    RETURN
  11. END
  12.  
  13.  

 :hola:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

iova

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Rutina Tiempo
« Respuesta #3 en: Viernes 27 de Octubre de 2006, 06:47 »
0
Gracias por la respuesta...he intentado a tu manera de conseguir los tiempos muertos de 16384 mseg, 100mseg y 500mseg pero  cdo lo corro en un simulador la cuenta me da cualquier cosa.........(estoy usando crystal de 4 mhz)..seguire probando y buscando...gracias!!!!

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Rutina Tiempo
« Respuesta #4 en: Martes 31 de Octubre de 2006, 18:32 »
0
Cita de: "iova"
Gracias por la respuesta...he intentado a tu manera de conseguir los tiempos muertos de 16384 mseg, 100mseg y 500mseg pero  cdo lo corro en un simulador la cuenta me da cualquier cosa.........(estoy usando crystal de 4 mhz)..seguire probando y buscando...gracias!!!!
Es lógico que te suceda, pero los simuladores siempre van a tardar más tiempo por cada instrucción que el circuito una vez montado (Por lo menos los que yo conozco). Yo sostengo lo que te dije y te recomiendo que lo pruebes aunque sea en un protoboard.

Saludos  :hola:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.