Programa que descompone microcontroladores

Hola a todos
Me esta pasando algo muy raro, quiero programar un pic16f819 con un programa que hice en basic el cual usa interrupciones. Lo extraño es que si quemo este programa en especifico en un pic este se daña y ya no lo reconoce el programador nunca mas. Pero si quemo cualquier otro programa todo funciona perfectamente bien. ¿raro no?:unsure: Ya dañe como 6 pic16f819 y no descubro que pasa, haber si ustedes tienen alguna idea.
De antemano gracias



Por cierto el programa funciona simulado
 

Adjuntos

  • reloj propeller.txt
    5.1 KB · Visitas: 23
Última edición:
Hola gracias por tu respuesta.
No es que el circuito no haga lo que quiero sino que cuando grabo el programa con cualquier programador, la verificacion sale mal y ya no puedo volver a grabar este pic16f819 porque ya no lo reconoce este programador o cualquier otro, pero si grabo otro programa diferente en otro pic16f819, porque este ya quedo dañado, se programa sin problemas la verificacion sale bien y puedo grabar este pic cuantas veces quiera, esto solo ocurre con este programa en especifico y ya no puedo hacer nada con los pics dañados.
Quisiera saber si no hay alguna instruccion que no tenga que poner o algun registro que se modifique por alguna razon.
 
Ya probe con 4 programadores diferentes un de ellos es de hecho serial en un windows xp, i pasa exactamente lo mismo el problema es este programa que cuando entra en un pic lo desconfigura algo
 
Lo más probable es que los "fuses" no los estás configurando y el oscilador interno deja de funcionar. Un programa dificilmente por si solo destruira un hardware, pero si puedes tener una configuración errónea que provoque que el pic deje de operar o incluso eliminar la comunicación.

Repito, la pista está sobre la configuración inicial de el oscilador y comunicación del microcontrolador.
 
intentaste borrarlos?
te paso un truco
pon en el programador un pic igual pero que si funcione ,encima de ese pic colocale el pic que no funciona ,si que queden en paralelo todas las patitas,luego intenta borra el pic,si todo marcha bien el pic se queda en blanco y se recupera,
el pic bueno no le pasa nada si no quiere borrar, si se borra ,los dos pic quedan borrados en blanco listos para grabarlos nuevamente.



una foto de como encimar los dos pic,
2012-10-18-234604.jpg

para grabar si quieres los puedes dejar así y grabas los dos pic al mismo tiempo
 
Última edición:
bueno ,no se estropean los pic por un mal programa,,de todos los que yo estropee siempre fue que los puse mal,al revés en la placa o arme mal la placa para el pic
aunque me a pasado que no los podía borrar,pero si los podía leer y funcionaban bien con el programa que tenían,
con los dos pic encimados,uno que si funcione y el otro que no funcione,los reconoce al menos?
 
¿no saben si estoy usando una palabra reservada en una variable o que nunca tengo que poner 10010100 en intcon o algo asi que pudiera causar esto?

si los puse uno sobre el otro y si los reconoce y si los puedo borrar pero cuando pongo el dañado no lo reconoce



Yo tambien soy eceptico de que un programa dañe un pic pero ya he programado cientos de pics y nunca me habia pasado esto, ademas de que ya dañe asi 8 pics. es demasiado dinero tirado a la basura, lo bueno es que 5 eran usados pero funcionaban.
 
Última edición:
Lo más probable es que los "fuses" no los estás configurando y el oscilador interno deja de funcionar. Un programa dificilmente por si solo destruira un hardware, pero si puedes tener una configuración errónea que provoque que el pic deje de operar o incluso eliminar la comunicación.

Repito, la pista está sobre la configuración inicial de el oscilador y comunicación del microcontrolador.

Estas confundiendo un pic con caracteristicas de avr.

No pierdes comunicacion con el pic para programarlo ya que no hay bit de configuracion para inhabilitar dicho modulo.

El oscilador interno no controla la señal de clock cuando se inicia protocolo de comunicación.

Pueden ser las siguientes fallas:

1.- Tu programador no soporta la configuracion oscilador interno + no master clear porque no tiene control de VCC entonces tu pic empieza a trabajar antes de que entre en modo programacion y las lineas de data y clock colisionan.

2.-Al programar tu pic puede que hallas habilitado el bit de configuracion LVP , lo que obliga a tener la terminal PGM en low para habilitar la programación nuevamente.

Generalmente pasa esto cuando usas algún programador generico que tiene siempre en alto la terminal VCC y usas MCLR como entrada digital.

-¿Que programador usas ?
-¿Que programa usas con el programador?

No se dañan con los programas.
 
Última edición:
Esos pic... usan cristal externo o lo trabajas con el circuito rc interno?

Por cierto, se que no se llaman "fuses" en los pic, pero realmente no me metí mucho con ellos, efectivamente trabaje mas con AVR y DSPic, que son muy diferentes al PIC común.
 
uso el rc interno y la diferencia entre este programa y los que funcinan bien es que este usa interrupciones mas especificamente modifico estos registros:
TRISA=%10111111
TRISB=%00000000
ADCON1=%00000110
OPTION_REG=%10000000
OSCCON=%01100100
INTCON=%11000000
T1CON=%00111101
PIE1=%00000001
TMR1H=%00001011
TMR1L=%11011011

y uso estas variables:
HORA var byte
MINUTO var BYTE
SEGUNDO var BYTE
PULSO var WORD
MED VAR BYTE
TIEMPO VAR WORD

no se si algo sea prohibido, segun yo no



Yo uso el master prog con el master-prog+



Estas confundiendo un pic con caracteristicas de avr.

No pierdes comunicacion con el pic para programarlo ya que no hay bit de configuracion para inhabilitar dicho modulo.

El oscilador interno no controla la señal de clock cuando se inicia protocolo de comunicación.

Pueden ser las siguientes fallas:

1.- Tu programador no soporta la configuracion oscilador interno + no master clear porque no tiene control de VCC entonces tu pic empieza a trabajar antes de que entre en modo programacion y las lineas de data y clock colisionan.

2.-Al programar tu pic puede que hallas habilitado el bit de configuracion LVP , lo que obliga a tener la terminal PGM en low para habilitar la programación nuevamente.

Generalmente pasa esto cuando usas algún programador generico que tiene siempre en alto la terminal VCC y usas MCLR como entrada digital.

-¿Que programador usas ?
-¿Que programa usas con el programador?

No se dañan con los programas.

se que teoricamente no deveria de pasar nada pero ¿por que el programador si programa bien otros programas? y ¿por que ya nunca mas vuelve a reconoces ese pic si le programo este programa?



El pic16f819 si tiene reloj interno y el master prog en un buen programador según yo
 
Última edición:
Atrás
Arriba