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.
Aggiunta il link al corso Linux Uno su Udemy.
Aggiunto il tutorial per la realizzazionedi un Arcade con materiale di riciclo.