Mi PIC16F877A nuevo no hace nada.

#1
Hola, después de leer algunas preguntas similares en este foto, no pude encontrar la solución a mi problema. Así que aquí les va mi problema.

Hace muy poco que comenzé en esto de los microcontroladores, mi maestro me pasó un código de ejemplo (en C, por PIC C Compiler) y lo modifiqué un poco. El código andaba de maravilla en Proteus, hasta que lo grabé en el PIC y nada. El primer código que le grabé, fue un contador del 0 al 9 en un ciclo infinito (while(1)...).

Pensando que había programado mal, me decidí a hacer el más sencillo de todos...hacer parpadear a un led.

Les muestro código y diagrama (tanto en proteus como real):

Después de comentar con otro maestro, me dijo que era probable que el problema estuviera en los fusible (de los cuales no se de qué cuernos me habla :LOL:).

El código está compilado en PIC C Compiler, y lo grabé con el software del Master-Prog.
Todo el código está en C, no se programar aún en ensamblador ni uso el MPLAB IDE.

Olvidé mencionar, solo un par de veces hizo algo, pero no lo programado. El PIC no está quemado ya que el ordenador me lo detecta. La última vez que hizo algo, fue encender el LED pero no lo apagaba.
 

Adjuntos

Última edición:
#6
pin 32 y 31 no tiene alimentacion 31 va a tierra y 32 a vdd....

las tierras del lado del led y del otro lado de protoboard deben estar unidas y no se ve... es decir las lineas azules y rojas deben estar conectadas
 
#7
pin 32 y 31 no tiene alimentacion 31 va a tierra y 32 a vdd....

las tierras del lado del led y del otro lado de protoboard deben estar unidas y no se ve... es decir las lineas azules y rojas deben estar conectadas
Ok, probaré los pines 31 y 32. La tiera sí está unida pero no sale en la imagen. El positivo no, porque uso una fuente de unos15 V y por eso del regulador del voltaje. Al rato cuento que pasó...



pin 32 y 31 no tiene alimentacion 31 va a tierra y 32 a vdd....

las tierras del lado del led y del otro lado de protoboard deben estar unidas y no se ve... es decir las lineas azules y rojas deben estar conectadas
Tampoco funcionó :confused:
Ahora no se que pueda ser, sigo pensando que el error está en el código.
 
Última edición:
#8
el codigo parece estar bien, casi seguro es un error de conexión... saca una foto de todo el protoboard y sube el codigo y el de proteus....



tambien quita el boton.... del protoboard
 
Última edición:
#11
Ups, jaja. Olvidé ahí olvidé conectar el LED XD



Bien, el LED ya prendió. Solo que ahora no hace lo que programé, el LED permanece prendido todo el tiempo y a veces cuando desconecto mi fuente parpadea algo (debido a que en mi fuente deben de haber algunos capacitores, así que baja el voltaje).
 
Última edición:
#12
pon los filtros (capacitores) del 7805, y ademas pon uno de 100nF(104) en el pin 31 y 32, y otro en el pin 11 y12,

si se queda prendido probablemente no esta bien conectado el oscilador o no le pusiste el "fuses HS", ese high speed es para cuando pones un cristal de 20MHz....

en la simulacion si prende y apaga?
 
#13
Oye amigo, creo que ya lo reolví. Mira, puse un capacitor de 220 uF en la fuente no regulada de voltaje. Anda de maravilla. Tu ayuda me sirvió de mucho :aplauso:

Gracias, saludos. Revisaré lo que me dijiste.
 
#14
a eso me referia conque pusieras los filtros del 7805, ademas del de 220uF que seria mejor uno de 470uF pon unos del 10nF(103) en la entrada, y otro en las salida ademas de uno de 100uF (en la salida)...

si no los pones asi, vas a tener problemas de ruidos.... y los del pic tambien son bien importantes.

y pues bueno... suerte...
 
#17
si tu pic no funciona el problema no esta en el hadware sino en tu programacion tienes que configurar tu pic 16f877 si quieres que entradas sean analogicas o digital
 
#18
si tu pic no funciona el problema no esta en el hadware sino en tu programacion tienes que configurar tu pic 16f877 si quieres que entradas sean analogicas o digital
:unsure:

Dale una leida al tema completo....


esta usando el puerto B y ese solo es digital... el que el puerto A este como analogo o digital nada tiene que ver...
 
Arriba