Tastierino numerico con PIC

tastiera numerica con pic

Si tratta di un sistema elettronico con tastierino numerico su PCB, comandato e gestito dal PIC 16F1937; un microcontrollore RISC a 8 bit della Microchip estremamente versatile e semplice da utilizzare. E’ dotato di memoria programma, ram utente, periferiche interne e porte di ingresso/uscita per ricevere e trasmettere segnali da e verso l’esterno.

Il PIC 16F84 e’ un microcontrollore che puo’ essere pensato come un piccolissimo computer completo realizzato in un unico integrato a 18 pin. E’ dotato infatti di memoria programma, ram utente, periferiche interne e porte di ingresso/uscita per ricevere e trasmettere segnali da e verso l’esterno.  Puo’ essere alimentato da 3 a 5,5V e assorbe poco piu’ di 2 mA. Vss e’ la massa (chiamata anche GND), Vdd e’ il positivo di alimentazione (chiamato anche Vcc). OSC1 e OSC2 sono i pin a cui va collegato il quarzo per il clock, a questi vanno anche collegati due condensatori da 22pF verso massa come indicato nella figura di sotto. Il quarzo puo’ arrivare fino a 20Mhz a seconda del tipo di PIC. Collegando a massa il pin MCLR si ottiene il reset del micro, normalmente questo pin va tenuto a 1 con una resistenza da qualche K collegata a Vdd. Gli altri 13 pin sono ingressi/uscite singolarmente programmabili e ciascuno puo’ pilotare almeno 20mA. Il pin RB0 puo’ essere programmato come ingresso di interrupt. I pin da RB4 a RB7 possono generare un interrupt di gruppo. Tutti i pin della porta B (RB0..RB7) se configurati come ingressi possono disporre di una resistenza di pull-up interna. Il pin RA4 in uscita e’ un open collector,  e in ingresso puo’ essere usato come clock di conteggio per il timer interno. Le porte di I/O (porta A e porta B) sono mappate in RAM, cio’ significa che si puo’ leggere e scrivere nelle porte semplicemente leggendo e scrivendo nelle relative locazioni in RAM. Ad esempio, una scrittura di un byte nella locazione di memoria collegata alla porta B causa la configurazione opportuna dei segnali di tensione nei piedini della porta B (RB0,RB1,RB2 … RB7), viceversa una lettura traduce in un byte la configurazione attuale delle tensioni applicate sui piedini di tale porta.

Il tastierino numerico da collegare al PIC è realizzato direttamente su PCB con connessioni al PIC estremamente vicine per una maggiore stabilità. Il PCB, per ovviare a questo, è a doppia faccia. E’ stato usato un nastro adesivo per isolare il touch per avere un divario tra massa e superficie dei pulsanti e per poter posizionare una copertina numerica di riferimento.

schema elettrico

tastiera numerica

Per comprendere esattamente la natura del problema dobbiamo innanzitutto capire come è fatta una tastierina a matrice. Le più comuni reperibili in commercio sono le tastiere esadecimale. Hanno cioè 4 righe e 4 colonne; sono infatti anche dette tastiere 4×4 (4 x 4 = 16 = esadecimale). Pur avendo 16 tasti sono dotate di soli 8 pin. Il problema è proprio questo: come sono collegati i 16 tasti con gli 8 pin? Per capirlo aiutiamoci con lo schema qui sotto, che mostra come è realizzato il circuito interno di queste tastiere. Come potete vedere, tutti i pulsanti di una stessa riga sono connessi tra loro come pure tutti i pulsanti di una stessa colonna.

schema tastiera

Si capisce quindi, che alla pressione, ad esempio, del tasto P7, vengono connesse tra loro la 2a riga e la 3a colonna. Al contrario se noi, ci accorgiamo che la 2a riga e la 3a colonna sono connesse tra loro, possiamo affermare con esattezza che è premuto il tasto P7.

Il codice di controllo scritto in C è abbastanza semplice e prevede l’accessione del display in corrispondenza della pressione del tasto.

2 Comments

  1. Emanuele 2 settembre 2011
  2. mdipaolo 6 settembre 2011

Leave a Reply