TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Marin en 10 de Septiembre de 2016, 18:18:39
-
Disculpen quisiera que me ayudaran a saber como hacer un if en ensamblador del pic16f627a
el problema es el siguiente: con la entrada digital en el puerto A cuando sea igual a un 50 se debe de entrar a una subrutina y cuando sea 60 debe entrar en otra diferente y cuando no tenga nada o sea diferente de esos dos valores no debe hacer nada.
Gracias por su ayuda de antemano
-
Que tal Marin,
En realidad hacer un "IF" en ensamblador no tiene mucho problema, en tu caso seria algo asi:
movf porta,w ;Mueve el valor del puerto A al registro W
xorlw .50 ;Compara el registro de trabajo con un 50 decimal
btfss status,z ;Se ha levantado la bandera de "zero" del registro status? (Es decir el puerto A es igual a 50?)
goto compara_60 ;No, entonces ve a preguntar por el otro valor
gosub tu_subrutina
....
compara_60:
movf porta,w
xorlw .60
btfss status,z
goto a_otro_lugar
gosub subrutina_60
Esta es la idea, ojala te sirva.
Elreypic.