;
;					EJEMPLO 2.2
;
;				Autor: Mikel Etxebarria
;			(c) Microsystems Engineering (Bilbao)
;
;Ejemplo para simulación y/o MicroPIC Trainer
;
;Control de los leds RB0 y RB1 desde el interruptor RA0. RB0 refleja el estado de RA0,
;RB1 el complemento de RA0
		
		List	p=16F84		;Tipo de procesador
		include	"P16F84.INC"	;Definiciones de registros internos


		org	0x00		;Vector de Reset
		goto	Inicio

		org	0x05		;Salva el vector de interrupción

Inicio	        clrf 	PORTB		;Borra los latch de salida
		bsf	STATUS,RP0	;Selecciona banco 1
		clrf	TRISB		;Puerta B se configura como salida
		movlw	b'00011111'		
		movwf	TRISA		;Puerta A se configura como entrada
		bcf	STATUS,RP0	;Selecciona banco 0

Loop		clrwdt			;Refresca el WDT timer
		btfsc	PORTA,0		;RA0 = 1 ??
		goto	RA0_es_1	;Si
		bcf	PORTB,0		;No, desconecta RB0
		bsf	PORTB,1		;Conecta RB1
		goto	Loop		;Buble sin fin

RA0_es_1	bsf	PORTB,0		;Activa RB0
		bcf	PORTB,1		;Activa RB1
		goto	Loop		;Bucle sin fin

		end			;Fin del programa fuente
