# PIC16F877A se borra cuando lo conecto al circuito



## analfabeta (Nov 23, 2008)

Saludos, estoy haciendo un pequeño proyecto con el pic 16f877a, el programa lo hice con el pic simulator IDE, el diagrama para las conexiones es este 
	

	
	
		
		

		
			





Además de lo que aparece en el diagrama, el puerto B tiene la función de sacar el número en binario, solo prende y apaga leds, el puerto C esta habilitado como entrada, con push buttons se selecciona un nivel deseado, el oscilador es de 4MHz y los capacitores que ocupe son de 47n

Mis dudas y mi problema es el siguiente: primero lo hice en protoboard, funcionó bien, luego lo hice en tablilla y ya no funcionó, meti el pic al grabador y el programa ya no estaba me aparecia FFFF en vez del todo el programa, volvi a grabar el pic, y realize de nueva cuenta el diagrama en protoboard, pero ya no funcionó, el pic nuevamente se "borró" y solo aparecen FFFF cuando lo leo

El grabador esta bien, pues ya una vez funcionó el programa, no se si el oscilador o los capacitores tengan algo que ver, o si hay alguna conexión que provoque que el pic se "borre"

el programa lo simule con el pic simulator ide, y la primera vez que lo realice en proto funciono bien, igual que la simulación


----------



## Leon Elec (Nov 23, 2008)

Prueba borrar el integrado antes de grabarle el programa otra vez. Verifica que este quedó grabado. Una vez echo esto, pásalo al circuito, pero antes, chequea las conexiónes y por sobre todo, desabilitá la opción LVP. Este último, hace entrar al PIC en estado de grabación con vaja tensión.


----------



## analfabeta (Nov 23, 2008)

¿como desactivo esta opción? soy nuevo en esto de los pics

Aduve indagando un poco en la red, y dice que esto se puede hacer con el IC-PROG y este LVP esta en el pin RB3, desconozco como hacer esta modificación en el HEX ya que el programa lo hice en BASIC y no en assembler o C


----------



## enigmaelectronica (Dic 8, 2009)

quitale la instruccion siguiente del codigo

*FORMAT PIC:/Q*

jajajajajajaa son bromas pasame el codigo y veremos que tal


----------



## tirlano (Ene 20, 2010)

Hola a todos. Tengo un problema parecido, estoy usando el programador jdm por puerto serial con el programador winpic800; después de muchas dificultades me dió ok al grabarlo y verificarlo, pero cuando pongo el pic en el circuito no anda, y al volver a ponerlo en el programador me aparece la memoria de programa vacía (FFFF). Me pasó con el 16f84a y el 16f628a. Por lo que pude averigüar el problema parece ser que al verificar o hacer cualquier cosa luego de grabar el micro con este programa y otros similares como el icprog, este se borra!!! Hoy voy a probar grabarlo y sacarlo enseguida del programador a ver que pasa, luego les cuento!
Saludos!


----------



## Rmontero10 (Ene 31, 2021)

Hola yo tengo el mismo problema con el pi 16f877a, lo monto en el circuito de comprobación de un cubo de leds 5x5x5, a veces trabaja bien pero se borra, yo lo grabó con pic-605, lo reviso 7 está borrado el programa, no se que es lo que ocaciona esto, si alguno me pudiera ayudar 👍


Leon Elec dijo:


> Prueba borrar el integrado antes de grabarle el programa otra vez. Verifica que este quedó grabado. Una vez echo esto, pásalo al circuito, pero antes, chequea las conexiónes y por sobre todo, desabilitá la opción LVP. Este último, hace entrar al PIC en estado de grabación con vaja tensión.


Gracias, si cuando lo grabó de nuevo antes lo borro, voy a desabilitár esa opción, me ocurre que en ocaciones cuando acerco la mano,
enciende los leds de forma desordenada,! no me explico porqué.


----------



## D@rkbytes (Feb 1, 2021)

Rmontero10 dijo:


> cuando lo grabó de nuevo antes lo borro


Un requisito primordial para la programación de un microcontrolador, es el borrado previo a la programación.
Y hasta el momento todos los programadores que conozco lo hacen antes de entrar al modo de programación.


Rmontero10 dijo:


> Me ocurre que en ocasiones cuando acerco la mano, enciende los leds de forma desordenada, no me explico por qué.


Cuando eso sucede, lo más común es que no estés usando la palabra de configuración adecuada.
O sea, el microcontrolador debe estar funcionando con el oscilador incorrecto. Por ejemplo: _RC_OSC


----------



## Rmontero10 (Feb 1, 2021)

tirlano dijo:


> Hola a todos. Tengo un problema parecido, estoy usando el programador jdm por puerto serial con el programador winpic800; después de muchas dificultades me dió ok al grabarlo y verificarlo, pero cuando pongo el pic en el circuito no anda, y al volver a ponerlo en el programador me aparece la memoria de programa vacía (FFFF). Me pasó con el 16f84a y el 16f628a. Por lo que pude averigüar el problema parece ser que al verificar o hacer cualquier cosa luego de grabar el micro con este programa y otros similares como el icprog, este se borra!!! Hoy voy a probar grabarlo y sacarlo enseguida del programador a ver que pasa, luego les cuento!
> Saludos!





Rmontero10 dijo:


> Hola yo tengo el mismo problema con el pi 16f877a, lo monto en el circuito de comprobación de un cubo de leds 5x5x5, a veces trabaja bien pero se borra, yo lo grabó con pic-605, lo reviso 7 está borrado el programa, no se que es lo que ocaciona esto, si alguno me pudiera ayudar 👍
> 
> Gracias, si cuando lo grabó de nuevo antes lo borro, voy a desabilitár esa opción, me ocurre que en ocaciones cuando acerco la mano,
> enciende los leds de forma desordenada,! no me explico porqué.





D@rkbytes dijo:


> Un requisito primordial para la programación de un microcontrolador, es el borrado previo a la programación.
> Y hasta el momento todos los programadores que conozco lo hacen antes de entrar al modo de programación.
> 
> Cuando eso sucede, lo más común es que no estés usando la palabra de configuración adecuada.
> O sea, el microcontrolador debe estar funcionando con el oscilador incorrecto. Por ejemplo: _RC_OSC


Gracias, muy amable, este código lo descargue de una página de YouTube, (  Control Automático Educación) como le digo yo no soy programador solo un técnico aficionado, por lo que me extraña que no funcione como debería. Que le podría hacer para evitar esto?


----------



## D@rkbytes (Feb 1, 2021)

Rmontero10 dijo:


> ¿Qué le podría hacer para evitar esto?


Ya lo dije, establecer el tipo oscilador en la palabra de configuración o en su defecto en el mismo programador.


----------



## Rmontero10 (Feb 1, 2021)

D@rkbytes dijo:


> Ya lo dije, establecer el tipo oscilador en la palabra de configuración o en su defecto en el mismo programador.


Muy amable, voy a proceder con este.


----------

