Pic 16f877a y programas

#1
Que tal ultimamente e estado trabajando con un pic 16f877a con el microcode studio plus al cual e hecho una clase de progrmas que en simulasion andan muy bien pero en el momento del montaje ni siquiera trabaja el pic no se que podre estar haciendo mal.

Lo extrano es que cuando preciono el pic lo suficiente con el protoboard empieza a trabajar pense que es un falso o que la tablilla no sirva pero probe continuidad punto a punto de cada dispositivo conectado al pic como en la tablilla y siempre tengo les a pasado esto alguno de ustedes como se podra solucionar.
 
#2
Te recomiendo que programes algo sencillo como mandar 1s a determinadas salidas y coloques indicadores, de esta manera puedes deducir si es tu proto, es el micro o deplano tu programa o compilador estan chafeando
 
#4
Eso parece el tipico caso de la falta de capacitor de 100nF en Vdd y Vss.... Muajja

si pones el esquema seria mas facil, si nadie ve nada raro, sube el codigo o ambos al mismo tiempo... :rolleyes:
 
#5
Como dice lubeck, pon el esquema que usas. También especifica como alimentas el circuito, o sea, con que tipo de fuente. Puede ser que la fuente te entregue una alimentación con ruido o poco estable y sea necesario agregar un capacitor de unos 2200uF en paralelo (aparte de tus capacitores de 100nF cerca de los pines de alimentación de tu uC).

Saludos!
 
#6
Este es el codigo e realidad no le veo que sea muy complicado son puros led y pos eso de calar con un simple led que apague y encienda ya lo e intentado y pasa lo mismo y pos ese ejemplo es igual al del libro que estoy leyendo y que segun el autor todos sus ejemplos vistos en el libro trabajan probados al 100% segun el.


;all digital
trisb = 0
loop:
Portb = %00011000
pause 300
portb = %00100100
pause 300
portb = %11011011
pause 300
goto loop

comento el protoboard es nuevo y probando punto a punto hay continuidad y lo que tambien batallo es que con cualquier pic que meta es igual tengo alguno pic con los que e hecho pruebas
 
#7
El codigo no veo que tenga problemas...

lo mas seguro es que sea la alimentacion, como te dice sangreaztk, menciona como lo estas haciendo, tambien sube el esquema queestas usando, si no lo tienes y nada mas pusiste los leds y la resistencia limitadora, menciona si pusiste capacitores o que mas...
 
#8
ok asi tengo el ckt solo que es con led individuales y cada led tiene una resistencia de 330 ohms ademas agrege los capacitores de 100 nF en vdd y vss en las alimentaciones de este pic para hacer las pruebas pero a un asi no hace su tarea el pic.

revise el voltaje tambien son los 5 vdc que nesecita



tengo una fuente o transformador de 115 vac que me entrega 9 vdc en la salida y con un dichoso y famoso regulador de voltaje 7805 obtengo los 5 volts que nesecito para el pic
 

Adjuntos

Última edición:
#9
Es una pregunta muy obvia pero... le pusiste cristal y capacitores de 22pF??? y la resistencia PullUp de 4k7 en el pin1????

no los veo en el esquema...
de cuanto es el cristal?

grabale este archivo, para ver si esta bien compilado el que le estas cargando...
 

Adjuntos

Última edición:
#10
No e puesto nada de eso los tengo pero como se supone que uso el oscilador interno del pic no lo debo de nesecitar voy a colocar la resistencia de 4k7 en el pin 1 para probar y te abiso tambien colocare el oscilador de 20 mhz y te aviso
 
#12
asi esta cpmpleto lo hice en microcode studio plus como comento estoy leyendo un libro donde biene el ejemplo y segun el autor todos sus ejemplos trabajan al 100 %
 
#13
pues ahi esta el problema... efectivamente... si estas utilizando el 16f877a no te funciona porque tienes que poner un cristal y la resistencia de 4k7... (si sabes como?)

si es de 20MHZ debes configurar los fuses como HS...(high speed) y poner unos capacitores de 15 a 33pf
 
#14
esta completo el codigo en el libro que estoy lellendo el autor dice a que son ejemplos 100% funcionales y probados por eso uso el mismo copilador que usa en el libro microcodestudio



ok si se como hacerlo deja hacer lo y te comento q sucede aun que ya tambien lo e hecho y pasa esactamente lo mismo solo qu elo de la resistencia no lo e probado deja pruebo y te abiso.



no cuento con la resistencia de 4k7 ni con el oscilador de 20 me equivoque era de 4, coloque el oscilador y 2 capacitores de 22pF y una resistencia de 1 kohm en el pin uno y jalo al 100 muchas gracias pora tu ayuda, parece ser que eso era, ahora are mas ejemplos a ver como trabajan me imagino que para cualquier ejemplo nesecitare esa configuracion en el harware verdad.

muchas gracias por tu ayuda espero poder continuar haciendo mas ejemplos sin que me ocasione lo mismo Gracias a todos por su ayuda.
 
Última edición:
#15
ahora are mas ejemplos a ver como trabajan me imagino que para cualquier ejemplo nesecitare esa configuracion en el harware verdad.
Con el 16f877A si... siempre tienes que poner cristal, los capacitores y la resistencia...
con 4MHz se configura como XT_Osc.... porque no tiene oscilador interno y no se puede inhabilitar el MCLR(master clear)

y como por ejemplo el 16f628A pudes usar el oscilador interno y tambien puedes inhabilitar el MCLR, asi que no le pones cristal,capacitores ni resistencia. o puedes ponerselos y configurarlo con los fusibles(fuses)....

cada micro es diferente a otro aunque sea cualquier detalle, y para majores resultados consulta sus manuales...

Suerte con tus proyectos...
 
Última edición:
#16
pues ahi esta el problema... Efectivamente... Si estas utilizando el 16f877a no te funciona porque tienes que poner un cristal y la resistencia de 4k7... (si sabes como?)

si es de 20mhz debes configurar los fuses como hs...(high speed) y poner unos capacitores de 15 a 33pf
la resistencia de 4k7 va conectada a tierra?

La resistencia del pin 1 va conectada a tierra o a vdd?
 
#18
Eso parece el tipico caso de la falta de capacitor de 100nF en Vdd y Vss.... Muajja

si pones el esquema seria mas facil, si nadie ve nada raro, sube el codigo o ambos al mismo tiempo... :rolleyes:
Es verdad, a mí me pasó algo parecido. Me había olvidado de soldar el capacitor, accidentalmente lo tocaba y empezaba a andar y luego dejaba de funcionar.
 
Arriba