Problema con Proteus y pic 16F84A

#1
hola gente del foro, les comento que estoy comenzando con esto de los pics y me saltó un problemita al simular en proteus, el tema es que al simularlo en el MPLAB todo bien , pero en proteus todo mal ! y me parecio bastante raro esto, les envio el codigo asi lo prueban y me comentan que tal les fue con la simulacion ( si lo pueden probar en proteus, mejor! :) )

aqui va el cogido adjunto !
 

Adjuntos

#2
Hola.
Segun lo que pude ver...Trata de limpiar el puerto una vez que los hayas desclarado como I/O ... no antes....
Porque colocas el C=1, es necesario que asi este siempre??

Coloca cristal de 4Mhz...A lo mejor lo olvidaste.

Saludos.
Cerebro
 
Última edición:
#3
hola Cerebro gracias por responder a mi inquietud, he probado los cambios que me has dicho pero sigue con el mismo problema al simularlo en Proteus

Con respecto a tu pregunta, coloco una sola vez el C=carry = 1 para que en la proxima pasada del bucle éste 1 pase al bit0 del PORTB, en la proxima pasada lo coloca en el bit1 y asi sucesivamente hasta el final bit7 (esto se realiza con la onstruccion rlf PORTB,F y luego se repite de nuevo infinitamente

Adjunto la instruccion asi se ve mas claramente su funcionamiento y ademas el txt con la modificacion que hiciste ( tambien revise los 4Mhz y esta todo ok , pero sigue sin funcionar! ) saludos y gracias nuevamente
 

Adjuntos

#4
Ya lo vi...No conocia mucho esa instruccion, solo sabia que rotaba, mas no que usaba al C.
Luego de la instruccion el C como queda??

Has visto la simulacion en MPLAB de todos los reguistros que usas, y es el esperado??

Saludos.
Cerebro
 
#5
Hola ilcapo, el problema parece ser de tu simulador ya que el asm está bien escrito, para asegurarme... compila y simula bien en el Proteus que tengo. Oscilador a 4Mhz y no te olvides de poner a V+ el MCLR.
Sobre la instrucción rlf y rrf no hay problema, funciona de las dos formas.

Saludos.
 
#6
Cerebro: el C despues de rotar queda en 0 hasta que el 1 de toda la vuelta y vuelve de nuevo hasta el C,,, y asi se repite infinitamente, en cuanto a la simulacion en el MPLAB anda perfecto, hace todo lo esperado , pero en el Proteus se clava y no anda nada ( gracias de nuevo por la respuesta!)

Carlos: gracias por responder, lo mas probable es que sì, debe ser mi simulador que no anda bien, pero es bastante raro eso , nunca tube ningun problema,,, ,,,Es posible que me pases el circuito que hiciste en tu Proteus asi lo pruebo?? gracias de antemano!
 
#8
bueno, gracias por ayudarme a resolver el problema , en definitiva estaba en el simulador yo estaba usando el proteus 7.2 SP6 y no me simulaba al parecer la instruccion rlf f,d ya que al mismo ejercicio lo resolvi utilizando tablas y funciono correctamente

la solucion fue reemplazar por proteus 7.7 SP2


saludos y gracias!!
 
#9
Hola nuevamente no quiero ser muy molesto pero me aparecio un nuevo problema en la simulacion

cuando le coloco un display al puerto de salida para ver el efecto de los cambios con leds
el simulador no lo hace!

lo probe quemando el pic y si lo hace! pero en la simulacion no! :eek:

les paso el circuito con display que no funciona !

desde ya muchas gracias!:)
 

Adjuntos

#10
Intenta cumplir lo más que puedas, que el circuito simulado sea casi idéntico al real...
le puse una resistencia de 100 Ohm entre tierra y el común del display y funciona...;
en un circuito real eso funcionaria si solo usaras un LED del display a la vez pero lo usual
es usar una resistencia en cada linea que va conectado al display.
 

Temas similares

Arriba