Come prima cosa bisogna precisare che essendo la massima
informazione 11110(b) = 30(10)
occorrono due display a sette
segmenti, uno per le unità e uno per le decine. Ci occorrono adesso dei decoder in grado di convertire il nostro codice uscente dal sommatore/sottrattore nel codice a 7 segmenti dei display, a questo proposito si possono utilizzare dei decoder 74LS48 che lavorano in logica positiva e possiedono una corrente di source di 6 mA |
Il problema è che questi decoder vogliono in ingresso
il codice BCD, quindi tra le uscite del sommatore/sottrattore e i 74LS48
c'è incompatibilità di codice che risolveremo mediante l' utilizzo di un
convertitore di codice a 6 bit binario-BCD 74LS185 che ci
restituirà così sui display delle cifre decimali. |
Il 74LS185 (U1) è un convertitore
binario-BCD a 6 bit; a noi di questi 6 bit ne servono solo 5 visto che la
massima informazione è 11110(b), quindi poiché il '185 è della famiglia
logica TTL, l'ingresso fluttuante (E) che si verrà
a creare bisogna collegarlo a massa, altrimenti sarà interpretato uno
stato logico alto. Quando alle uscite y3, y2 e y1 avremo rispettivamente i valori 100(b)=4(10) il convertitore le azzera automaticamente e manda '1' a y4. Questo perché, come si può vedere dallo schema sopra, la cifra meno significativa del sommatore (LSD) non passa per il convertitore implicando che qualunque sia il suo valore( di S0 in questo caso) '0' o '1', comunque il valore seguente all' informazione 100(b) è 101(b) con cui si può avere 1010(b)=10(10) oppure 1011(b)=11(10) e quindi è necessario mandare l' '1' a y4 che varrà dunque una decina e si azzerano le unità ottenendo così sui display il valore 10(10) (una decina e zero unità). |
Gli ingressi ausiliari dei due 74LS48 non sono collegati allo stesso modo. Per il decoder della cifra meno significativa (LSD) devono essere collegati tutti a Vcc in modo tale da farlo lavorare in maniera "normale", mentre per quello della cifra più significativa RBI (PIN5) e LT (PIN3) devono essere collegati a Vcc ma RBO (PIN4) deve essere collegato a massa in modo di garantire lo spegnimento degli zeri inutili nelle decine quando si devono visualizzare numeri che vanno da -9(10) a +9(10). |
Il problema è che i 74LS48 hanno una corrente di source troppo bassa (6mA) per i display che ne vogliono dai 10mA ai 20mAquindi occorre amplificare la corrente tramite dei buffers. I buffers essendo in genere elementi three-state necessitano di essere abilitati. Noi avevamo a disposizione dei buffers invertenti 74LS240 con corrente di sink di 24mA |
In uno dei buffers ci farò passare anche il segnale del segno poiché questo uscendo da una porta and di un 74LS08 (U2D) ha una corrente di 0,4mA veramente troppo bassa per illuminare il diodo led. |
I buffers hanno ora una corrente di sink di 24mA e questo ci induce a pensare due cose, ricordando che i display hanno al loro interno dei diodi led, ed in quanto tali per emettere luce deve essere posto l'anodo a potenziale maggiore rispetto al catodo, ci occorrono dunque dei display ad anodo comune e bisogna interporre tra i buffers e i display delle resistenze cautelative. |
Vediamo il valore delle resistenze che ci occorrono. Abbiamo Vcc=5V, una tensione che deve cadere sui diodi dei display di circa 1,8V (da 1,6V a 2,1V), una tensione d' uscita a livello basso del '240 VoL0,2V e una corrente che deve passare attraverso i diodi led dei display di circa 18mA (dai 10mA ai 20mA). Abbiamo dunque una tensione che cade sulla resistenza di: |
Il calcolo della resistenza è comunque indicativo visto che andrebbero bene delle resistenze che vanno dai 150ohm ai 470ohm. Noi abbiamo scelto pei pacchi resistivi da 220ohm attraverso i quali abbiamo fatto passare anche il segno visto che anche questo andava a terminare su un diodo led. |
Lista dei componenti:
1x 74LS185 --->convertitore a 6 bit binario-BCD |
Vai al modulo per l' alimentazione
interna ed esterna. Torna al modulo precedente. Vai al modulo della realizzazione o della foto. Vai all' index. |