tengo un problema con mi programacion en ensamblador, ya que no logro enlazar los puertos A y D de mi programa, osea que no puedo usar como entrada el puerto a y esperar que el puerto d me responda, no logro hacer eso, ya cheke mucho mi programa y con un simulador, y no encuentro el error, por favor ayudenme con esto, aqui dejo la programacion que hize, gracias
Muchas gracias
Código:
LIST P=18F452
#include <p18f452.inc>
#DEFINE DERECHA PORTD,0 ;
#DEFINE IZQUIERDA PORTD,1 ;
#DEFINE SINTRACCION PORTD,2 ;
ORG 0 ;Empieza desde resposo
GOTO PRINCIPAL ;Nos vamos a la funcion 'PRINCIPAL'
; Establecimiento de constantes
STATUS equ 0XFD8 ; Damos nombre al registro del stetus del PIC18
TRISA equ 0XF92
PORTA equ 0XF80
TRISD equ 0XF95
PORTD equ 0XF83
SETF TRISA
SETF TRISD
;
;/////////////////////////////////////////dECLARA sALIDAS Y eNTRADAS
PRINCIPAL
bsf STATUS,Z
movlw b'00000000'
movwf TRISD
movlw b'11111111'
movwf TRISA
bcf STATUS,Z
INICIO
xorlw B'00000001'
XORWF PORTA,W
BTFSC STATUS,Z
GOTO MOVERDERECHA
xorlw B'00000010'
XORWF PORTA,W
BTFSC STATUS,Z
GOTO MOVERIZQUIERDA
xorlw B'00000000'
XORWF PORTA,W
BTFSC STATUS,Z
GOTO MOVERSINTRACCION
xorlw B'00000011'
XORWF PORTA,W
BTFSC STATUS,Z
GOTO MOVERSINTRACCION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVERDERECHA
bsf DERECHA
bcf IZQUIERDA
bcf SINTRACCION
goto INICIO
MOVERIZQUIERDA
bsf IZQUIERDA
bcf DERECHA
bcf SINTRACCION
goto INICIO
MOVERSINTRACCION
bcf IZQUIERDA
bcf DERECHA
bsf SINTRACCION
goto INICIO
end
Muchas gracias