;***************************************************
;Porgrama che accende o spegne il diodo
;led D1 della scheda di ingressi e uscite
;in funzione dello stato del commutatore SW3.

	list	p=16F84			;Tipo di dispositivo

;Zona delle etichette

STATUS	EQU 0x03			;Registro di stato
PORTA	EQU 0x05			;Porta a
PORTB	EQU 0x06			;Porta b
RP0	EQU 0x05			;Bit per selezionare il banco ram


	ORG 	0			;Vettore di reset
	GOTO 	INIZIO			;Salto all'etichetta INIZIO
	
	ORG 	5			;Inizio a scrivere dalla posizione 5


;Inizio programma

INIZIO:	bsf	STATUS,RP0		;Vado al banco 1
	cLRF	PORTB			;Setto tutte le porte b come uscite
	MOvLW	b'00000100'		;Sposto il valore binario nel registro w
	MOVWF	PORTA			;e setto la terza porta come ingresso
	BCF	STATUS,RP0		;Torno al banco 0
	CLRF	PORTB			;Cancello le informazioni nella porta b

CICLO:	btfss	PORTA,2			;Controllo la porta ra2 se è ad 1 o zero
	goto	SPEGNERE		;Se è a zero vado all'etichetta SPEGNERE
	goto	ACCENDERE		;Se è a 1 vado all'etichetta ACCENDERE

ACCENDERE:
	BSF	PORTB,0			;Accento il primo diodo led
	GOTO	CICLO			;Salto all'etichetta CICLO

SPEGNERE:
	BCF	PORTB,0			;Spengo il primo diodo led 
	GOTO	CICLO			;Salto all'etichetta CICLO

	END				;Fine programma 