Hola buenos días, quisiera pedirles un poco de ayuda para hacer un programa en assembler para el pic16f877a que haga lo siguiente.
- Establecer una patita que sea una entrada y una que sea una salida.
- En la salida lleva un led el cual debe prender cuando la entrada este alta y apagarse cuando pase a baja.
- El alto y bajo en la entrada se controla por un dip switch
Ya le estuve intentando mucho tiempo pero la verdad no hago que me funcione el programa, el programa que hice es este:
Pero no se porque razón no funcione, recien empiezo mi curso de microcontroladores y apenas le voy agarrando ganas a esto del ensamblador .
Les dejo también mi simulación en el proteus para que se den mas o menos una idea de lo que estoy realizando-
- Establecer una patita que sea una entrada y una que sea una salida.
- En la salida lleva un led el cual debe prender cuando la entrada este alta y apagarse cuando pase a baja.
- El alto y bajo en la entrada se controla por un dip switch
Ya le estuve intentando mucho tiempo pero la verdad no hago que me funcione el programa, el programa que hice es este:
Código:
__CONFIG _WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF
LIST P=16F877A
INCLUDE <P16F877A.INC>
RADIX HEX
;************Programa principal****************;
RESETEO: ORG 0x00
GOTO INICIO
GOTO 0x05
;***************INICIO**********************;
INICIO: BCF STATUS,RP0; USAMOS EL BANCO 1 DE LA MEMORIA
BCF STATUS,RP1; ponemos a rp1 en cero
CLRF PORTB; limpiamos el resgistro del puerto a para no tener basura
BSF STATUS,RP0;accede al banco uno donde esta tris a
MOVLW b'00000001';
MOVWF TRISB;configuramos a ra0-ra1 como entrada y ra2-ra5 como salidas
BCF STATUS,RP0;ACCEDE BANCO 0
CALL PREGUNTA
goto INICIO
PREGUNTA: BTFSS PORTB,0; ES 0?
goto LED_APAGADO
GOTO LED_ENCENDIDO
goto PREGUNTA
LED_ENCENDIDO: BSF PORTB,1
LED_APAGADO: BCF PORTB,1
END
Pero no se porque razón no funcione, recien empiezo mi curso de microcontroladores y apenas le voy agarrando ganas a esto del ensamblador .
Les dejo también mi simulación en el proteus para que se den mas o menos una idea de lo que estoy realizando-