Corso di programmazione per microcontrollori PIC. Settima puntata – 3

Corso di programmazione per microcontrollori PIC

Allora, sono possibili 3 diverse combinazioni, scelte sulla base di quelle che ci sono sembrate le applicazioni più comuni del PIC16C84; tutte si selezionano, con l’aiuto dei buffer tri-state, mediante i jumper JP1, JP2 e JP3:

– Ponticellando JP1 si attivano i line-driver U3a, U3b, ed U4a; in pratica si rendono disponibili:
1) la tastiera a matrice (da collegare alle righe ed alle colonne portate alle rispettive piazzole dello stampato) collegata alla porta B del PIC, ovvero alle rispettive linee RB0÷RB7;
2) la cifra decimale (gestita da 4 degli 8 bit della porta A, cioè RA0÷RA
3) ovvero il display 7segmenti a led pilotato tramite U4a e il decoder BCD/7segmenti siglato U7.

– Ponticellando JP2 si rendono disponibili:
1) il display LCD, collegato alle linee RB0÷RB7 per quanto riguarda il bus-dati, e ad RA0÷RA2 per la gestione delle linee di controllo RS, R/W, ed E;
2) i pulsanti P1 e P2, collegati alle linee RA3 ed RA4, configurate queste come ingressi.

– Chiudendo JP3 si abilitano infine:
1) gli 8 led collegati alla porta B (RB0÷RB7) mediante il buffer U1;
2) i pulsanti P1 e P2 gestiti ancora da RA3 ed RA4;
3) i due relè RL1 ed RL2, attivati tramite i transistor T1 e T2, con le linee RA1 ed RA2 del microcontrollore;
4) il cicalino piezoelettrico BZ, comandato dal transistor T3, pilotato a sua volta dalla linea RA0 della porta A.

Notate che per come è fatto il simulatore le selezioni possono essere fatte una sola alla volta, cioè si può chiudere uno soltanto dei 3 jumper, e non più d’uno contemporaneamente. Notate ancora che i ponticelli JP1, JP2 e JP3 sono provvisti ciascuno di una resistenza di pull-up, e comandano direttamente, o tramite una semplice logica a diodi, i piedini di abilitazione dei buffer tri-state: chiudendo il primo si abilita l’intero U3, e la prima parte dell’U4 (U4a) permettendo la scansione della tastiera a matrice e l’uso del display a led, mentre U2, U4a, U1 ed U5 sono in tri-state perché con JP2 e JP3 aperti le rispettive resistenze di pull-up ne pongono i pin di controllo a livello alto.

Praticamente R11 tiene ad 1 logico il piedino 1 dell’U5b ed 1 e 19 dell’U1, oltre al catodo del D4; R12 fa lo stesso con il catodo del diodo D5, con il piedino 19 dell’U4b, e con 1 e 19 dell’U2. La resistenza R8 assicura il livello alto al pin 19 dell’U5a, poiché D4 e D5 sono interdetti. Chiudendo il solo JP2 l’U5a viene attivato con lo zero portato dal D5, ed anche U4b ed U2 vengono abilitati mediante i piedini 1 per il primo, ed 1/19 per il secondo. Gli altri buffer sono disattivati.

Con JP3 chiuso si abilita ancora U5a, stavolta tramite lo zero logico portato dal diodo D4, ma anche U1 (i pin 1 e 19 vengono messi a livello basso) ed U5b. Riassumendo possiamo pertanto dire che con JP1 è possibile testare ad esempio un software per gestire una tastiera a matrice di 4 righe per 3 colonne, oppure 4×4, che visualizzi sul display a led il numero del tasto battuto di volta in volta; oppure un programma che comunque debba gestire la matrice o solo il display 7-segmenti.

STAMPA     Tags:

Leave a Reply