LEZIONE 33

PORTE


Il PIC è dotato di porte d'input e d'output.
Le porte d'input permettono di inviare al PIC informazioni dall'esterno verso l'interno, per esempio la condizione di un interruttore, o il segnale digitale di un altro circuito.
Per le porte d'output, le informazioni sono inviate dal PIC ad altri dispositivi esterni, per esempio dal PIC al computer o dal PIC ad una centralina d'allarme etc.

Il PIC 16F84 ha 13 porte che possono essere settate come input od output, suddivise, al loro volta, in 2 porte chiamate porta A e porta B.
La porta A ha 5 porte e la porta B 8.
All'inizio di ogni programma bisogna settare le porte di input e di output.
Per specificarlo sono utilizzate delle parole chiavi differenti da compilatore a compilatore, nel caso del GCBASIC sono le seguenti:

Dir PortA = IN
Dir PortB = OUT
Set PortA.0 = IN
Set PortB.0 = OUT

Alcune le abbiamo già usate in precedenza ed ora le vedremo in modo più approfondito.

La porta A del PIC è composta da 5 porte ognuna settabile indistintamente l'una dall'altra, queste porte sono associate a tanti altri piedini come si può vedere dalla tabella sottostante:



Lo stesso vbale per la porta B



Supponiamo di avere un progetto che richieda 2 porte di input e 4 di output e di scegliere le prime porte A come input e le prime porte B output, le istruzioni da inserire nel sorgente saranno:

Set PortA.0 = IN
Set PortA.1 = IN
Set PortB.0 = OUT
Set PortB.1 = OUT
Set PortB.2 = OUT
Set PortB.3 = OUT

Come si può notare l'istruzione SET è utilizzata per settare le porte mentre la parola chiave IN od OUT specifica la funzione (input o output).
Possiamo settare tranquillamente 2 porte A in input e le rimanenti in output come nell'esempio seguente:

Set PortA.0 = IN
Set PortA.1 = IN
Set PortA.2 = OUT
Set PortA.3 = OUT

Per facilitare il settaggio di tutte le porte A o di tutte le porte B si possono usare le istruzioni DIR come nell'esempio:

Dir PORTA IN
Dir PORTB OUT

Nel Micropic Trainer le porte A sono collegate agli interruttori mentre le porte B ai diodi led, questo ci ha permesso di testare i programmi negli esercizi precedenti e in quelli successivi.
Ricapitolando, la sintassi per settare tutte le porte in input o in output in un sol colpo è:

DIR porta = IN oppure OUT

La sintassi per settare una singola porta è:

SET portaprincipale.porta = IN oppure OUT

LEZIONE 34
LEZIONE 32