Ir al contenido

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.

  1. En init_gpio, reemplaza el RETURN solo por las dos lineas TRIS + RETURN del bloque resaltado.
  2. No cambies inicio ni bucle todavia.
  3. Compila — debe seguir sin errores.
  4. Aun no simules — falta el esquema en Proteus (paso 6).
						        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
					
						init_gpio:
        BCF     TRISB, 0      ; RB0 salida (LED)
        BSF     TRISB, 1      ; RB1 entrada (pulsador)
        RETURN
					
  • 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.