LEZIONE 36

PORTE


Un altro programma per approfondire le porte è il seguente:


#CHIP	16F84, 4				'Tipo di PIC e frequenza

Dir PORTA IN 					'Istruzioni viste più avanti
Dir PORTB OUT 					'Istruzioni viste più avanti
DIM Pulsanti as Byte				'Variabile per contenere il valore dei pulsanti<

Label:						'Etichetta
	Pulsanti = PortA			'Memorizzo i valori dei pulsanti
	IF Pulsanti = b'00010101' THEN PortB = 255	'Accendo i led
	IF Pulsanti <> b'00010101' THEN PortB = 0 	'Spengo i led
GOTO Label 					'Salta all'etichetta

END						'Fine del programma

Analizziamo il programma:
L’istruzione Pulsanti = PortA prende i valori dei pulsanti, come abbiamo visto in precedenza, mentre l’istruzione IF Pulsanti = b'00010101' la paragona al codice binario b'00010101' che rappresenta la posizione degli interruttori, 1 per il valore 1 e 0 per il valore zero.
Va notato che il numero delle porte è comunque 8 anche se la porta A in realtà ne ha solo 5, quindi le porte che non esistono sono settate a 0 (vedere i primi 3 zeri).
Un'altra cosa da notare è che l’editor IDE colora di verde il valore binario come se fosse un commento ma non viene preso come tale.
Si poteva sostituire il valore binario in esadecimale, facendo la conversione con la calcolatrice di Windows e quindi l’istruzione sarebbe stata IF Pulsanti = 21.

LEZIONE 37
LEZIONE 35