Passa ai contenuti principali

Elettronica - Porte logiche

Le porte logiche in elettronica sono un circuito digitale in grado di implementare una particolare operazione logica di una o più variabili booleane (0-1).

AND
E' una porta logica che riceve in ingresso almeno due valori e restituisce 1 solo se tutti i valori di ingresso hanno valore 1.

Simbolo elettrico
Tabella della verità
INPUT
OUTPUT
A
B
A × B
0
0
0
0
1
0
1
0
0
1
1
1


NAND
E' una porta logica che restituisce in uscita la negazione di una porta AND, quindi restituisce 0 solo se tutti i valori di ingresso hanno valore 1.

Simbolo elettrico
Tabella della verità
INPUT
OUTPUT
A
B
0
0
1
0
1
1
1
0
1
1
1
0


OR
E' una porta logica che riceve in ingresso almeno due valori e restituisce 1 se almeno un valore di ingresso ha valore 1.

Simbolo elettrico
Tabella della verità
INPUT
OUTPUT
A
B
+ B
0
0
0
0
1
1
1
0
1
1
1
1


NOR
E' una porta logica che restituisce in uscita la negazione di una porta OR, quindi restituisce 1 solo se tutti i valori di ingresso hanno valore 0.

Simbolo elettrico
Tabella della verità
INPUT
OUTPUT
A
B
0
0
1
0
1
0
1
0
0
1
1
0


EXOR
E' una porta logica che riceve in ingresso "n" valori e restituisce 1 se, e solo se, c'è almeno un ingresso che differisce dagli altri

Simbolo elettrico
Tabella della verità
INPUT
OUTPUT
A
B
o A o B
0
0
0
0
1
1
1
0
1
1
1
0


EXNOR
E' una porta logica che restituisce in uscita la negazione di una porta EXOR, quindi restituisce 1 solo se tutti i valori di ingresso hanno il medesimo valore logico.

Simbolo elettrico
Tabella della verità
INPUT
OUTPUT
A
B
A o B neg
0
0
0
0
1
1
1
0
1
1
1
0


NOT
E' una porta logica che inverte il segnale in ingresso.

Simbolo elettrico
Tabella della verità
INPUT
OUTPUT
A
0
1
1
0


Con le porte logiche AND, OR e NOT è possibile realizzare qualsiasi funzione booleana e formano un insieme funzionalmente completo.

Si può vedere facilmente che la porta NAND da sola e la porta NOR da sola, costituiscono due insiemi funzionalmente completi: la NAND è definita come NOT-AND e per questo motivo negando l'usicta di una NAND si ottiene una AND.

Questo circuito che utilizza una porta NAND con gli ingressi collegati fra loro, equivale ad una porta NOT
Tabella della verità
INPUT
OUTPUT
A
U
0
1
1
0

Questo circuito che utilizza due porte NAND equivale ad una porta AND
Tabella della verità
INPUT
OUTPUT1
OUTPUT2
A
B
U1
U2
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1

Questo circuito che utilizza tre porte NAND equivale ad una porta OR
Tabella della verità
INPUT
OUTPUT1
OUTPUT2
OUTPUT3
A
B
U1
U2
U3
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1


Allo stesso modo per una porta NOR
Questo circuito che utilizza una porta NOR con gli ingressi collegati fra loro, equivale ad una porta NOT
Tabella della verità
INPUT
OUTPUT
A
U
0
1
1
0

Questo circuito che utilizza tre porte NOR equivale ad una porta AND
Tabella della verità
INPUT
OUTPUT1
OUTPUT2
OUTPUT3
A
B
U1
U2
U3
0
0
1
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
1

Questo circuito che utilizza due porte NOR equivale ad una porta OR
Tabella della verità
INPUT
OUTPUT1
OUTPUT2
A
B
U1
U2
0
0
1
0
0
1
0
1
1
0
0
1
1
1
0
1

Con la sola NAND o la sola NOR può essere utile ai fini pratici perché con un solo tipo di porta è possibile realizzare qualsiasi circuito utilizzando però un maggior numero di porte rispetto a quello che si avrebbe con la sola AND, OR o NOT.

Le porte logiche sono contenute in circuiti integrati i quali al loro interno hanno un numero variabile di porte dello stesso tipo a seconda del numero di ingressi delle singole porte.

Alcuni circuiti integrati delle famiglie TTL e CMOS

TTL
 Sigla    Integrato 
 7400 4 NAND a 2 ingressi 
 7402 4 NOR a 2 ingressi
 7404 6 NOT
 7408 4 AND a 2 ingressi
 7432 4 OR a 2 ingressi
 74386 4 XOR a 2 ingressi

CMOS
 Sigla    Integrato
 4001 4 NAND a 2 ingressi 
 4011 4 NOR a 2 ingressi
 4049  6 NOT
 4081 4 AND a 2 ingressi
 4071 4 OR a 2 ingressi
 4070 4 XOR a 2 ingressi

Commenti

Post popolari in questo blog

Arduino - Lampeggio Led (delay vs. millis)

Cosa sono delay() e millis()? Delay() è una funzione che mette in pausa il programma per un determinato tempo espresso in millisecondi, così facendo viene interrotta l'esecuzione del programma e se abbiamo un dispositivo in ingresso che durante il tempo di pausa cambia di stato il programma non se ne accorge fino a quando non ricomincia l'esecuzione dall'inizio. La struttura di delay è: delay(1000);   da inserire nel punto dello sketch in qui si vuole interrompere il programma in questo modo il programma viene messo in pausa per 1000 millisecondi = 1 secondo. Per saperne di più Millis() è una funzione che permette di sapere da quanto tempo è in funzione il microprocessore di Arduino UNO. In questo modo il programma non andrà mai in pausa ed è sempre in esecuzione, perché millis memorizza il tempo trascorso dall'avvio e poi per eseguire una determinata funzione si fa un controllo del tempo iniziale e il tempo trascorso. Per saperne di più Vediamo un esempi

Arduino - Utilizzo potenziometro e display LCD

Leggere il valore di un poteziometro (parte 1) Il potenziometro è un componente molto utilizzato in elettronica in quanto il suo uso permette di regolare una tensione variabile (in questo caso 0 - 5 Volt) in ingresso al microcontrollore. Il potenziometro va collegato secondo lo schema qui sotto al pin analogico A0 di Arduino.

Arduino - Lettura tensione potenziometro e display LCD

Leggere il valore di un poteziometro (parte 2) Oggi vedremo come leggere il valore in tensione di un potenziometro collegato al pin Analogico A0 di Arduino.