;+------------------------------------------------+ ;| Ejemplo 2 (PULSADOR) | ;| Al pulsar el Pulsador el Led se enciende | ;| Pulsador conectado a RB0 ( PORTB: xxxx - xxxP) | ;| LED conectado a RB1 ( PORTB: xxxx - xxLx ) | ;| | ;| Autor: Andrés Prieto-Moreno | ;| 18 - 06 - 2002 | ;| Revisión: Alfonso Alejandre | ;| 13 - 12 - 2002 | ;+------------------------------------------------+ ; código preparado para el 16F877 o el 16F84 se debe asignar un valor a PROC #DEFINE PROC 1 ; 1 = Procesador 16F877, otro valor Procesador = 16F84 IF PROC == 1 list p=16f877, r=dec ; Indicamos procesador destino y radix #include p16f877.inc ; Define gran cantidad de constantes ; relacionadas con este procesador __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_ENABLE_ON & _LVP_OFF & _DEBUG_ON & _CPD_OFF ELSE list p=16f84, r=dec ; Indicamos procesador destino y radix #include p16f84.inc ; Define gran cantidad de constantes ; relacionadas con este procesador __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC ENDIF org 0 nop ; Este byte está reservado para el ICD goto Inicio org 5 ; Accedemos al segundo banco de RAM de Datos Inicio bsf STATUS,RP0 ; Configuración puertos movlw B'00000001' movwf TRISB ; Bit 0 de PORTB entrada, el resto como salida ; Accedemos al primer banco de RAM bcf STATUS,RP0 ; empieza el programa principal Bucle btfss PORTB,W ; salta si RB0=1 goto led_on bcf PORTB,1 ; apago el led goto Bucle led_on bsf PORTB,1 ; enciendo el led goto Bucle END