Problema con PIC16LF877A

#1
Hola amigos de foro electronica, necesito su ayuda para saber si alguno le ha pasado lo siguiente

el PIC funcionaba bien hasta mi ùltima aplicaciòn comunicacion RS232 al PC con max232 todo de maravillas

Ahora intento usar otro programa sencillo un led intermitente en el mismo PIC y no hace nada, he intentado de todo ya

Utilizo un Crystal de 4mhz con capacitores de 22pF, tambien probe con crystal de 14.318mhz y nada, probe XT, HS, RC y nada

Utilizo ic-prog y winpic800 y no me da resultada satisfactorio ninguno, el winpic800 lo reconoce perfecto, ambos programadores lo graban bien y verifcan correctamente, cuando lee el config y el programa esta todo bien. pero al ir al protoboard no hace nada, use un 16f877 si funciona bien pero necesito el 16lf877a porque tiene mas memoria para lo que voy a hacer.

El problema no esta en el programa dado que funciona en proteus y me funciona bien en el PIC 16f877

pero el pic 16LF877a no me responde para nada en el circuito, lo alimento con 5v de una fuente ATX

el programa que intento correr que se no tiene problema es este:

Código:
#include <16F877A.h>
#device ADC=10

#FUSES NOPUT                    //No Power Up Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOPROTECT                //Code not protected from reading

#use delay(crystal=4000000)
#use FIXED_IO( A_outputs=PIN_A5,PIN_A4,PIN_A3,PIN_A2,PIN_A1,PIN_A0 )
#use FIXED_IO( B_outputs=PIN_B7,PIN_B6,PIN_B5,PIN_B4,PIN_B3,PIN_B2,PIN_B1,PIN_B0 )
#use FIXED_IO( C_outputs=PIN_C7,PIN_C6,PIN_C5,PIN_C4,PIN_C3,PIN_C2,PIN_C1,PIN_C0 )
#use FIXED_IO( D_outputs=PIN_D7,PIN_D6,PIN_D5,PIN_D4,PIN_D3,PIN_D2,PIN_D1,PIN_D0 )
#use FIXED_IO( E_outputs=PIN_E2,PIN_E1,PIN_E0 )

void main()
{

   while(TRUE)
   {
output_high(PIN_A0);
delay_ms(1000);
output_low(PIN_A0)
delay_ms(1000);
   }

}
alguna idea de porque los programadores lo pueden grabar pero no puedo hacerlo funcionar en el protoboard ...
 
#2
¿Alguna idea de por qué los programadores lo pueden grabar pero no puedo hacerlo funcionar en el protoboard?
Porque debes tener algo mal conectado o algo sin conectar.
Ese programa aunque con configuraciones innecesarias para tan sólo prender un LED por RA0, debe funcionar físicamente.

Revisa bien tus conexiones.

PD: A la instrucción "output_low(PIN_A0)" le hace falta el punto y coma final ";"
Ese no es el problema porque no se podría compilar el programa.

Resumiendo el programa:
Código:
[COLOR=Red]#include[/COLOR] <[COLOR=Green]16[/COLOR]f877a.h>
[COLOR=Red]#use[/COLOR]     delay(crystal = [COLOR=Green]4[/COLOR]MHz)

[COLOR=Blue]void [/COLOR]main ([COLOR=Blue]void[/COLOR])
{
   [COLOR=Blue]while[/COLOR] (true)
   {
      output_toggle(PIN_A0);
      delay_ms([COLOR=Green]1000[/COLOR]);
   }
}
Este código también hará lo mismo.
 
Última edición:
#3
D@rkbytes gracias por la respuesta, probaré de nuevo con tu codigo, sin embargo estoy seguro que no hay nada mal conectado, ya que pruebo en el mismo lugar el pic 16f877 y funciona sin problemas, pero este no



probe tu codigo simplificado, pero igual me sigue dando problemas no hace nada de nada. =(
 
Última edición:
#4
Prueba con otro pin, a veces se dañan.
Incluso puedes activar todo un puerto o varios.
Y si no funciona, sube una foto del montaje en el protoboard.

Te recuerdo que no es problema de software.
 
Última edición:
#5
ok intentare activar el Puerto B y subiere una imagen del montaje




Probe activar todo el puerto B asi

#include <16f877a.h>
#use delay(crystal = 4MHz)

void main (void)
{
while (true)
{
output_b(0b11111111);
}
}
probe el LED aparte para saber si funciona, luego en cada salida del Puerto B nada no hay voltaje alto, los led no encienden, pareciera el pic no ejecutara el programa, y muestro imagenes del WINPIC800 tambien con el exito en lectura y programacion
 

Adjuntos

Última edición:
#7
utilizo una fuente de poder de PC. Atx cable rojo y negro, 5vdc constantes, funciona bien el pic 16f877 pero este nada que ver. tambien he intentado con el naranja que me arroja 3.33v.
 
#8
OK. ¿Cuando lees el programa del PIC, éste corresponde con el que grabaste?
Si lo que lees es lo mismo que grabas, prueba quitando los capacitores del oscilador.
Existen cristales que los tienen internos y los externos afectan la oscilación.

Al ser un programa sencillo de prueba, debe funcionar sin problemas.
Y como en otro PIC similar si funciona el programa, ese PIC puede estar dañado.
El LF debe funcionar de la misma forma pero puede operar a 3.3 V.
Y esto es algo relativo, porque otros PIC de serie normal también funcionan a 3.3 V.
 
#9
si efectivamente cuando presiono leer en todos los casos responde bien, y muestra la config efectiva del ultimo programa, sin embargo no da señales de vida cuando esta energizado.

tambien he probado quitarle los capacitores, ya como que debo desistir y dejar botado el pic.
 
Iniciado por Temas similares Foro Respuestas Fecha
W Microcontroladores y sistemas embebidos 4

Temas similares

Arriba