[index][sommatore][I modulo][II modulo][III modulo][IV modulo][V modulo] Progetto di un sommatore/sottrattore a 4 bit con circuito di visualizzazione a due cifre
Il sommatore/sottrattore
è un circuito logico in grado di eseguire somme o sottrazioni. Gli
ingressi verranno forniti tramite dei DIP-switch e i risultati su due
display a sette segmenti accanto ai quali verrà indicato con un diodo led
se il risultato è positivo o negativo. L' elemento principale del sommatore/sottrattore è l' integrato 74LS83(U3) il quale attraverso un segnale di controllo (SW)ci permetterà di eseguire le due operazioni. |
Ma poiché il metodo del complementazione a 2 rimane ancora complesso da realizzare, possiamo ottenere lo stesso risultato tramite il metodo della complementazione a 1. |
Questo procedimento si può ottenere tramite un blocco di controllo posto tra l' uscita C4 del 74LS83 e l' ingresso C0 (U2A) dello stesso il quale solo in particolari situazioni non farà altro che aggiungere l' eventuale "quinto bit"(C4) al risultato ottenuto nella somma ottenedo così la sottrazione tramite il metodo della complementazione a 1. |
Ci occorrerà un blocco che sia in grado quindi di eseguire la complementazione a 1del sottraendo in caso di una sottrazione ma che lasci trasparire il numero in caso di una somma. A questo proposito ho utilizzato delle porte di anticoincidenza Exclusive-OR perché se si osserva il gating di questa porta ci accorgiamo che per : |
PIN 1 = controllo PIN 2 = B PIN 3 = y |
Quindi con delle ex-or collegate opportunamente agli ingressi B0..B3 e ad un ingresso di controllo (U1A...U1D) potrò scegliere se farlo passare normalmente o complementato a uno. E' facile da intuire adesso che con questo ingresso di controllo dunque stabilirò il tipo di operazione. Il collegamento di cui sopra è il seguente |
U1A |
Dove SW è il segnale di controllo e B0,B1,B2,B3 sono gli ingressi del sommatore/sottrattore. |
Incominciamo a vedere i vari casi che ci si possono
presentare effettuando delle operazioni con il sommatore/sottrattore. SOTTRAZIONE A>B: c'è sempre un riporto che va riportato tramite un blocco dall' uscita C4 all' ingresso C0 del 74LS83 per poter effettuare la somma della complementazione a 1 del sottraendo. Questo blocco può essere in una prima pensata una porta logica and avente come ingressi C4 ed SW e l' uscita collegata con C0 (U2A). In questo modo poiché SW=1 e C4=1 potremo riavere la somma del minuendo e il complemento a 1 del sottraendo +1. A questo punto il risultato deve passare così com' è quindi non occorre aggiungere altro. |
A<B: non c'è alcun riporto e le uscite del 74LS83 rappresentano la complementazione a 1 del risultato(poiché il risultato è minore di 0), quindi deve essere filtrato tramite un particolare blocco (U5A...U5D) che effettui la complementazione a 1 nel caso di una sottrazione e in cui A sia minore di B |
I bit più a sinistra rappresentano il segno (0=positivo
1=negativo) e durante l' ultima complementazione non va toccato. Questa complementazione dunque deve essere eseguita solo nel caso in cui SW=1 e C0=0, quindi potremmo utilizzare una porta logica not che mi neghi il valore di C4 (U4A) e che vada a finire come ingresso assieme a SW in una porta logica and (U2B) la quale solo in questa condizione mi andrà a pilotare un blocco di complementazione come quello visto sopra. |
SOMMA
Adesso bisogna vedere se tutto quello a cui abbiamo
pensato va bene anche per la somma. |
Per quanto riguarda il segno possiamo notare di avere un
passaggio di corrente che attiva il secondo blocco complementante solo nel
caso in cui abbiamo una sottrazione ed A è minore di B, quindi per avere
la segnalazione di un risultato negativo, che ci sarà solo in questo
caso, non occorre altro che prendere questo segnale (uscente dal PIN 6 di U2B)
e collegarlo opportunamente al diodo led. Si deve notare però che quando si esegue l' operazione 0000(b) - 0000(b) il C4 del 74LS83 è ad un livello logico alto, tanto è vero che tramite questo segnale viene rieseguita la seconda complementazione che restituirà poi il valore 0000(b), quindi bisogna intervenire per eliminarlo. Per eliminare questo difetto possiamo ricordarci il funzionamento della porta logica or la quale fornisce '0' solo se tutti gli ingressi hanno un livello logico basso. |
Possiamo quindi mandare i 4 bit che compongono il numero della sottrazione S0,S1,S2,S3 in una or a 4 ingressi (U6A...U6C) la cui uscita andrà in una porta logica and (U2D) assieme al segnale di numero negativo di cui sopra e poi mandare l' uscita di questa opportunamente al led; così facendo quando avremo un risultato negativo diverso da 0(10) verrà segnalato ma nello stesso tempo eviteremo la situazione di -0(10). |
S = '0'
D = '1'
Lista dei componenti:
2x 74LS86 ---> 4 porte logiche EX-OR |
Adesso si può passare al prossimo
modulo nel quale verrà trattato il circuito di visualizzazione a 2
cifre e la segnalazione del segno. Vai al modulo per l' alimentazione interna ed esterna. Vai al modulo della realizzazione o della foto. Torna all' index. |