Autor Tema: Detector de brujas (Solucionado)  (Leído 4478 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Detector de brujas (Solucionado)
« en: 07 de Diciembre de 2008, 19:18:47 »
 :D si asi como lo leen, necesito un detector de este tipo de fenómenos, para que me expliquen por que este código no me funciona en un PIC12F508....para empezar miremos el principio del código :

Código: [Seleccionar]
LIST p=12C508
include p12F508.inc
__config _WDT_OFF &  _IntRC_OSC &  _MCLRE_OFF & _CP_ON

RAM equ 0x07 ;Begining of RAM
Sync equ 4


cblock RAM

Phase
PDel0
PULSA ;The value got from the Table
Dimmer
VARIABLE1
PDel01
PDel11

endc             
                org 0x00
movwf OSCCAL ;calibrating the internal oscillator
GOTO            main

;aca ba subrutina de retardos y otras más

main          movlw     b'011000'      ;GPIO 0,1,2 Y 5 COMO SALIDAS; GPIO 3 Y 4 ENTRADAS

                 TRIS        GPIO
                 CLRF        GPIO
;EN ESTE PUNTO LUEGO DE HACER REVISIONES AL CÓDIGO DE POR QUE EL ERROR DECIDO
;SUMARLE UN LOOP INFINITO PARA COMPROBAR SI ES EL PIC O EL CODIGO DONDE TENGO EL PROBLEMA

                  BSF         GPIO,2
                  GOTO      $-1
;MAS LINEAS DE CODIGO HASTA EL END

Bueno explico ahora si el problema que tengo;estoy usando 4 salidas para activar unos triacs y estos controlan una figura hecha de bombillas para navidad; todo funciona bien menos el gpio 2, todos hacen su secuencia desde el gpio 0 hasta el gpio 5, al principio pensaba que era cuestion del driver o del triac, pero luego de revisar ese canal de salida, hasta conectándolo a los demás GPIO funciona muy bien el triac; bueno debe ser el PIC, lo cambio en varias veces y el mismo problema; reviso el codigo linea por linea y no encuentro nada malo, es más en el mismo punto donde decido hacer el loop infinito lo cambio por otros puertos por ejemplo :BSF   GPIO,0  y asi pruebo con el 1 y el 5 y enciende bien el triac, pero si pongo GPIO,2 simplemente no enciende; leo y releo el datasheet del PIC12F508 y no encuentro nada que relacione el GPIO 2 (dos) con una salida open colector...
En vista de esto busque un viejo código que tenía de otro secuenciador y programo el PÎC y esta vez si funciona bien y hace todas las secuencias sin problemas, y el GPIO 2 funciona muy bien...y ahora que!!  :shock: pero si hasta una de las secuencias de este viejo código las tiene el nuevo y mas sin embargo no funciona el GPIO 2........de verdad hasta hago lo del loop infinito con el codigo viejo y no funciona el GPIO 2, pero si lo quito funciona normal; cosa que no pasa con el nuevo codigo que simplemente no funciona.......................

Brujas o es que estoy viendolas donde no existe; como es posible que un codigo viejo funcione bien y hago uno nuevo muy similar y no me va ese puerto...acaso tengo un virus en mi PC? estoy maldito? o muy cansado? hasta probé con otro programador el winpic, ICPROG y lo mismo...alguien me puede explicar que significa esto?..

Mil gracias por la ayuda que me puedan dar...hasta recibo escobas voladoras  :D

Saludos
« Última modificación: 10 de Diciembre de 2008, 09:43:59 por marvicdigital »

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Detector de brujas
« Respuesta #1 en: 07 de Diciembre de 2008, 20:46:52 »
Núnca trabaje con este tipo de PIC.

Estas declarando que usas el PIC 12C508 y estás incluyendo al p12F508.inc
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Detector de brujas
« Respuesta #2 en: 07 de Diciembre de 2008, 21:22:49 »
LIST p=12C508
include p12F508.inc    ???

Cual es el pic que usas en realidad para ver el datasheet y darte una mano. Si es el PIC12C que yo recuerde es OTP osea se programa solo una vez, si lo programaste mal o quieres cambiar el código y reemplazarlo por otro no vas a poder, busca en todo caso un pic tipo Flash como el 12F629 por ejemplo.

Javicho.

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Re: Detector de brujas
« Respuesta #3 en: 08 de Diciembre de 2008, 11:47:26 »
Gracias, por las respuestas..si tuve este error ya que probé con el inc del PIC12C508 y del PIC12F508 debido al desespero  :?..bueno la diferencia entre ambos solo es que el C es OTP y el F es  con memoria flash...el caso es que ya mire eso pero sigo en las mismas.... :-) nada que funciona el puerto 2..

Agradezco el interés por ayudarme con este "fenómeno"

Saludos

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Detector de brujas
« Respuesta #4 en: 08 de Diciembre de 2008, 14:04:31 »
Sigues sin decir cual de los dos es el pic que usas.

Javicho

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Re: Detector de brujas
« Respuesta #5 en: 08 de Diciembre de 2008, 14:20:49 »
Sigues sin decir cual de los dos es el pic que usas.

Javicho

cierto..  :D el 12F508

Gracias

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Detector de brujas
« Respuesta #6 en: 08 de Diciembre de 2008, 15:35:40 »
Sigues sin decir cual de los dos es el pic que usas.

Javicho

cierto..  :D el 12F508

Gracias

Hasta que por fin te animaste a decirnos que pic usabas ...  todo un misterio, jaja. Bueno lo que sucede es que no estas configurando el registro OPTION y si te fijas en la pág.22 del datasheet veras que todos los bits de este registro inician en '1' luego de un Power on Reset y por tal motivo este pin inicia en modo T0CKI (Clock input to TMR0).

Escribe por ejemplo:
movlw    b'11000000'
OPTION

Con ello ya deberias poder trabajar con este pin sin problemas. Tambien deberias escribirle un valor al registro OSCCAL, en tu programa solo escribes ... movwf  OSCCAL pero cual es el valor en w que configura a este registro? bueno al menos yo lo hago asi.

Javicho.

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Re: Detector de brujas
« Respuesta #7 en: 09 de Diciembre de 2008, 18:50:23 »
Sigues sin decir cual de los dos es el pic que usas.

Javicho

cierto..  :D el 12F508

Gracias

Hasta que por fin te animaste a decirnos que pic usabas ...  todo un misterio, jaja. Bueno lo que sucede es que no estas configurando el registro OPTION y si te fijas en la pág.22 del datasheet veras que todos los bits de este registro inician en '1' luego de un Power on Reset y por tal motivo este pin inicia en modo T0CKI (Clock input to TMR0).

Escribe por ejemplo:
movlw    b'11000000'
OPTION

Con ello ya deberias poder trabajar con este pin sin problemas. Tambien deberias escribirle un valor al registro OSCCAL, en tu programa solo escribes ... movwf  OSCCAL pero cual es el valor en w que configura a este registro? bueno al menos yo lo hago asi.

Javicho.

De verdad muchas gracias por tu ayuda, es verdad todo tenía que ver con el registro option que este si estaba configurado en el otro código pero era para hacer la función de sleep, por eso era que funcionaba bien, a diferencia de este que no lo lleva...en fín otra cosa más que aprendo sobre todo de leer muy bien todo el datasheet registro por registro y saber que cambia en un reset o inicio..pido mil disculpas a todos por el mensaje de ayuda, pero en ese momento estaba muy bloqueado de probar tanto y tantas cosas que por eso me pareció un fenómeno paranormal  :D

Saludos y de nueov mil gracias a todos y a tí Javicho

jacrmr

  • Visitante
Re: Detector de brujas
« Respuesta #8 en: 09 de Diciembre de 2008, 19:02:37 »
Qué bueno que lo solucionaste, y en un tiempo corto, aunque difiero mucho de tu opinión. En mi punto de vista no hay nada paranormal en esto. El 99.9999% de los errores no son del PCB, ni del micro, ni de nada. Por lo general son de nosotros mismos o de un descuido  que cometimos.