![]() | ![]() |
|
|
Lo scopo di questa esperienza è stato quello di progettare un circuito codificatore per tastiera a 16 tasti connessi a matrice.
Per far ciò prima di tutto abbiamo scelto i componenti da utilizzare per la realizzazione del progetto.
Dopo varie considerazioni siamo giunti alla scelta dei seguenti:
74LS47 - Analizzando questo integrato si vede che presenta le uscite del tipo open collector, ovvero che i BJT in uscita all'IC sono privi delle resistenze di collettore, che vanno aggiunte esternamente, in relazione alla tensione ed alla corrente di pilotaggio del display le uscite attive basse possono assorbire una corrente massima di 40 mA (24mA se LS).
Il pin BI/RB0 usato da solo svolge la funzione d'ingresso di
cancellazione forzata (BI = blanking input); con questo pin a L,
indipendentemente dalle altre entrate, le uscite sono tutte off e quindi il
display si spegne. Se a questo ingresso si applica un segnale impulsivo si può
risparmiare corrente accendendo i display in modo intermittente, ma con una
frequenza tale da fare comunque apparire l'immagine stabile.
In alcuni casi questo ingresso usato per fare volutamente lampeggiare i display in particolari condizioni. Lo stesso terminale può essere usato come uscita utile per la cancellazione di ingressi non significativi (RB0 = ripple blanking output). In particolare, dalla tabella della verità di questo decoder si vede che 454b15e se RBI = L e gli ingressi del decoder sono tutti a L le uscite dello stesso sono H e quindi la cifra più significativa rimane spenta ogni volta che vale 0. Dalla tabella della verità si ricava anche che se gli ingressi del decoder sono a L si ha l'uscita RB0 = L e quindi il collegamento in cascata delle uscite RB0 con le entrate RBI permette di mantenere spenti tutti i display con zeri non significativi. Questo collegamento viene interrotto con l'ultimo display per avere comunque acceso una cifra anche se vale 0.
In esso sono presenti due ingressi di selezione A e B, due ingressi 1G e 2G che si possono considerare come un enable attivi bassi e quattro uscite Y0, Y1, Y2, Y3 per ogni ingresso di selezione.
74LS13 - Questo non è altro che un integrato costituito da 2 porte NAND a 4 ingressi a trigger di Schmitt. Esso è costituito da 14 pin dei quali le A,B,C e D corrispondono agli ingressi della porta logica, mentre le Y corrispondono alle uscite.
74LS174 - Questo integrato è
costituito da 6 flip-flops (ovvero quell'elemento di memoria formato da uno o
più latch, il cui funzionamento è sincronizzato da un segnale di clock) di tipo
D, costituito da 16 pin dove i terminali di ingresso sono indicati con la
lettera D, mentre quelli di uscita con la Q. In esso, inoltre, troviamo i
terminali di ingresso del clock CLK e del clear CLR (attivo basso).
74LS93 - Questo integrato è un contatore binario a
4 bit modulo 16.
Esso è costituito da 4 flip-flops del tipo JK collegati in cascata con 2 ingressi A e B, collegati al clock dei primi due, 4 uscite QA, QB, QC, e QD, e 2 ingressi R0(1) e R1(2) collegati tramite una porta NAND al CLEAR che è attivo basso.
74LS253 - Questo integrato è un
multiplexer, ovvero un selettore, con più ingressi di segnale e una sola
uscita, capace di inviare a questa uscita il segnale presente all'ingresso
selezionato.
Esso è costituito da due ingressi di selezione A e B, quattro ingressi C0, C1, C2, C3 per ogni ingresso di selezione, due ingressi di enable 1G, 2G attivi bassi e due uscite 1Y e 2Y.
Considerando le funzioni che deve svolgere, il sistema di codifica può essere strutturato come illustrato nello schema a blocchi (fig.1).
Il contatore di riga (integrato 74LS93) presenta ciclicamente sulle uscite D3D2 gli stati 00, 01, 10, 11, che vengono decodificati dal decodificatore di riga (integrato 74LS253). Quest'ultimo attiva quindi ciclicamente le righe R0, R1, R2, R3; se mentre una riga è attivata, viene premuto un tasto connesso alla riga stessa, si attiva una delle colonne C0, C1, C2, C3. Il codificatore di colonna (integrato 74LS139) fornisce sulle uscite D1D0 insieme al codice di riga D2D3 costituisce il codice del tasto premuto; il codice completo viene presentato agli ingressi dati di un registro (integrato74LS174) previsto per la memorizzazione.
Il contatore ed il registro sono collegati ad un generatore di clock costituito da due porte NAND a trigger di Schmitt (integrato 74LS13), due resistenze e due condensatori per mezzo della cui carica e scarica si genera l'impulso di clock.
I dati in uscita dal registro vengono successivamente inviati al display per mezzo di un decoder - driver (integrato 74LS47) che converte i dati da binario a decimale.
fig.1 - Schema a blocchi del circuito
Il problema principale per la realizzazione di questa esperienza è stata quella di individuare un meccanismo che potesse riconoscere il tasto premuto sul tastierino. Il problema è stato risolto mediante l'inserimento di un contatore che scandisce ciclicamente le righe, selezionate dal multiplexer, e un demultiplexer che, in una delle quattro colonne, riconosce il tasto selezionato.
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025