Autor Tema: NO FUNCIONA TIMER 2 PIC16F877  (Leído 3546 veces)

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

Desconectado Kedutpic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 219
    • Microelectronica
NO FUNCIONA TIMER 2 PIC16F877
« en: 27 de Julio de 2006, 15:21:18 »
 :) SALUDOS AMIGOS DE FORO LES CUENTO, ESTOY COMENZANDO A PROGRAMAR CON EL PIC16F877 Y TRATO DE SACAR POR EL PUERTO B UN FLASH DE LUCES DE 0.25 SEG PERO CON EL TIMER 2 LO QUE ME SUCEDE ES QUE ME SALE SOLO UNA VES SE PRENDE Y LUEGO SE APAGA PERO NUNCA MAS VUELVE A ENCENDERSE :( :(  SI ALGUIEN PUEDE AYUDARME LES ESTARIA AGRADECIDO   :-/ AQUI LES DEJO EL  PROGRAMA EN ASM PARA QUE TENGANUNA IDEA CLARA DE LO QUE ESOTY DICIENDO OK MANES GRACIAS .
   
                                LIST P=16F877A
      INCLUDE <P16F877A.INC>

CUENTA   EQU 0X30

      ORG 0X2007
      DW 0X3F7A
      ORG 0X0
      BSF STATUS,RP0
      CLRF TRISB
      BCF STATUS,RP0
      MOVLW B'01101011'
      MOVWF T2CON
      MOVLW .224
      MOVWF PR2
      MOVLW 0X0
A1      MOVWF PORTB
      CALL DELAY
      COMF PORTB,F
      GOTO A1
      
DELAY
      MOVLW .5
      MOVWF CUENTA
      BSF T2CON,TMR2ON
A2      BTFSS PIR2,TMR2IF
      GOTO $-1
      BCF PIR2,TMR2IF
      DECFSZ CUENTA,F
      GOTO A2
      RETURN       
      END
Actel  -  VHDL un nuevo mundo por descubrir :D
Grupo de Microelectronica - CIDI - UTP
Visitanos en : http://ue.accesus.com

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #1 en: 27 de Julio de 2006, 16:25:42 »
Hola curio, te paso algunas de mis sugerencias.

Código: ASM
  1. A1              MOVWF PORTB
  2.                 CALL DELAY
  3.                 COMF PORTB,F
  4.                 GOTO A1

Fíjate, aquí tu complementas el puerto B, pero luego haces un GOTO A1.  En esa línea, tu mueves el contenido del WREG al Puerto B, sobreescribiendo lo que habías puesto antes en el PUERTOB.

Mueve el label A1, una línea más abajo, puntualmente en "CALL DELAY"

      
Código: ASM
  1. DELAY
  2.                 MOVLW .5
  3.                 MOVWF CUENTA
  4.                 BSF T2CON,TMR2ON
  5. A2              BTFSS PIR2,TMR2IF
  6.                 GOTO $-1
  7.                 BCF PIR2,TMR2IF
  8.                 DECFSZ CUENTA,F
  9.                 GOTO A2
  10.                 RETURN         
  11.                 END

El TMR2IF, no está en el PIR2, sino en el PIR1.   Cambia el código donde lo tengas por PIR1,TMR2IF


Espero te sirva de ayuda.

Saludos
- 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)

Desconectado Kedutpic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 219
    • Microelectronica
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #2 en: 27 de Julio de 2006, 16:35:52 »
ok gracias voy a probrarlo .gracias  :P
Actel  -  VHDL un nuevo mundo por descubrir :D
Grupo de Microelectronica - CIDI - UTP
Visitanos en : http://ue.accesus.com

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #3 en: 27 de Julio de 2006, 17:06:40 »
Hola Curio

Además de lo que te ha dicho Maunix, el registro de período PR2 está en el banco 1, por lo que el valor 224 lo estás cargado en T2CON.

En la configuración del T2CON (MOVLW B'01101011') el bit2 está a 0 por lo que deshabilitas el TMR2, así que debes cambiarlo por 1.
« Última modificación: 27 de Julio de 2006, 17:12:35 por Manofwar »
Saludos desde Almería, España

Desconectado Kedutpic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 219
    • Microelectronica
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #4 en: 29 de Julio de 2006, 22:58:12 »
 :) hola amigos si ya lo probre ta chevre mi juego de luces pero no se si sera mi programa cosa que es seguro pero las luces no tienen y}un tiempo uniforme y hasta hubo un momento que se paro las luces :(  estoy tratando de solucionarlo creo que el problema esta en el delay tengo modificarlo de tal manera que me pueda dar un flash uniforme ..ah con respecto a TMRON si leistes mi programa recien lo habilito cuando hago el delay, esto trae algun problema ??? eso quisiera saber ok manes seguire intentando ... ;) ah y que viva el foro ta locazo  :-/
Actel  -  VHDL un nuevo mundo por descubrir :D
Grupo de Microelectronica - CIDI - UTP
Visitanos en : http://ue.accesus.com

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #5 en: 30 de Julio de 2006, 12:39:50 »
:) hola amigos si ya lo probre ta chevre mi juego de luces pero no se si sera mi programa cosa que es seguro pero las luces no tienen y}un tiempo uniforme y hasta hubo un momento que se paro las luces :(  estoy tratando de solucionarlo creo que el problema esta en el delay tengo modificarlo de tal manera que me pueda dar un flash uniforme ..ah con respecto a TMRON si leistes mi programa recien lo habilito cuando hago el delay, esto trae algun problema ??? eso quisiera saber ok manes seguire intentando ... ;) ah y que viva el foro ta locazo  :-/

No, no está mal que lo actives al ingresar a la rutina de delay, pero es innecesario.  Siempre estará activándose siendo que después de la primera vez ya quedó activo.

Siendo un loop interminable esto del parpadeo, yo lo setearía antes de ingresar a la rutina de delay porque de todas formas,  lo que tu haces es verificar el estado del fllag.

Es raro eso que dices que te parpadean a ratios diferentes, eso puede ser o porque tienes el watchdog activado o porque no has observado lo que te comenté de que estás pisando el contenido del PORTB con el wreg.

Si quieres, vuelve a postear tu software 'completo' asi le echamos un vistazo.

Saludos
- 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)

Desconectado Kedutpic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 219
    • Microelectronica
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #6 en: 30 de Julio de 2006, 14:25:48 »
ok men voy a pasarte el programa pero antes lo voy a chequear minuciosamente y te aviso ok . :o
Actel  -  VHDL un nuevo mundo por descubrir :D
Grupo de Microelectronica - CIDI - UTP
Visitanos en : http://ue.accesus.com

Desconectado reydtodo

  • PIC10
  • *
  • Mensajes: 1
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #7 en: 31 de Julio de 2006, 23:01:50 »
ERES UN LOL COMO NO PUEDES HACER ALGO TAN SIMPLE, -.-! TE PASASTES AMIGO POLLO

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #8 en: 01 de Agosto de 2006, 08:19:06 »
ERES UN LOL COMO NO PUEDES HACER ALGO TAN SIMPLE, -.-! TE PASASTES AMIGO POLLO

No veo el motivo de la burla...  :x :x

Siempre se comienza por las cosas simples y con innumerables dudas, algunas de las cuales tienen respuestas simples y otras no.



- 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)

Desconectado Kedutpic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 219
    • Microelectronica
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #9 en: 20 de Agosto de 2006, 14:36:21 »
 :o :o :o :o
SALIO  :-/ GRACIAS MANES YA TENGO EL PROGRAMA  CORREGIDO
AHORA SI ESTA CHEVRE ELJUEGO DE LUCES GRACIAS AQUI LES DEJO EL PROGRAMA POR SI ALGUIEN QUE TAMBIEN ESTA COMENZANDO A PROGRAMAR COMO YO LE SIRVA.
 
 LIST P=16F877A
  INCLUDE <P16F877A.INC>

CUENTA   EQU 0X30

      ORG 0X2007
      DW 0X3F7A
      ORG 0X0
      BSF STATUS,RP0
      CLRF TRISB
      MOVLW .222
      MOVWF PR2
      BCF STATUS,RP0
      MOVLW B'01101011'
      MOVWF T2CON
      MOVLW 0X0
      MOVWF PORTB
A1  CALL DELAY
      COMF PORTB,F
      GOTO A1
     
DELAY
      MOVLW .5
      MOVWF CUENTA
      BSF T2CON,TMR2ON
A2  BTFSS PIR1,TMR2IF
      GOTO $-1
      BCF PIR1,TMR2IF
      DECFSZ CUENTA,F
      GOTO A2
      RETURN       
      END
Actel  -  VHDL un nuevo mundo por descubrir :D
Grupo de Microelectronica - CIDI - UTP
Visitanos en : http://ue.accesus.com

Desconectado KARO009

  • PIC10
  • *
  • Mensajes: 1
Re: NO FUNCIONA TIMER 2 PIC16F877
« Respuesta #10 en: 06 de Mayo de 2012, 01:10:02 »
hola disculpen pero soy nueva en este foro de programación  si alguien me puede ayudar con un programa con el pic16f877 con el tmr2 (un contador de o-9) es urgente gracias en asm porfa