Paso 6 de 11
TRIS: RB0 salida, RB1 entrada
Objetivo
Configurar direcciones en init_gpio con TRISB antes de usar LAT o PORT.
En TRIS: 0 = salida, 1 = entrada. BCF TRISB, 0 → RB0 salida (LED). BSF TRISB, 1 → RB1 entrada (pulsador).
Regla: siempre TRIS antes de LAT/PORT. Sin este paso el LED no responde aunque escribas LAT.
Sigue estos pasos
- En
init_gpio, reemplaza elRETURNsolo por las dos lineas TRIS +RETURNdel bloque resaltado. - No cambies
inicionibucletodavia. - Compila — debe seguir sin errores.
- Aun no simules — falta el esquema en Proteus (paso 6).
Tu archivo hasta ahora
LIST P=18F4550
#include <P18F4550.INC>
CONFIG FOSC = HS
CONFIG WDT = OFF
CONFIG LVP = OFF
CONFIG PBADEN = OFF
ORG 0x0000
GOTO inicio
init_gpio:
BCF TRISB, 0 ; RB0 salida (LED)
BSF TRISB, 1 ; RB1 entrada (pulsador)
RETURN
inicio:
CALL init_gpio
bucle:
GOTO bucle
END
Lo que agregas en este paso
init_gpio:
BCF TRISB, 0 ; RB0 salida (LED)
BSF TRISB, 1 ; RB1 entrada (pulsador)
RETURN
Lista antes de continuar
- init_gpio tiene BCF TRISB,0 y BSF TRISB,1 antes del RETURN.
- Compila sin errores.
Consejo: TRIS no enciende el LED — solo define direccion.