TODOPIC
Misceláneas - Interés General => Uso y aplicaciones de los PIC / Curiosidades electrónicas => Mensaje iniciado por: kaiserwald18 en 21 de Marzo de 2016, 18:14:18
-
Hola a todos, soy nuevo en este foro.
Al comenzar con el pic18f4550 me han suscitado problemas al hacer comparaciones, utulizo la instruccion subwf para restar dos variables (si ambas tienen el mismo numero la bandera Z se pondra en 1) pero al checar la bandera Z no me hace nada, he checado desde antes que los numeros sean los mismos para que la resta sea igual a 0.
El comparador lo uso como metodo para contar cuantos aciertos se tienen (ya que los numeros a comparar siempre cambian). Entonces al hacer la comparacion si es correcta aumento una variable con la instruccion incf, pero no hace nada al comparar.
Si me pudieran ayudar se los agradeceria mucho :mrgreen:
-
Hola, si pudieras pegar esa parte del código en el foro, sería más fácil ayudarte.
Saludos
-
El assembler de los pic18 tiene instrucciones muy útiles para comparación... No es necesario realizar la resta ni leer Z para hacer la comparación
Podrías leer en la hoja de datos sobre las siguientes instrucciones:
cpfseq f: compara f con W y salta si son iguales
cpfsgt f: compara f con W y salta si f>W
cpfslt f: compara f con W y salta si f<W
tstfsz f: salta si f=0
y también están los "branch", útiles para realizar estructuras tipo "if", "while" y "do while"
BC
BNC
BNN
BNOV
BNZ
BOV
BRA
BZ
Saludos!