Buscar

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 82 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 82 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 82 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS DIGITAIS 
 
 
A análise da lógica Digital precisa de considerar dois aspectos di-
ferentes: o processo lógico, que é a base teórica dos computadores, 
calculadoras electrónicas, relógios digitais e restantes aparelhos elec-
trónicos digitais, e o circuito electrónico, com o qual se constroem todos 
os aparelhos indicados. A tomada de decisões é o objectivo da lógica 
digital e o circuito electrónico é quem realiza e executa o dito objectivo. 
Por natureza, o Homem está familiarizado com a lógica, já que a 
sua mente usa continuamente a lógica para a realização de funções 
de tomada de decisão. Assim, podemos resolver problemas matemáti-
cos, tomar decisões baseadas em factos acontecidos e modificar as 
nossas decisões, em resultado de novas informações, ou com o conhe-
cimento adquirido previamente e armazenado na nossa memória. A 
nossa mente é uma aproximação do que a electrónica digital realiza 
electronicamente, pelo menos quando os nossos aspectos emocionais e 
intuitivos estão completamente superados. 
 
Angulo (J. M.) – Electrónica Digital Moderna – Teoria e Prática, Edi-
torial Paraninfo Bilbau, 1991. 
 
 
 
Índice 
 
 
Introdução. Electrónica Digital 2 
Sistemas de Numeração 3 
Conversões entre Sistemas 6 
Aritmética em Binário 11 
Operações Lógicas 11 
Prioridades das Operações 13 
Circuitos Lógicos 14 
Propriedades das Operações Lógicas 15 
Operações Derivadas 17 
Simplificação Analítica e Funções 21 
Representação Alternativa das Portas Lógicas 22 
Portas Universais 23 
Formas Canónicas 24 
Simplificação de Equações pelo Método de Karnaugh 28 
Códigos BCD 35 
Códigos Não BCD 38 
Famílias Lógicas 43 
Circuitos Combinatórios 48 
Elementos Básicos de Memória 68 
Circuitos Sequenciais 81 
 
 
Sistemas Digitais 
p. 2 
Introdução – Electrónica Digital 
 
A electrónica digital encontra-se em grande expansão, desde o aparecimen-
to dos circuitos integrados: embora tenha aparecido antes, foi a capacidade de 
construir equipamentos cada vez menores e mais poderosos que permitiu o 
grande desenvolvimento da electrónica digital que, em muitas aplicações, tem 
vindo a substituir outras tecnologias. 
Os circuitos digitais caracterizam-se pelo facto de as tensões tomarem um 
número finito de valores e variarem bruscamente, ao contrário dos circuitos 
analógicos: 
 
 
Sinal analógico Sinais digitais 
Os sinais analógicos tomam um número infinito de valores entre dois esta-
dos: variam de forma contínua, sendo um exemplo comum de sinal analógico, 
a tensão alternada sinusoidal; os sinais digitais só podem tomar um número 
finito de valores: variam de forma discreta. 
A maior parte dos fenómenos físicos são analógicos: por exemplo, entre as 
14h17 e as 14h29 existe uma infinidade de instantes, embora estejamos habi-
tuados a contar o tempo em minutos ou segundos. Nos relógios analógicos, o 
ponteiro roda de forma contínua e, nos digitais, os algarismos mudam brus-
camente, a cada segundo. 
Existem circuitos que fazem a conversão de sinais analógicos para digitais 
(Conversores Analógico – Digital, ADC), por exemplo tomando valores de tem-
peraturas a intervalos de tempo definidos, assim como de sinais digitais para 
analógicos (Conversores Digital – Analógico, DAC). 
O segundo sinal digital representado acima, em que a tensão pode assumir 
dois estados definidos é um sinal binário, sendo os dois níveis de tensão desi-
gnados estados ou níveis lógicos baixo e alto ou, simplesmente por 0 e 1, em-
bora a tensão do nível baixo não seja necessariamente de 0 V, nem a do nível 
alto, de 1 V. Em circuitos de electrónica digital, o sinal de entrada pode ser, 
por exemplo, uma onda quadrada, de modo a levar os transístores a funcionar 
quer ao corte, quer à saturação. A electrónica digital pode ser utilizada em: 
- Automatismos Industriais: comando de máquinas, automatização de li-
nhas de montagem, etc. 
- Aquisição, tratamento e comunicação de dados: processamento de sa-
lários, controlo de tráfego, informática, etc. 
- Electrodomésticos, calculadoras, computadores, etc. 
Os dois estados binários (alto e baixo) podem ser utilizados com diferentes 
significados, de acordo com as aplicações em causa. Exemplos: 
 Estado Significado 
Automatismos 
Baixo 
Alto 
Contacto não actuado, saída desactivada 
Contacto actuado, saída activada 
Lógica 
Baixo 
Alto 
Afirmação falsa 
Afirmação verdadeira 
Aritmética 
Baixo 
Alto 
Zero 
Um 
 
Sistemas Digitais 
p. 3 
Sistemas de Numeração 
 
Os circuitos digitais electrónicos não trabalham com o nosso sistema de 
numeração: nós estamos habituados ao sistema decimal porque temos dez 
dedos nas mãos (daí, o nome de dígitos, dado aos dez algarismos, de 0 a 9), 
mas nos circuitos digitais, que são binários, existem dois estados possíveis 
(sem tensão / com tensão) e, por isso, trabalham com o sistema de numeração 
binária, que utiliza dois algarismos, chamados bits (binary digits): 0 e 1. 
O sistema de numeração decimal tem origem, provavelmente, chinesa mas, 
ao longo da História, diferentes povos utilizaram outros sistemas de numera-
ção (por exemplo, na Babilónia, o sexagesimal, de que são, ainda vestígios, as 
divisões do tempo: um minuto tem 60 segundos). 
 
No Sistema Decimal, a posição relativa de cada algarismo dá-lhe um peso 
específico, (é um sistema ponderado1): um número pode ser formado por 
vários algarismos e o valor de cada um depende da ordem em que aparece no 
número. Por exemplo, em 234, o 3 vale 30 (3×10, em que 10 é o peso, devido à 
posição do algarismo, na casa das dezenas). O número poderia ser escrito de 
outras formas: 
 
2×100 + 3×10 + 4×1 = 2 ×102 + 3 × 101 + 4 × 100. 
 
O peso de cada algarismo é uma potência de base 10, cujo expoente vai 
crescendo da direita para a esquerda, desde 0, no algarismo das unidades. Por 
isso, o sistema decimal pode ser chamado Sistema de Base Dez. 
 
Na contagem, em decimal, passa-se de um número, ao seguinte, aumen-
tando de uma unidade o algarismo mais à direita, excepto se este for o 9, por-
que não há nenhum algarismo maior. Nesse caso, o 9 passa a 0 e soma-se 
uma unidade ao algarismo imediatamente à sua esquerda: ...238, 239, 240... 
 
No Sistema de Numeração Binário ou Sistema de Base Dois, os números 
são representados por sucessões (ou “palavras”) de bits e os pesos destes são 
potências de 2. 
Em geral, para cada aplicação, define-se o número de bits a utilizar, (com-
primento da palavra). Existem três comprimentos mais importantes que dão 
nomes especiais às respectivas palavras: 
 
Comprimento da palavra Nome da palavra 
4 
8 
16 
Nibble ou Quarteto 
Byte ou Octeto 
Word ou Palavra 
 
Numa palavra binária com um dado comprimento, designam-se: 
- O bit mais à direita, o de menor peso, por LSB, (Least Significant Bit) 
- O bit mais à esquerda, por MSB, (Most Significant Bit). 
 
À semelhança do que se passa no sistema decimal, o valor de um número 
escrito em binário corresponde a uma soma, por exemplo, 1101 significa: 
 
1 Um exemplo de sistema de numeração, não ponderado, é a numeração romana. 
Cada símbolo tem um dado valor que não depende da posição que ocupa na escrita do 
número. Ex: MDCXXIV = 1000 + 500 + 100 + 10 + 10 – 1 + 5. 
Sistemas Digitais 
p. 4 
1×23 + 1×22 + 0×21 + 1×20 = 1×8 + 1×4 + 0×2 + 1×1 
 
O número que se segue a 1101 é 1110, porque, como o último algarismo é 1 
e é o maior de que dispomos, passa a 0 e soma-se uma unidade ao que está à 
sua esquerda que passa de 0 a 1. 
 
Note-se que, excepto para o peso do LSB, todos os outros pesos são pares. 
Assim, da mesma forma que se sabe que um número escrito em decimal é 
múltiplo de 10, se acaba em zero, um número escrito em binário é par (múlti-
plo de 2), se termina em zero e ímpar, se terminaem um. 
Dado que um número não precisa de ser muito grande para, em binário, ser 
escrito com muitos algarismos, para evitar erros, utilizam-se também, como 
auxiliares, os Sistemas Octal, (de Base 8) e Hexadecimal, (de Base 16). 
A vantagem destes sistemas é que, para além de precisarem de muito 
menos algarismos, é muito fácil converter números escritos em binário para 
qualquer um deles e deste, para decimal. 
 
No Sistema Octal ou de Base Oito, utilizam-se os algarismos de 0 a 7. Por 
exemplo, o número octal 36 tem, em decimal, o valor: 
 
3×81 + 6×80 = 3×8 + 6×1 = 24 + 6 = 30 
 
No Sistema Hexadecimal ou de Base Dezasseis, utilizam-se, além dos alga-
rismos de 0 a 9, as letras maiúsculas de A a F que valem, respectivamente: 10, 
11, 12, 13, 14 e 15. Por exemplo, o número 2D0, vale, em decimal: 
 
2×162 + 13×161 + 0×160 = 2×256 + 13×16 + 0×1 = 720 
 
O seguinte Quadro mostra as equivalências para os primeiros 17 números, 
escritos nas bases 10, 2, 8 e 16: 
 
Base 
10 2 8 16 
0 0 0 0 
1 1 1 1 
2 10 2 2 
3 11 3 3 
4 100 4 4 
5 101 5 5 
6 110 6 6 
7 111 7 7 
8 1000 10 8 
9 1001 11 9 
10 1010 12 A 
11 1011 13 B 
12 1100 14 C 
13 1101 15 D 
14 1110 16 E 
15 1111 17 F 
16 10000 20 10 
 
Como se pode ver e inferir da Tabela, a quantidade de números binários 
que se podem representar com n bits é dada por 2n e o número máximo que se 
pode representar com os mesmos bits é igual a 2n - 1: Por exemplo, com um 
Sistemas Digitais 
p. 5 
Byte, (conjunto ou palavra de 8 bits), podem-se representar 28 = 256 números 
diferentes, desde 0 a 28 - 1, ou seja, o maior número que se pode representar é 
28-1 = 255. 
Da mesma maneira, podem-se representar com n algarismos octais, 8n 
números diferentes e com n algarismos hexadecimais, 16n. Por isso, para 
representar os primeiros 16 números, tivemos que utilizar 2 algarismos octais 
porque com 1 só se poderiam representar 81 = 8 números mas conseguimos 
representar os mesmos 16 números com palavras de, apenas 1 algarismo 
hexadecimal. 
 
Em geral, 
 
- Quando estamos a tratar de números escritos em diferentes bases, 
para se saber qual a base em que um número é escrito, escreve-se a base 
em índice; 
- O significado da escrita de um número na base B, com n dígitos, é: 
 
an-1 an-2 …a1 a0(B) = an-1×Bn-1 + an-2×Bn-2 + … + a1× B1 + a0× B0 
 
Para números fraccionários, a regra mantém-se. Por exemplo: 
 
101,11(2) = 1×22 + 0×21 + 1×20 + 1×2-1 + 1×2-2 = 4+0+1+0,5+0,25 = 5,75(10) 
Sistemas Digitais 
p. 6 
Conversões entre Sistemas 
 
1. Para se converter de qualquer base, para decimal, utiliza-se a fórmula 
dada acima. 
 
Exemplos: 
 
2348= 2×82 + 3×81 + 4×80 = 2×64 + 3×8 + 4×1 = 15610 
F716 = 15×161 + 7×160 = 15×16 + 7×1 = 24710 
11012 = 1×23 + 1×22 + 0×21 + 1×20 = 1×8 + 1×4 + 0×2 + 1×1 = 
= 8 + 4 + 1 = 1310 
 
Esta última passagem sugere o seguinte: 
 
 
Na conversão de Binário para Decimal, se atribuirmos, aos bits, da 
direita para a esquerda, como pesos, as potências de 2 (1, 2, 4, 8, ..., 2n-1) 
e, depois somarmos os pesos correspondentes aos uns, podemos obter 
mais rapidamente o valor em decimal. 
 
 
2. Para se converter de decimal, para um sistema noutra base, divide-se, 
sucessivamente o número pelo valor da base, até se obter o quociente 0 e vão-
se anotando os restos. Depois, estes são escritos pela ordem contrária à que 
apareceram – o dígito menos significativo do número no sistema pretendido é o 
resto da primeira divisão. Exemplos: 
 
Converter: 
58 para a base 8 
 
 5810 = 728 
Converter: 
69 para binário 
 
 6910 = 10001012 
Converter: 
247 para a base 16 
 
 24710 = F716 
Sistemas Digitais 
p. 7 
3. As conversões de octal ou hexadecimal para binário e vice-versa são mais 
simples porque as respectivas bases, 8 e 16, são potências de 2, respectiva-
mente 23 e 24. Por esta razão, um dígito octal é equivalente a 3 bits e um dígito 
hexadecimal, a 4 (ou 1 nibble). 
 
Octal Binário Hexadecimal Binário 
0 000 0 0000 
1 001 1 0001 
2 010 2 0010 
3 011 3 0011 
4 100 4 0100 
5 101 5 0101 
6 110 6 0110 
7 111 7 0111 
 8 1000 
 9 1001 
 A 1010 
 B 1011 
 C 1100 
 D 1101 
 E 1110 
 F 1111 
 
Assim temos as seguintes regras: 
 
 
- Para converter um número escrito em octal para binário, podemos 
“traduzir” cada dígito, por 3 bits; 
- Para converter de hexadecimal para binário, podemos “traduzir” cada 
dígito, por 4 bits; 
- Para converter de binário, para octal ou para hexadecimal, divide-se 
o conjunto de bits, da direita para a esquerda, em grupos de 3 ou de 4, 
acrescentando zeros à esquerda, se for necessário, e converte-se cada 
grupo no dígito correspondente. 
 
 
Exemplos: 
 
1. Conversão de 368 para binário: 
 
3 = 011; 6 = 110 ⇒ 368 = 0111102 
 
2. Conversão de B416 para binário: 
 
B = 1011; 4 = 0100 ⇒ B416 = 101101002 
 
3. Vamos converter o número 1011100112, para: 
 
a) Octal 
101110011 → 101 110 011 → 5638 
b) Hexadecimal 
101110011 → 0001 0111 0011 → 17316 
Sistemas Digitais 
p. 8 
 
 
A conversão, para binário, de números decimais muito grandes torna-
se mais prática se passarmos o número da base 10, para a base 8 ou 16 
e, depois, desta para binário. 
 
 
Exemplo: 
 
Vamos converter 7510 para binário: 
 
Conversão directa Decimal → Binário Dec. → Octal → Binário 
 
 
Verifica-se que 7510 = 10010112 e que, no segundo caso, efectuámos 
menos quatro divisões. 
 
 
 
Aritmética em Binário 
 
Dado que, no sistema binário, existem apenas dois algarismos, é muito 
simples decorar as tabuadas das operações: 
 
Tabuada da Adição Tabuada da Subtracção 
0 + 0 = 0 
1 + 0 = 1 
1 + 1 = 10 
0 – 0 = 0 
1 – 0 = 1 
1 – 1 = 0 
Tabuada da Multiplicação Tabuada da Divisão 
0 × 0 = 0 
1 × 0 = 0 
1 × 1 = 1 
0 : 1 = 0 
1 : 1 = 1 
 
As operações são realizadas, utilizando os algoritmos conhecidos do Siste-
ma decimal. Por exemplo, para uma adição: 
 
 
Lendo, a partir da coluna da direita: 
Um mais um é zero e vai um 
um mais um mais um é um e vai um 
um mais zero é um e mais zero é um 
zero mais um é um 
um mais um é zero e vai um. 
 
Sistemas Digitais 
p. 9 
Código de Complemento a Dois 
 
Para representar, em binário, números negativos, o código mais utilizado é 
o código de complemento a dois. 
Antes de vermos como é feita a codificação, vamos definir: 
 
Complemento a B ou Complemento Verdadeiro de um número na Base B 
é a diferença entre o número e a potência de B imediatamente superior. 
 
Por exemplo, na base 10, o complemento a 10, ou complemento verdadeiro 
do número 38 é dado por 100 - 38 = 62. 
 
Complemento Restrito de um número na Base B ou Complemento a B-1 
é a diferença entre o complemento verdadeiro e um. Pode ser obtido sub-
traindo o número, ao valor dado pela diferença entre a potência de base B 
imediatamente superior ao número e 1. 
 
Assim, o código de complemento a 10 pode ser obtido somando 1, ao código 
de complemento a 9. Exemplo: Código de complemento a 9 de 38: 99 – 38 = 
61; código de complemento a 10 de 38: 61 + 1 = 62. 
 
Este código baseia-se no seguinte: A operação 8 – 3 = 5 poderia ser obtida, 
somando a 8, o complemento a 10 de 3 e desprezando o algarismo das deze-
nas do resultado: 8 + 7 = 15; 15 – 10 = 5. 
 
Com o código de complemento a 2, passa-se o mesmo, mas em binário. 
Nota: 
Para trabalhar com este código, deve fixar-se previamente o número de bits a 
utilizar. 
 
Vejamos, a título de exemplo como obter o código do número negativo -3, 
com 4 bits: 
O código binário de 3 é 0011. O código de complemento a 1 do número 3 
é: 1111 – 0011 = 1100. O número negativo -3, é o complemento a 2 do códi-
go de 3, que por sua vez é dado pela soma de 1 ao códigode complemento a 
1: 1100 + 1 = 1101. 
 
Assim, a operação 7 – 3 poderia ser codificada por: 0111 + 1101 = 1 0100, 
desprezando o bit mais à esquerda, uma vez que estamos a trabalhar com 
números representados a 4 bits. Obtemos assim 0100 que representa o núme-
ro 4 (= 7 - 3). 
 
No exemplo acima, constata-se que o código de complemento a 1 de um 
número é igual ao seu código binário, trocando os 1s por 0s e os 0s por 1s: 
 
Código de 3 Código de complemento a 1 de 3 
0011 1100 
 
Para obter o respectivo código de complemento a 2, basta somar 1. 
Uma vantagem imediata deste código é atribuir, ao bit mais significativo 
(MSB) da palavra, o significado de sinal: 0, para números positivos e 1, para 
números negativos. 
Sistemas Digitais 
p. 10 
No código de Complemento a dois, por exemplo com 4 bits, temos a seguin-
te correspondência, com números escritos em decimal: 
 
Compl. a 2 Decimal 
0000 0 
0001 1 
0010 2 
0011 3 
0100 4 
0101 5 
0110 6 
0111 7 
1000 -8 
1001 -7 
1010 -6 
1011 -5 
1100 -4 
1101 -3 
1110 -2 
1111 -1 
 
É claro que uma desvantagem desta representação é que reduz para cerca 
de metade, o número máximo que se pode representar com um dado número 
de bits: 
O número de total é o mesmo mas, agora divide-se em positivos e negativos. 
Por exemplo, com 4 bits, já vimos que se podem representar 16 números dife-
rentes, em binário natural, os números de 0 a 15 e, em complemento a dois, 
os números -8 a 7. 
 
Sistemas Digitais 
p. 11 
Álgebra de Boole 
 
Em meados do século XIX, George Boole desenvolveu uma teoria matemáti-
ca, baseada em variáveis de 2 estados, com o objectivo de representar e tratar, 
de forma sistemática, as leis da lógica. Essa teoria foi desenvolvida e tem sido 
aplicada, com o nome de Álgebra de Boole, a todos os sistemas de automatiza-
ção, assim como aos sistemas digitais. 
 
A álgebra de Boole trabalha com: 
 
- Variáveis Binárias, que podem assumir dois estados, por convenção, 0 
e 1, que não representam necessariamente quantidades, podendo represen-
tar, por exemplo: níveis de tensão, (baixo / alto, respectivamente), afirma-
ções (falso e verdadeiro), contactos eléctricos (não actuado / actuado) ou vál-
vulas pneumáticas (aberto / fechado). 
- Operações Lógicas. Com este tipo de variáveis, podem ser definidas três 
operações lógicas: Produto Lógico, Soma Lógica e Negação Lógica. 
- Postulados - Princípios básicos evidentes. 
 
 
Operações Lógicas 
 
1. Produto Lógico (AND) – Operação sobre duas ou mais variáveis, cujo 
resultado é 1, apenas quando todas as variáveis valerem 1: basta que uma das 
entradas esteja a 0, para que a saída também o esteja. 
 
Exemplo: 
 
A lâmpada acende (L = 1) se k1 for 
actuado (k1 = 1) e k2 for actuado (k2 = 1). 
 
Para além do esquema de contactos2, as operações lógicas podem ser repre-
sentadas de várias outras formas, entre as quais, as seguintes: 
 
- Representação Analítica, equação que traduz a operação: 
L = k1 ⋅ k2 - lê-se: “L igual a k1 e k2”. 
 
- Tabela de Verdade, em que se indicam todas as combinações possíveis dos 
estados das entradas e os correspondentes estados da saída: 
k2 k1 L 
0 0 0 
0 1 0 
1 0 0 
1 1 1 
 
Nos circuitos lógicos, as operações podem ser implementadas por Portas 
Lógicas. Para representar a porta AND, utilizam-se os seguintes símbolos: 
 
2 Um contacto está no estado 0, quando não foi actuado, e no estado 1, depois de ter 
sido actuado. Note-se que um contacto normalmente aberto está a 0, quando aberto e 
a 1, depois de fechado; mas um contacto normalmente fechado está a 0, enquanto 
está fechado e a 1, quando está aberto, por ter sido actuado. 
Sistemas Digitais 
p. 12 
Símbolo Americano Símbolo IEEE / ANSI 
 
Os traços à esquerda representam as entradas e o traço à direita, a saída. 
 
Diagrama temporal – Se aplicarmos os 
sinais a e b, às entradas de uma porta AND, 
obtemos a saída S, que só está alta, durante os 
intervalos de tempo em que as duas entradas 
estão altas: 
 
 
 
2. Soma Lógica (OR) – Para que a saída esteja a 1, basta que uma das 
entradas o esteja: a saída só será 0, se todas as entradas estiverem a 0. 
 
A lâmpada acende se k1 for actuado ou 
k2 for actuado. 
 
Representação Analítica Símbolo Americano Símbolo IEEE / ANSI 
L = k1 + k2 (lê-se “k1 ou k2”) 
 
 
Tabela de Verdade: 
k2 k1 L 
0 0 0 
0 1 1 
1 0 1 
1 1 1 
 
 
Diagrama Temporal: A saída fica a 
1 quando, pelo menos uma das entra-
das está a 1: 
 
 
 
 
3. Negação Lógica (NOT) – Operação com uma entrada, cujo resultado é a 
negação do seu valor lógico. 
 
 
A variável de entrada pode ser representada por um 
contacto normalmente fechado: quando k não está actuado 
(k = 0 ⇔ ~k = 1), a lâmpada está acesa (L = 1); quando está 
actuado (k = 1 ⇔ ~k = 0), abre e apaga a lâmpada (L = 0). 
 
Representação Analítica Símbolo Americano Símbolo IEEE / ANSI 
L = ~k 
kL = 
(lê-se não k”) 
Sistemas Digitais 
p. 13 
 
 
Dado que os valores lógicos, 0 e 1, são contrá-
rios entre si (se a ≠ 0, então a = 1 e, se a ≠ 1, 
então a = 0), as representações ao lado são equi-
valentes3: 
⇔ 
 
Tabela de Verdade: 
 
k L 
0 1 
1 0 
 
 
Diagrama Temporal: Quando a entrada 
está a 1, a saída fica a 0. 
 
 
 
 
Prioridades das Operações 
 
No cálculo de expressões com várias operações lógicas, existem as seguin-
tes regras de prioridade: 
 
1º Negação 
2º Produto 
3º Soma 
Para efectuar as operações, por outra ordem, uti-
lizam-se parêntesis. 
 
Exemplo: os resultados dos seguintes pares de expressões são diferentes: 
 
a+b⋅c ≠ (a+b)⋅c 
 
 
 
 
~a⋅b ≠ ~(a⋅b) 
 
 
 
 
Para se criar a Tabela de Verdade de uma expressão lógica, há que ter em 
conta o seguinte: 
1º O número de linhas da Tabela (número de combinações possíveis dos 
estados das variáveis de entrada) é igual a 2, elevado ao número de variá-
veis; 
2º As diferentes combinações das entradas correspondem aos números 
binários de 0 a 2n – 1; 
3º Criar uma coluna, para cada variável que apareça negada; 
 
3 Nas duas representações à esquerda, pretende-se significar que as entradas são acti-
vas altas e as saídas, activas baixas; nas representações à direita, as entradas são 
activas baixas e as saídas são activas altas. Para que um dado circuito funcione de 
determinada forma, é necessário que se introduzam 1s nas entradas activas altas e 
0s, nas entradas activas baixas. 
Sistemas Digitais 
p. 14 
4º Para cada linha da tabela, determinar o valor da expressão, respei-
tando as prioridades das operações. 
 
Exemplo: Tabela de Verdade da expressão a)b(cS ⋅+= - existem 3 variáveis, 
logo o número de linhas da Tabela é 23 = 8: 
 
c b a b bc + a)b(cS ⋅+= 
0 0 0 1 1 0 
0 0 1 1 1 1 
0 1 0 0 0 0 
0 1 1 0 0 0 
1 0 0 1 1 0 
1 0 1 1 1 1 
1 1 0 0 1 0 
1 1 1 0 1 1 
 
 
Circuitos Lógicos 
 
Para desenhar o circuito lógico (ou Logigrama) de uma função lógica, proce-
de-se da seguinte forma: 
1º Traçam-se linhas, para cada uma das variáveis de entrada; 
2º Ligam-se às respectivas entradas, as portas referentes às diversas 
operações, respeitando as regras de prioridade. 
 
Exemplo: Logigrama da expressão 
a)b(cS ⋅+= 
 
 
Existem circuitos integrados com estas portas4: 
 
 Circuito Integrado Constituição 
AND 7408 e 4081 
7411 e 4073 
7421 e 4082 
4 Portas de 2 entradas 
3 Portas de 3 entradas 
2 Portas de 4 entradas 
OR 7432 e 4071 
74802 
4075 
4072 
4 Portas de 2 entradas 
3 Portas de 4 entradas 
3 Portas de 3 entradas 
2 Portas de 4 entradas 
NOT 7404, 4009, 4049 e 4069 6 Portas4 Os circuitos com referências que começam por 74 são circuitos TTL e os que come-
çam por 40 são CMOS. TTL e CMOS são duas tecnologias de fabrico de circuitos inte-
grados que serão analisadas, mais adiante. 
Sistemas Digitais 
p. 15 
Propriedades das Operações Lógicas 
 
Das definições das diferentes operações, resultam as seguintes proprieda-
des: 
Comutativa a⋅b = b⋅a a+b = b+a 
Associativa a⋅b⋅c = (a⋅b)⋅c = a⋅(b⋅c) a+b+c = (a+b)+c = a+(b+c) 
Distributiva a ⋅ (b + c) = a ⋅ b + a ⋅ c a + b ⋅ c = (a + b) ⋅ (a + c) 
 
A Negação apresenta a propriedade de a negação dupla de uma expressão 
não alterar o seu estado lógico: 
Involução aa = 
 
 
Postulados 
 
1. Elemento Neutro – Tanto o produto lógico, como a soma lógica, têm ele-
mento neutro (que não alteram o resultado), respectivamente, 1 e 0: 
a ⋅1 = a a+0 = a 
 
2. Elemento Absorvente – Os elementos absorventes do produto e da soma 
(que tornam os resultados das operações iguais a si próprios) são, respectiva-
mente, 0 e 1: 
a ⋅0 = 0 a+1 = 1 
 
3. Complemento – Para todo o elemento a, existe um e um só elemento, 
designado por complemento de a, representado por ~ a ou a , tal que são váli-
das as igualdades: 
1aa =+ 0aa =⋅ 
 
4. Idempotência – Numa operação, em que as entradas são iguais, a saída é 
igual a elas: 
a ⋅ a = a a + a = a 
 
Observe-se que todas as expressões enunciadas são simétricas duas a 
duas, de onde resulta o seguinte princípio: 
 
Princípio da Dualidade: Toda a expressão verdadeira continua a sê-lo, se 
trocarmos entre si as somas por produtos, os produtos por somas, os 0s por 
1s e os 1s por 0s. 
 
Teoremas – são válidas as seguintes leis: 
 
Absorção a + a ⋅ b = a a ⋅ (a + b) = a 
 babaa +=⋅+ bab)a(a ⋅=+⋅ 
 babaa +=⋅+ bab)(aa ⋅=+⋅ 
 
Leis de Morgan baba +=⋅ baba ⋅=+ 
 
Em álgebra de Boole, as igualdades podem ser demonstradas de duas for-
mas: 
Sistemas Digitais 
p. 16 
- Analiticamente, com base em afirmações equivalentes verdadeiras; 
- Por meio de Tabelas de Verdade, mostrando que a expressão é válida 
para todas as combinações das entradas. 
 
Como exemplos, vamos demonstrar os seguintes teoremas: 
 
a) babaa +=⋅+ 
 
Demonstração analítica: 
 
b)(a)aa(baa +⋅+=⋅+ Propriedade distributiva da soma em relação ao produto 
b)(a1b)(a)a(a +⋅=+⋅+ Propriedade do complemento 
1⋅(a+b) = (a+b)⋅1 Propriedade comutativa do produto 
(a+b)⋅1 = a+b Elemento neutro do produto 
 
b) baba ⋅=+ 
 
Demonstração por Tabela de Verdade: 
 
a b a b a + b ba + ba ⋅ 
0 0 1 1 0 1 1 
0 1 1 0 1 0 0 
1 0 0 1 1 0 0 
1 1 0 0 1 0 0 
 
Verifica-se que as duas últimas colunas são iguais, o que demonstra a 
igualdade. 
 
 
Exercícios 
 
1. Escreva a equação de S, referente ao seguinte logigrama: 
 
 
2. Dada a função: ABCBCS ⋅⋅+⋅= 
 
2.1. Construa a Tabela de Verdade de S 
2.2. Desenhe o respectivo diagrama lógico 
Sistemas Digitais 
p. 17 
Operações Derivadas 
 
Qualquer logigrama pode ser criado utilizando somente as portas AND, OR 
e NOT mas, a partir destas operações, podem ser formadas outras, como as 
seguintes, que simplificam o trabalho: 
 
4. Produto Lógico Negado (NAND) – A saída é 0, quando todas as entradas 
estão a 1. 
 
K é um relé que abre o contacto, quando a bobina 
é percorrida por corrente, o que permite negar a 
operação que activa a respectiva bobina. 
 
Representação Analítica Símbolo Americano Símbolo IEEE / ANSI 
baL ⋅= 
 
 
Tabela de Verdade: 
b a L 
0 0 1 
0 1 1 
1 0 1 
1 1 0 
 
Diagrama temporal: 
 
A porta NAND é uma porta com entradas acti-
vas altas e saída activa baixa: a saída fica activa 
(no estado baixo) quando todas as entradas 
estão activas (a 1), como se vê no diagrama tem-
poral: 
 
Observando a Tabela de Verdade, podemos expressar esta conclusão, de 
outra maneira: 
 
Basta uma entrada estar a 0, para que a saída 
fique a 1, o que se traduz pelos seguintes símbo-
los equivalentes ao NAND, com entradas activas 
baixas e saída activa alta: 
 
 
Propriedades da Operação NAND 
 
1aa
aa.a
b.aa.b
aa.1
1a.0
=⋅
=
=
=
=
 
 
 
Sistemas Digitais 
p. 18 
5. Soma Lógica Negada (NOR) – A saída é 0, quando, pelo menos, uma das 
entradas for 1. 
 
Basta actuar sobre a ou b, para que a saída fique 
a 0. 
 
Representação Analítica Símbolo Americano Símbolo IEEE / ANSI 
baL += 
 
 
Tabela de Verdade: 
b a L 
0 0 1 
0 1 0 
1 0 0 
1 1 0 
 
Diagrama temporal 
 
A porta NOR é uma porta com entradas acti-
vas altas e saída activa baixa, em que basta uma 
das entradas estar activa (a 1), para que a saída 
fique activa (a 0): 
 
Observando a Tabela de Verdade, podemos expressar esta conclusão, de 
outra maneira, considerando as entradas activas baixas e a saída activa alta: 
É necessário que todas as entradas estejam a 0 
(activas), para que a saída fique a 1 (activa), o que 
se traduz pelos seguintes símbolos equivalentes: 
 
Propriedades da Operação NOR 
 
0aa
aaa
abba
01a
a0a
=+
=+
+=+
=+
=+
 
 
 
 
6. Soma Exclusiva (EXOR) – A saída é 1, se um número ímpar de entradas 
estiver a 1. 
 
 
Se uma, e só uma, das 
entradas for actuada, a saída 
fica a 1. 
Sistemas Digitais 
p. 19 
 
Representação Analítica Símbolo Americano Símbolo IEEE / ANSI 
bababaL ⋅+⋅=⊕= 
 
 
Tabela de Verdade: 
 
b a L 
0 0 0 
0 1 1 
1 0 1 
1 1 0 
 
Diagrama temporal 
 
A porta EXOR é uma porta com entradas e 
saída, activas altas, em um número ímpar de 
entradas activas, faz activar a saída: 
 
Propriedades de EXOR 
 
a ⊕ b = b ⊕ a 
a ⊕ b ⊕ c = (a ⊕ b) ⊕ c = a ⊕ (b ⊕ c) 
a ⊕ a = 0 
a=1a
1aa
⊕
=⊕
 
a ⊕ 0 = a 
 
 
7. Soma Exclusiva Negada (EXNOR) – A saída é 0, se um número ímpar de 
entradas estiver a 1. 
 
 
 
Se uma, e só uma, das entradas 
for actuada a saída fica a 0. 
 
Representação Analítica Símbolo Americano Símbolo IEEE / ANSI 
b)a()b(ababaL +⋅+=⊗=⊕= 
 
 
Tabela de Verdade: 
 
b a L 
0 0 1 
0 1 0 
1 0 0 
1 1 1 
 
Sistemas Digitais 
p. 20 
Propriedades de EXNOR 
 
a1a
a0a
0aa
1aa
abba
=⊗
=⊗
=⊗
=⊗
⊗=⊗
 
 Diagrama Temporal: 
 
 
 
Para estas portas, existem os circuitos integrados: 
 
 Circuito Integrado Constituição 
NAND 4011 e 7400 
4023 e 7410 
4012 e 7420 
4068 e 7430 
74133 
4 Portas de 2 entradas 
3 Portas de 3 entradas 
2 Portas de 4 entradas 
1 Porta de 8 entradas 
1 Porta de 13 entradas 
NOR 4001 e 7402 
4025 e 7427 
4002 e 7425 
74260 
4078 
4 Portas de 2 entradas 
3 Portas de 3 entradas 
2 Portas de 4 entradas 
2 Portas de 5 entradas 
1 Porta de 8 entradas 
EXOR 4070 e 7486 4 Portas de 2 entradas 
EXNOR 4077 e 74266 4 Portas de 2 entradas 
 
Sistemas Digitais 
p. 21 
Simplificação Analítica de Funções 
 
Utilizando as propriedades das operações, podemos simplificar as funções 
lógicas, o que permite criar circuitos que utilizem o menor número de portas 
possível, portanto mais simples e mais económicos. 
 
Vamos ver um exemplo que ilustra o método. O objectivo é reduzir tanto 
quanto possível, o número de operações envolvidas e, eventualmente, o núme-
ro de variáveis de entrada. 
Vejamos a seguinte função: 
 
a)a(ba)cab(cS +⋅⋅⋅+⋅⋅= 
 
 
 Propriedade Aplicada 
=+⋅⋅⋅+⋅⋅ a)a(ba)cab(c 
 Comutativa do produto 
=+⋅⋅⋅+⋅⋅ a)a(ba)cba(c 
 Distributiva da soma em relação ao produto 
=+⋅⋅+⋅⋅ a)a(b1)(bac 
 Elemento absorvente da soma 
=+⋅⋅⋅⋅ a)a(b1ac 
 Elemento neutro do produto 
=+⋅⋅⋅ a)a(bac 
 Absorção 
=+⋅⋅ a)b(ac 
 Distributiva 
=⋅⋅+⋅⋅ aacbac 
 Idempotência 
=⋅+⋅⋅ acbac 
 Distributiva 
=+⋅⋅ )1b(ac 
 Elemento absorventeda soma 
=⋅⋅ 1ac 
 Elemento neutro do produto 
ac ⋅ 
 
A simplificação reduziu o número de variáveis, de 3 para 2, assim como o 
número de operações envolvidas. O circuito lógico correspondente à equação 
simplificada é: 
 
 
Sistemas Digitais 
p. 22 
Representação Alternativa das Portas Lógicas 
 
Pode ser útil, utilizar as seguintes representações alternativas das portas 
lógicas, baseadas nas leis de Morgan: 
 
1. Porta AND 
 
Para obter 1 na saí-
da, é necessário ter 
todas as entradas a 1. 
Para obter 0 na saí-
da, basta ter uma 
entrada a 1. 
bababa +=⋅=⋅ 
 
2. Porta OR 
 
Para obter 1 na saí-
da, basta uma entrada 
a 1. 
Para obter 0 na saída, 
é necessário ter todas 
as entradas a 0. 
bababa ⋅=+=+ 
 
3. Porta NOT 
 
1 na entrada dá 0 na saída; 0 na entrada dá 1 na 
saída 
 
4. Porta NAND 
 
Para obter 0 na saída, é 
necessário que todas as 
entradas estejam a 1. 
Para obter 1, basta que uma 
das entradas esteja a 0. baba +=⋅ 
 
5. Porta NOR 
 
Para obter 0 na saída, 
basta que uma das 
entradas esteja a 1. 
Para obter 1, é necessário 
que todas as entradas este-
jam a 0. 
baba ⋅=+ 
 
Note-se que nos símbolos à esquerda, todas as entradas são activas altas e 
que nos símbolos alternativos, todas as entradas são activas baixas. Isto é útil, 
se pretendermos tanto quanto possível ligar saídas activas baixas a entradas 
activas baixas e saídas activas altas a entradas activas altas, de modo a expli-
citar melhor o funcionamento de um circuito. 
 
Por exemplo, os dois circuitos seguintes são equivalentes, mas no segundo, 
vemos facilmente que, para obter 1 em S, é necessário ter simultaneamente: 
 
c = 1, b = 0 e a = 0. 
 
 
Outro exemplo: no primeiro dos seguintes circuitos, transforma-se a porta 
OR no seu equivalente e obtém-se o segundo circuito; como duas negações 
seguidas se anulam, obtém-se o terceiro circuito. Neste, vê-se facilmente que, 
para obter, na saída que é activa baixa, S2 = 0, é necessário que: 
 
c = 0 e b = 1 e a = 1 
 
Sistemas Digitais 
p. 23 
Portas Universais 
 
É possível implementar qualquer circuito utilizando exclusivamente portas 
NAND ou portas NOR: com um conjunto de cada uma delas podemos substi-
tuir qualquer das outras. Por isso, são designadas de Portas Universais. 
Vamos ver como se podem substituir as portas básicas, por portas NAND 
uma vez que por portas NOR, o processo é semelhante. 
 
1. Porta NOT 
 
A operação NOT pode ser implementada por uma porta NAND com as 
duas entradas ligadas à variável a negar porque, pela propriedade da idem-
potência, a.aa = ; também se pode ligar uma das entradas à variável e a 
outra, ao estado lógico 1, já que: a.1a = . Assim, os três circuitos seguintes 
são equivalentes: 
 
 
2. Porta AND 
 
Utilizando a propriedade da involução da negação, temos: baba ⋅=⋅ . 
Assim, a porta AND pode ser obtida por: 
 
 
 
 
 
3. Porta OR 
 
Utilizando a propriedade da involução da negação e uma das Leis de 
Morgan, temos: bababa ⋅=+=+ , o que permite desenhar o circuito equi-
valente: 
 
 
Assim, temos as seguintes equivalências: 
 
Operação Portas NAND Portas NOR 
NOT 
 
AND 
 
 
OR 
 
 
 
Sistemas Digitais 
p. 24 
Formas Canónicas 
 
Uma equação diz-se que está na forma canónica quando, em cada um dos 
seus termos, somas ou produtos lógicos, entram todas as variáveis de entrada. 
Existem duas formas canónicas: 
 
1ª Forma Canónica – Soma de Produtos (Mintermos) 
 
É a soma dos produtos de todas as variáveis de entrada, que tornam ver-
dadeira a saída de um circuito. 
 
Para se obter a equação na 1ª forma canónica, a partir da Tabela de Verda-
de, faz-se o seguinte: 
- Cada linha em que a saída está a 1 dá origem a um produto das variá-
veis de entrada; 
- Nos produtos, as variáveis de entrada a 0 aparecem negadas e as 
outras aparecem não negadas; 
- A saída é igual à soma de todos estes produtos. 
Vamos ver o seguinte exemplo: 
 
 
 
A Tabela de Verdade é a seguinte: 
 
c b a b a ab ⋅ abc ⋅⋅ S 
0 0 0 1 1 0 0 0 
0 0 1 1 0 1 0 1 
0 1 0 0 1 0 0 0 
0 1 1 0 0 0 0 0 
1 0 0 1 1 0 0 0 
1 0 1 1 0 1 0 1 
1 1 0 0 1 0 1 1 
1 1 1 0 0 0 0 0 
 
Na primeira linha, em que S = 1, temos: c = 0, b = 0 e a = 1, logo, o respec-
tivo produto é: 
abc ⋅⋅ 
 
As outras duas linhas correspondem aos produtos: 
abc
abc
⋅⋅
⋅⋅
 
 
Assim, a equação na 1ª forma canónica é: 
abcabcabcS ⋅⋅+⋅⋅+⋅⋅= 
 
Sistemas Digitais 
p. 25 
Outra forma de representar uma equação na forma canónica é como o 
somatório dos números decimais correspondentes às linhas da Tabela, em que 
a função vale 1 (note-se que estes números correspondem aos binários forma-
dos pelos bits das variáveis de entrada): 
 
Linha c b a S 
0 0 0 0 0 
1 0 0 1 1 
2 0 1 0 0 
3 0 1 1 0 
4 1 0 0 0 
5 1 0 1 1 
6 1 1 0 1 
7 1 1 1 0 
 
Tendo em conta que: 
 
abc ⋅⋅ ⇔ c=0, b=0 e a=1 ⇔ 0012 = 1 
abc ⋅⋅ c=1, b=0 e a=1 1012 = 5 
abc ⋅⋅ c=1, b=1 e a=0 1102 = 6 
 
A função anterior pode ser representada por: 
 
S (c, b, a) = Σ (1, 5, 6) – é necessário explicitar a ordem das variáveis, á 
que não aparecem na equação. 
 
2ª Forma Canónica – Produto de Somas (Maxtermos) 
 
É o produto das somas de todas as variáveis de entrada, que tornam ver-
dadeira a saída de um circuito. 
 
Para se obter, procede-se da seguinte forma: 
- Tomam-se todas as linhas da Tabela de Verdade em que a saída vale 0; 
- Cada uma destas linhas dá origem a uma soma das variáveis de entrada; 
- Nas somas, as variáveis que estão a 0, aparecem não negadas e as que 
estão a 1, aparecem negadas. 
 
A equação da saída do circuito anterior, na 2ª forma canónica é: 
 
a)bc(a)bc()ab(ca)b(ca)b(cS ++⋅++⋅++⋅++⋅++= 
 
À semelhança do caso anterior, tendo em conta, 
 
abc ++ ⇔ c=0, b=0 e a=0 ⇔ 0002 = 0 
abc ++ c=0, b=1 e a=0 0102 = 2 
abc ++ c=0, b=1 e a=1 0112 = 3 
abc ++ c=1, b=0 e a=0 1002 = 4 
abc ++ c=1, b=1 e a=1 1112 = 7 
 
Podemos representá-la por: S (c, b, a) = Π (0, 2, 3, 4, 7) 
Sistemas Digitais 
p. 26 
Porque é que isto é assim? Será que estas duas equações são equivalentes? 
Para responder a estas questões vamos fazer o seguinte: 
Escrevemos a equação de ~S, na primeira forma canónica, utilizando as 
linhas em que S = 0: 
 
abcabcabcabcabcS ⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅= 
 
Se negarmos esta equação, de modo a obter uma expressão de S e apli-
carmos as Leis de Morgan e a propriedade da involução, temos: 
 
)abc(a)bc()ab(ca)b(ca)b(cS
)abc()abc()abc()abc()abc(S
abcabcabcabcabcS
abcabcabcabcabcSS
++⋅++⋅++⋅++⋅++=
++⋅++⋅++⋅++⋅++=
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=
⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅==
 
 
A última equação é a da 2ª forma canónica, que já tínhamos obtido. 
 
Para se obterem as formas canónicas, a partir da equação de uma função 
lógica, procede-se da seguinte forma: 
 
Numa soma de produtos, multiplica-se cada produto em que falta uma 
variável, pela soma desta com o seu complemento (soma cujo resultado é 1); o 
que permite passar à 1ª forma canónica; num produto de somas, soma-se a 
cada soma em que falte uma variável o produto dela pelo seu complemento (o 
mesmo que somar 0, não alterando o resultado). Depois de aplicar a proprie-
dade distributiva, eliminam-se os termos repetidos. Exemplos: 
 
cbacbacba
cbacbacbacba
c)b(ba)c(cba
caba
⋅⋅+⋅⋅+⋅⋅=
=⋅⋅+⋅⋅+⋅⋅+⋅⋅=
=⋅+⋅++⋅⋅=
=⋅+⋅
 
c)ba()cb(ac)b(a
c)ba(c)b(a)cb(ac)b(a
c)ba(a)ccb(a
c)(bb)(a
++⋅++⋅++=
=++⋅++⋅++⋅++=
=++⋅⋅⋅++=
=+⋅+
 
 
 
Aplicações 
 
A partir da 1ª forma canónica, obtém-se facilmente uma equação que per-
mite desenhar um circuito, só com portas NAND e, a partir da 2ª, podemos 
desenhá-lo, só com portas NOR.Como exemplo, consideremos a função EXOR. A partir da Tabela de Verda-
de, obtemos as equações das 1ª e 2ª formas canónicas: 
 
b)(a)ba(ba
bababa
+⋅+=⊕
⋅+⋅=⊕
 
 
Negando-as, duas vezes e aplicando as leis de Morgan, obtemos as equações 
e os circuitos equivalentes: 
 
Sistemas Digitais 
p. 27 
1ª Forma Canónica → NAND 2ª Forma Canónica→ NOR 
 
bababababa ⋅⋅⋅=⋅+⋅=⊕ 
 
 
babab)(a)ba(ba +++=+⋅+=⊕ 
 
 
Outra aplicação das formas canónicas, em particular da primeira (soma de 
produtos) é a simplificação de equações por um método gráfico, o que vere-
mos, em seguida. 
 
Sistemas Digitais 
p. 28 
Simplificação de Equações pelo Método de Karnaugh 
 
O método de Karnaugh é um método gráfico de simplificação de equações 
que se baseia na seguinte igualdade (propriedades – distributiva, complemento 
da soma e elemento neutro do produto): 
a1a)ba.(bbaba =⋅=+=⋅+⋅ 
 
Consiste em dispor a Tabela de Verdade da expressão em causa, de forma a 
que seja fácil agrupar combinações em que apareça uma variável somada ao 
seu complemento. Para isso, constrói-se um rectângulo dividido em tantos 
quadrados, quantas as linhas da Tabela de Verdade, isto é, para n variáveis, 
são necessários 2n quadrados. 
Em cada um dos quadrados figura o valor da função, correspondente a uma 
combinação das variáveis de entrada, de modo a que cada par de combinações 
em que apareça uma variável somada ao seu complemento, ocupe posições 
contíguas. 
Vamos ver um exemplo simples, relativo a uma função que apresenta a 
seguinte Tabela de Verdade: 
 
a b c S 
0 0 0 0 
0 0 1 0 
0 1 0 1 
0 1 1 1 
1 0 0 0 
1 0 1 1 
1 1 0 0 
1 1 1 1 
 
Esta Tabela pode ser representada, com o seguinte aspecto, em que dentro 
dos quadrados, aparecem os valores de S: 
 
 c = 0 
b = 0 
c = 1 
b = 0 
c = 1 
b = 1 
c = 0 
b = 1 
a = 0 0 0 1 1 
a = 1 0 1 1 0 
 
Ou com este outro: 
 
Neste caso, cada barra, associada a uma variável de entrada, abrange 4 
quadrados, indicando que nessa zona, a variável de entrada tem o valor 1, 
aparecendo não negada: 
 
 
 
Sistemas Digitais 
p. 29 
Note-se que, em cada par de quadrados adjacentes, assim como nos qua-
drados dos cantos do rectângulo, apenas uma variável muda o estado. 
Se agora associarmos os grupos de uns adjacentes, na horizontal ou na ver-
tical, em grupos de 2, 4, ou, em geral, a potência 2n, eliminamos uma, duas ou 
n variáveis, respectivamente. 
No caso presente, podemos formar dois grupos de dois 1s, eliminando, em 
cada um deles, uma variável: 
 
Poderíamos formar um terceiro grupo, c.b, mas não é necessário porque 
todos os 1s estão agrupados. 
 
Grupo Quadrados Resultado 
Pode ser visualizado porque está na 
intersecção das zonas 
Primeiro 
abc
cab
⋅⋅
⋅⋅
 ab ⋅ b e ~a 
Segundo 
abc
abc
⋅⋅
⋅⋅ c⋅a c e a 
 
Ficamos portanto com a equação simplificada de S: 
 
abacS ⋅+⋅= 
 
No caso de aparecerem 1s que não possam ser agrupados, os produtos cor-
respondentes não podem ser simplificados. 
 
Vimos Mapas de Karnaugh para 3 variáveis de entrada. Vamos ver como 
podem ser para 2 e 4 variáveis, uma vez que para mais de 4, este método é 
muito trabalhoso: 
 
 
 
 
Podemos observar que, no primeiro caso, cada uma das barras abrange 
uma zona com dois quadrados, enquanto, no segundo, abrange uma zona com 
8, permitindo eliminar 3 variáveis. 
Nos mapas com 3 ou 4 variáveis, quadrados com 1s, que estejam adjacen-
tes aos limites dos rectângulos, sobre a mesma linha ou coluna podem ser 
agrupados. 
 
Exemplo: 
Vamos ver um caso com 2 exemplos disto, num mapa de 4 variáveis (ou 
seja de 16 quadrados). 
 
Sistemas Digitais 
p. 30 
Dada a seguinte Tabela de Verdade: 
 
d c b a S 
0 0 0 0 0 
0 0 0 1 1 
0 0 1 0 0 
0 0 1 1 1 
0 1 0 0 1 
0 1 0 1 0 
0 1 1 0 1 
0 1 1 1 0 
1 0 0 0 0 
1 0 0 1 1 
1 0 1 0 0 
1 0 1 1 1 
1 1 0 0 0 
1 1 0 1 0 
1 1 1 0 0 
1 1 1 1 0 
 
Podemos tirar a equação da 1ª Forma canónica: 
 
abcdabcdabcdabcdabcdabcdS ⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅= 
 
O que dá o seguinte Mapa: 
 
 
 
Nele existem dois grupos: um com dois 1s e outro com 4, correspondendo, 
respectivamente a: 
 
acd ⋅⋅ Porque está na intersecção das zonas, correspondentes a: 
a = 0, c = 1 e d = 0. 
Permite anular uma variável (b), o que se vê facilmente, porque 
um dos quadrados está na zona c e o outro na zona ~b. 
 
ac ⋅ Porque está na intersecção das zonas: a e ~c. 
Permite anular as variáveis b e d, porque pertence simulta-
neamente às zonas b e ~b, assim como a d e ~d. 
 
Assim, a equação é: 
acacd ⋅+⋅⋅ 
 
 
Notem-se os seguintes pontos: 
 
Sistemas Digitais 
p. 31 
1. Para uma equação com n variáveis, precisamos de um rectângulo com 
2n quadrados; 
2. Se todos estivessem preenchidos com 1s, a equação seria S = 1, isto é, 
qualquer que fosse o estado das variáveis de entrada, a saída estaria sem-
pre a um; 
3. Fora esta hipótese, o número máximo de 1s adjacentes que se pode 
agrupar num grupo, é de 2n-1, (metade dos quadrados) e corresponde a uma 
variável, sendo as outras n-1, eliminadas; 
4. Se conseguirmos grupos com 2n-2 1s, teremos 2 variáveis por grupo 
(eliminando as outras n-2) e assim sucessivamente, até grupos com um, 
(20), 1, que correspondem a todas as n variáveis em jogo; 
5. As variáveis que ficam de fora, no produto correspondente a um gru-
po, são aquelas que, num dado grupo, aparecem nos dois estados. 
 
Podemos ver isto, no exemplo anterior: 
- As variáveis em jogo eram 4, a, b, c e d, pelo que os quadrados neces-
sários são 24 = 16. 
- O primeiro produto, correspondente ao grupo de dois (21) 1s, tem 3 
das 4 variáveis em jogo porque eliminámos a variável b que, para um 
desses 1s, o da esquerda, vale 0 e para o outro, vale 1; 
- No segundo produto eliminámos as variáveis b e d, porque tinha 22 1s, 
dois dos quais, os de cima, correspondiam a b=0, enquanto, para os de 
baixo, b=1; por outro lado, os dois 1s da esquerda correspondiam a b=0, 
enquanto os da direita, d=1. 
 
As figuras seguintes representam os mapas para 2, 3 e 4 variáveis (a,b; 
a,b,c; a,b,c,d), com os números de linha em binário e em decimal, indicados 
dentro dos respectivos quadrados: 
 
 
 
Num Mapa, podemos agrupar alguns 1s, mais do que uma vez. No seguinte 
mapa, há várias hipóteses de criar agrupamentos de 1s: 
 
 
 
Sistemas Digitais 
p. 32 
Cada um destes agrupamentos dá origem a uma equação equivalente mas, 
como o objectivo é simplificar, o mais possível a função, convém saber qual 
dos agrupamentos corresponde à solução mais simples. 
Por um lado, quanto maior for o agrupamento possível, mais variáveis são 
eliminadas – esta situação corresponde às figuras da direita. 
Por outro lado, observe-se que o 1 que corresponde à linha 5 só pode ser 
agrupado de uma forma: em conjunto com o da linha 7. 
 
Chama-se Implicante Primo, o produto obtido pelo maior agrupamento pos-
sível de quadrados. No exemplo, é o caso do agrupamento de 4 1s. 
Se um quadrado só pode ser agrupado de uma forma, chama-se a esse 
agrupamento, Implicante Primo Essencial. É o caso do agrupamento dos qua-
drados correspondentes às linhas 5 e 7. 
Assim, devemos começar por identificar e criar os agrupamentos que são 
implicantes primos essenciais; depois criar os agrupamentos que são impli-
cantes primos e, finalmente, os que restarem. 
No caso do exemplo: 
 
1º 2º 
 
 
Não havendo mais quadrados a agrupar, a equação correspondente é a 
mais simples possível: 
a⋅c + b 
 
Se os 0s e 1s se distribuírem em xadrez, não há possibilidade de fazer 
agrupamentos mas verifica-se facilmente que se trata de uma função EXOR 
(se no quadrado correspondente a todas as variáveis negadas, estiver um 0) ouEXNOR (se no mesmo quadrado estiver um 1): 
 
c b a R = c ⊕ b ⊕ a S = c ⊗ b ⊗ a 
000 0 1 
001 1 0 
010 1 0 
011 0 1 
100 1 0 
101 0 1 
110 0 1 
111 1 0 
 
R S 
 
 
 
 
Sistemas Digitais 
p. 33 
Exercícios 
 
1. Marcar no seguinte mapa, as zonas correspondentes às expres-
sões: 
 
ACD
AC
BD
⋅⋅
⋅
⋅
 
 
2. Indicar as expressões marcadas: 
 
 
3. Dado o seguinte mapa da função S: 
 
 
3.1. Construa a Tabela de Verdade 
3.2. Obtenha a expressão simplificada da função S (A, B, C, D) 
 
 
Situações de Don't Care 
 
São assim designadas situações em que os valores da variável de saída, 
para determinadas combinações das entradas, não têm significado ou quando 
essas combinações são impossíveis de se dar, devido às condições do proble-
ma, embora sejam de considerar, do ponto de vista teórico. 
Para essas combinações não se pode ter a certeza de que a variável de saída 
apareça com 0 ou com 1, isto é, a variável de saída funciona como uma inde-
terminação, embora tenha, de facto, um daqueles valores. O que se passa é 
que não nos interessa, o valor que tiver, uma vez que as variáveis de entrada 
nunca terão os valores que, combinados, dariam origem a essas saídas. 
 
Nos mapas de Karnaugh, podemos atribuir à saída, para essas combinações 
de entrada, o valor que nos permita uma maior simplificação. Para isso, escre-
vemos nos quadrados correspondentes, cruzes, a que podemos associar os 
valores 0 ou 1, conforme for mais conveniente. 
 
Vejamos o seguinte exemplo: 
 
Para a seguinte Tabela de Verdade, construímos 2 Mapas de Karnaugh, 
com diferentes agrupamentos. 
No primeiro, limitámo-nos a associar os uns presentes, o que correspon-
de a pressupor que para todas as situações de Don´t Care, a saída apresen-
Sistemas Digitais 
p. 34 
ta zeros; no segundo, escolhemos uma situação de Don´t Care para a asso-
ciarmos com os uns presentes e obtivemos uma equação mais simples: 
 
a b c S 
0 0 0 ? 
0 0 1 1 
0 1 0 1 
0 1 1 1 
1 0 0 0 
 
1 0 1 ? 
1 1 0 ? 
1 1 1 ? 
c)b(acabaS +⋅=⋅+⋅= aS = 
 
Sistemas Digitais 
p. 35 
Códigos BCD 
 
Um código é um conjunto de sinais convencionais que permite representar 
uma informação. 
Os códigos BCD (Binary Coded Decimal) são códigos binários que permitem 
representar os números, algarismo a algarismo, utilizando um nibble para 
cada dígito. Os códigos BCD são utilizados em aparelhos digitais de medida, 
em relógios e calculadoras electrónicas. 
Um número escrito num código BCD é, de facto, um número decimal, em 
que cada algarismo é traduzido por uma sequência de quatro bits. Por isso, 
não se deve confundir com um número binário, em que cada 1 representa 
uma potência de 2, de acordo com a sua situação na palavra: codificar um 
número decimal num código binário é diferente de o converter do sistema 
decimal para o sistema binário. 
Dado que só existem 10 algarismos e um nibble permite representar 16 coi-
sas diferentes, existem vários códigos BCD. Vamos ver alguns exemplos. 
 
1. BCD 8421 – utiliza os 10 primeiros conjuntos de 4 bits. No nome, o 8421 
indica os pesos dos diferentes bits: 
BCD 8421 Decimal 
0000 0 
0001 1 
0010 2 
0011 3 
0100 4 
0101 5 
0110 6 
0111 7 
1000 8 
1001 9 
 
Para codificar um dado número, passa-se cada algarismo individualmente 
do sistema decimal para o sistema binário. Exemplo: 
 
O código de 235, em BCD 8421 é: 001000110101 
 
A descodificação faz-se da seguinte forma: divide-se o código, em conjuntos 
de 4 bits e, para cada conjunto, somam-se os pesos dos 1 que aparecem. 
Exemplo: 
 
010010010111 0100 1001 0111 Somas Resultado 
 8421 8421 8421 4 8+1 4+2+1 497 
 
 
2. Código Aiken ou BCD 2421 – Obtém-se utilizando as primeiras 5 combi-
nações de 4 bits, e as 5 últimas: 
BCD 2421 Decimal BCD 2421 Decimal 
0000 0 1011 5 
0001 1 1100 6 
0010 2 1101 7 
0011 3 1110 8 
0100 4 1111 9 
Sistemas Digitais 
p. 36 
Este código tem a particularidade de ser auto-complementar: O comple-
mento a 9 de um dado número codificado em Aiken obtém-se trocando os 
zeros pelos uns e vice-versa. Exemplos: 
 
O código Aiken de 360 é 0011 1100 0000. Então, o código do seu com-
plemento a 9 (999 – 360 = 639) é: 1100 0011 1111. 
Os códigos de 235 e 764, que são complementares (235 + 764 = 999), 
são, respectivamente, 0010 0011 1011 e 1101 1100 0100. 
 
Para codificar um dado algarismo, k, faz-se o seguinte: 
- Se for menor ou igual a 4, utiliza-se o mesmo processo do código BCD 
8421; 
- No caso contrário, codifica-se em BCD 8421, o seu complemento a 9, 
(9-k), e trocam-se os zeros pelos uns e vice-versa. 
 
Exemplos: 
 
Algarismo Complemento a 9 BCD8421 BCD 2421 
3 - - 0011 
8 9-8 = 1 0001 1110 
5 9-5 = 4 0100 1011 
Assim, o código de 385 é 0011 1110 1011. 
 
A descodificação faz-se por um processo semelhante ao do código anterior. 
Exemplo: 
 
010000111011 0100 0011 1011 Somas Resultado 
 2421 2421 2421 4 2+1 2+2+1 435 
 
Exercício 
Objectivo: 
 
Pretende-se um circuito que converta o código BCD 2421 de um 
algarismo qualquer, no código BCD 8421 do mesmo algarismo: 
 
 
 
 
Fases: 
 
1ª. Tabela de Verdade 
 
Z Y X W D C B A 
0 0 0 0 0 0 0 0 
… … … … … … … .… 
 
Sistemas Digitais 
p. 37 
2ª. Mapas de Karnaugh das 4 variáveis de saída 
 
3ª. Simplificação das expressões: 
 
D = f (Z, Y, X, W), 
C = f (Z, Y, X, W), 
B = f (Z, Y, X, W) e 
A = f (Z, Y, X, W) 
 
4ª. Desenho do circuito. 
 
 
3. Código de Excesso de Três (XS-3) – Não utiliza nem as primeiras 3 com-
binações de 4 bits, nem as últimas 3: 
 
XS-3 Decimal 
0011 0 
0100 1 
0101 2 
0110 3 
0111 4 
1000 5 
1001 6 
1010 7 
1011 8 
1100 9 
 
Para codificar um dado número, soma-se 3 a cada algarismo e converte-se 
em binário. 
Para descodificar um número em BCD XS-3, passa-se cada um dos nibbles 
a decimal e subtrai-se 3, ao resultado. 
Exemplos: 
1. Para descodificar 1101 1100 0011, escrito em BCD 2421, fazem-se as 
seguintes somas: 2+4+1 = 7, 2+4 = 6 e 2+1 = 3. O número é 763. 
2. Dado o código de excesso de três, 1010 0110, o primeiro algarismo 
corresponde a 8+2 = 10 → 10-3 = 7 e o segundo a 4+2 = 6 → 6-3 = 3 e o 
número correspondente é 73. 
 
 
Sistemas Digitais 
p. 38 
4. Outros Códigos BCD 
 
Outros exemplos de códigos BCD que se formam de forma semelhante aos 
anteriores são: BCD 7421, BCD 5421 e Excesso de 6. 
O seguinte quadro mostra os nibbles válidos para cada um destes códigos: 
 
Valor, em: 
Código 
8421 7421 5421 2421 XS-3 XS-6 
0000 0 0 0 0 - - 
0001 1 1 1 1 - - 
0010 2 2 2 2 - - 
0011 3 3 3 3 0 - 
0100 4 4 4 4 1 - 
0101 5 5 - - 2 - 
0110 6 6 - - 3 0 
0111 7 - - - 4 1 
1000 8 7 5 - 5 2 
1001 9 8 6 - 6 3 
1010 - 9 7 - 7 4 
1011 - - 8 5 8 5 
1100 - - 9 6 9 6 
1101 - - - 7 - 7 
1110 - - - 8 - 8 
1111 - - - 9 - 9 
 
Os quatro primeiros são códigos ponderados. 
 
 
Códigos Não BCD 
 
1. Código Gray 
 
É um código não ponderado e, por isso, não é conveniente para cálculo mas 
utiliza-se quando há necessidade de evitar erros nas transições entre núme-
ros: nos códigos anteriores, um número pode diferir em vários bits do número 
seguinte e quando se lhe acrescenta uma unidade, pode haver erros devido a 
atraso na modificação de um bit. Para evitar isto, o código Gray foi construído 
de modo a que cada número difira do anterior em, apenas 1 bit. 
 
Vejamos o seguinte exemplo: 
 
O número 5 tem, em várias codificações, o código 0101. Ao passar a 6, por 
exemplo num contador, passa a ser representado por 0110: os dois bits da 
direita têm de mudar de estado; vamos supor que, nesta mudança de estado, 
o último se atrasa, o que levaria a passar pelas seguintes fases: 
 5 0101 
 0111 
 6 0110 
Na fase intermédia, passou-sepor um código com significado, '7', o que 
pode levar a erros. 
O código Gray é utilizado, por exemplo, em conversores de sinais analógicos 
para digitais. 
Sistemas Digitais 
p. 39 
Na tabela seguinte estão representados os códigos dos primeiros 16 núme-
ros: 
Binário Gray 
Decimal 
b3b2b1b0 g3g2g1g0 
0 0000 0000 
1 0001 0001 
2 0010 0011 
3 0011 0010 
4 0100 0110 
5 0101 0111 
6 0110 0101 
7 0111 0100 
8 1000 1100 
9 1001 1101 
10 1010 1111 
11 1011 1110 
12 1100 1010 
13 1101 1011 
14 1110 1001 
15 1111 1000 
 
Para obter um circuito que transforme binário em gray, podemos começar 
pelos Mapas de Karnaugh das variáveis de saída: 
 
 
 
As equações e o circuito correspondentes são: 
bbbbbbg
bbbbbbg
bbbbbbg
bg
0101010
1212121
2323232
33
⊕=⋅+⋅=
⊕=⋅+⋅=
⊕=⋅+⋅=
=
 
 
Assim, para codificar um número, em Gray: 
- Primeiro, converte-se o número em binário - o código Gray terá o mes-
mo número de bits e o seu bit mais à esquerda é igual ao MSB do binário; 
- Depois, começando pelo bit mais à direita, cada um dos bits do código 
Gray é dado pelo EXOR entre o bit correspondente do binário e o que se 
encontra à sua esquerda: se os bits do número em binário e do código Gray 
forem, respectivamente: bn…b2 b1 b0 e gn… g2 g1 g0, os bits do código Gray 
serão dados por: 
 
g0 = b1 ⊕ b0 g1 = b2 ⊕ b1 g2 = b3 ⊕ b2 gn = bn 
Sistemas Digitais 
p. 40 
Exemplo: 
O número 12, em binário é: 1100. 
Formação dos bits, no Código Gray: 
 
Bit mais à direita 0 ⊕ 0 = 0 
 1 ⊕ 0 = 1 
 1 ⊕ 1 = 0 
Bit mais à esquerda 1 
Código Gray obtido: 1010 
 
Para fazer o contrário, isto é, para passar de Gray para binário, temos: 
 
Tabela 
 
Gray Binário 
g3g2g1g0 
Decimal 
b3b2b1b0 
0000 0 0000 
0001 1 0001 
0010 3 0011 
0011 2 0010 
0100 7 0111 
0101 6 0110 
0110 4 0100 
0111 5 0101 
1000 15 1111 
1001 14 1110 
1010 12 1100 
1011 13 1101 
1100 8 1000 
1101 9 1001 
1110 11 1011 
1111 10 1010 
 
Mapas: 
 
 
 
Equações: 
 
ggggb
gggggggggggggggb
ggggb
gb
01230
1231231231231231
23232
33
⊕⊕⊕=
⊕⊕=⋅⋅+⋅⋅+⋅⋅+⋅⋅=
⋅+⋅=
=
 
 
Sistemas Digitais 
p. 41 
Circuito: 
 
 
Vemos que, para descodificar um código Gray, faz-se o seguinte: 
- O bit LSB do código binário é dado pelo EXOR de todos os bits do códi-
go Gray; 
- O bit seguinte é dado pelo EXOR dos n-1 bits mais à direita do código 
Gray; 
- E assim sucessivamente, até ao MSB que é igual, em ambos os códigos. 
 
2. Código ASCII 
 
Existem vários códigos alfanuméricos que permitem codificar, além de alga-
rismos, letras e outros símbolos gráficos. 
Um exemplo de código alfanumérico é o chamado ASCII (sigla correspon-
dente às palavras American Standard Code for Information Interchange), utili-
zado, por exemplo, em computadores. Permite codificar as letras maiúsculas e 
minúsculas, assim como os algarismos e uma série de símbolos. Cada um é 
representado por 7 bits, na versão original que permitia codificar 128 símbolos 
ou por 8, nas versões ampliadas, o que permite ir até 256. 
 
Vamos ver alguns exemplos de códigos de caracteres em ASCII, na versão 
de 1 Byte: 
 
Símbolo Código ASCII 
A 0100 0001 
a 0110 0001 
m 0110 1101 
7 0011 0111 
+ 0010 1011 
; 0011 1011 
‘Espaço’ 0010 0000 
 
3. Código de Paridade 
 
Para se poderem tratar eventuais erros na transmissão de dados, utilizam-
se códigos em que se acrescenta, no fim ou no princípio das palavras a trans-
mitir, um ou vários bits, através dos quais se poderão detectar ou corrigir os 
erros. 
Um código muito utilizado é o de paridade e baseia-se no seguinte: acres-
centa-se, ao final da palavra a transmitir, um bit que será 0, se o número de 
uns da palavra for par ou 1, se for ímpar. Uma vez recebida, a palavra entra 
num detector de paridade que dá na saída uma indicação da existência de 
erro: 
Sistemas Digitais 
p. 42 
Assim, o número de uns da 
palavra, a transmitir, já com o 
bit de paridade será sempre 
par e se, ao ser recebida, tiver 
um número ímpar de uns, o 
erro é facilmente detectado. 
 
Por exemplo, para palavras originais de 3 bits temos, para o gerador de 
paridade: 
Palavra 
Bit a 
Acrescentar 
C B A P 
0 0 0 0 
0 0 1 1 
0 1 0 1 
0 1 1 0 
1 0 0 1 
1 0 1 0 
1 1 0 0 
1 1 1 1 
 
E para o Detector: 
Palavra recebida Cód. Erro 
C B A P E 
0 0 0 0 0 
0 0 0 1 1 
0 0 1 0 1 
0 0 1 1 0 
0 1 0 0 1 
0 1 0 1 0 
0 1 1 0 0 
0 1 1 1 1 
1 0 0 0 1 
1 0 0 1 0 
1 0 1 0 0 
1 0 1 1 1 
1 1 0 0 0 
1 1 0 1 1 
1 1 1 0 1 
1 1 1 1 0 
 
Tudo isto pode ser feito com portas EXOR: 
 
 
 
Também existe um Código de Imparidade em que o número total de uns 
que é transmitido é ímpar. 
Sistemas Digitais 
p. 43 
Famílias Lógicas 
 
Em sistemas digitais utiliza-se informação binária, correspondente a dois 
níveis de tensão (alto e baixo) que podem aparecer à entrada ou à saída dos 
circuitos 
Os dois níveis de tensão são designados por: Nível Lógico Alto (H, High) e 
Baixo (L, Low). 
Actualmente, em electrónica digital utilizam-se sobretudo circuitos integra-
dos, existindo basicamente duas tecnologias (designadas por famílias), para o 
respectivo fabrico: a tecnologia TTL (de Transistor Transistor Logic) e a tecnolo-
gia CMOS (Complementary simetry Metal-Oxid Semicondutor). 
 
Os circuitos integrados são, actualmente, fabricados a várias escalas de 
integração: 
 
- SSI, Small Scale Integration, uma a dez portas lógicas, correspondendo a 
cerca de 10 transístores, por pastilha ou chip de silício; 
- MSI, Medium Scale Integration, entre dez e duzentas portas lógicas; 
- LSI, Large Scale Integration, com muitos milhares de transístores, em 
circuitos, como por exemplo, microprocessadores; 
- VLSI, Very Large Scale Integration, com várias centenas de milhares de 
transístores. 
 
Cada uma das famílias lógicas subdivide-se em séries e apresenta caracte-
rísticas diferentes, tais como: 
 
- Tensão de Alimentação (Vcc), gama mais ou menos larga de valores de 
tensão, a que devem ser alimentados os C.Is. 
- Temperatura de Funcionamento, gama de temperaturas a que os circui-
tos devem funcionar 
- Fan-out, número máximo de entradas a que a saída de uma porta pode 
ser ligada 
- Níveis de Tensão de Entrada e Saída - intervalos de tensão correspon-
dentes aos níveis alto e baixo, diferentes para as entradas e para as saídas 
dos circuitos: 
 TTL CMOS 
VIHMax – Limite Máximo do nível Lógico Alto da Entrada 5 V 5 V 
VIHMin – Limite Mínimo do nível Lógico Alto da Entrada 2 V 3,5 V 
VILMax – Limite Máximo do nível Lógico Baixo da Entrada 0,8 V 1,5 V 
VILMin – Limite Mínimo do nível Lógico Baixo da Entrada 0 V 0 V 
VOHMax – Limite Máximo do nível Lógico Alto da Saída 5 V 5 V 
VOHMin – Limite Mínimo do nível Lógico Alto da Saída 2,4 V 4,9 V 
VOLMax – Limite Máximo do nível Lógico Baixo da Saída 0,4 V 0,1 V 
VOLMin – Limite Mínimo do nível Lógico Baixo da Saída 0 V 0 V 
- Margens de Ruído dos dois estados lógicos, relacionadas com o parâme-
tro anterior e que indicam as variações de tensão permitidas, sem mudar de 
estado 
- Tempo de Propagação, tempo entre a alteração de uma entrada e a con-
sequente alteração na saída 
- Potência Dissipada, por porta ou por circuito 
 
Chamam-se Margens de Ruído às diferenças: 
Sistemas Digitais 
p. 44 
VNH = VOHMin – VIHMin VNL = VILMax e VOLMax 
 
Note-se que, em ambas as tec-
nologias, o limite mínimo do estado 
alto da saída é maior do que o limi-
te mínimo do estado alto da entra-
da e que o limite máximo do estado 
baixo da saída é menor que o da 
entrada. 
Tanto na saída como na entra-
da, entre o limite máximo do nível 
baixo e o limite mínimo do nível 
baixo, encontra-se uma zona inde-
finida: uma tensão nessa zona não 
é interpretadacomo nem L nem H. 
A figura ao lado mostra todas 
estas grandezas: 
 
Comparando os valores acima indicados, vemos que os níveis lógicos são 
mais estreitos na tecnologia CMOS, o que implica que, tanto as zonas indefi-
nidas, como as margens de ruído são maiores. 
A família CMOS que utiliza transístores MOSFET. Consome muito menos 
potência do que a família anterior, pelo que tem fan outs da ordem de 50, mas 
tem, em geral, um funcionamento mais lento, devido a apresentar uma menor 
velocidade de propagação. Além disso, por se tratar de uma tecnologia mais 
nova, apresenta uma menor variedade de circuitos. 
 
Vejamos algumas características das portas TTL: 
 
Os C.Is. da série Standard desta família apresentam designações no formato 
74xx. 
A sua tensão de alimentação é: 
Vcc entre 4,5 e 5 V 
A temperatura de funcionamento pode variar entre 0 ºC e 70 ºC. 
 
A porta básica da família TTL é a porta NAND: o C.I. 7400 é constituído por 
4 portas NAND de duas entradas. 
Cada uma delas corresponde a um circuito com a seguinte constituição: 
 
 
No circuito anterior, todos os transístores trabalham à saturação, com IB 
Sistemas Digitais 
p. 45 
elevado e VCE próximo de 0 V, ou ao corte, com VB < 0,7 V. 
Podemos subdividir este circuito em três partes: 
- Módulo de Entrada, constituído pelos transístores T1a e T1b e pelos dío-
dos Da e Db que impedem a presença de uma tensão negativa nos emis-
sores dos transístores; 
- Transístor T2 com as resistências RC e RE, que como veremos desempe-
nha um papel fundamental, no circuito e 
- Módulo de Saída, constituído pelos transístores T3, T4, pelo díodo D e 
pela resistência de R2. 
 
Vejamos, em primeiro lugar, o que se passa com T2, e quais as consequên-
cias para o módulo de saída: 
 
T2 à saturação: 
A base de T3 fica à tensão de, aproximadamente 0,7 V, imposta pela UBE 
de T4. 
Nesta situação, T3 fica ao corte e T4 fica à saturação. A saída fica no 
estado lógico 0. 
 
T2 ao corte: 
A tensão na base de T3 é 5V e a tensão na base de T4, 0 V, porque não 
havendo corrente através de T2, não há quedas de tensão nas resistências 
RC e RE. 
Agora, temos T3 à saturação e T4 ao corte, pelo que a saída fica no estado 
lógico 1. 
 
Agora, podemos analisar, em função dos estados das entradas, em que 
condições, é que T2 fica à saturação ou ao corte: 
 
As duas entradas (a, b) a 0: os dois transístores correspondentes, T1a e 
T1b, ficam à saturação, devido à corrente de base. Assim, nos seus colecto-
res, ficam 0 V, pelo que T2 fica ao corte e, como vimos, S = 1. 
Uma das entradas a 1 e a outra a 0: O transístor correspondente à 
entrada a 0 fica à saturação e coloca 0 V os colectores de T1a e T1b, pelo que 
o outro fica com uma tensão VCE negativa, isto é, fica ao corte. T2 fica ao 
corte, o que leva a S = 1. 
As duas entradas a 1: A tensão nos colectores de T1a e T1b é a soma das 
tensões UBE de T4 e T2, isto é, 1,4 V: ambos os transístores de entrada ficam 
com UE > UC, isto é, ao corte. A tensão na base de T2 é a tensão calculada 
de 1,4 V e leva T2 à saturação, pondo a saída a 0. 
 
Finalmente, uma situação possível: 
 
Uma entrada (ou ambas) desligada, isto é, no ar: Não existe corrente no 
transístor da entrada no ar, pelo que a tensão no colector de T2 é imposta 
como nos casos anteriores: se ambas as entradas estiverem no ar, UC fica 
superior a 1,4 V, levando T2 à saturação e S a 0; se uma delas estiver a 0, o 
respectivo transístor entra em saturação e coloca no colector de T2 uma 
tensão baixa que o leva ao corte, e S a 0. 
 
Podemos concluir que uma entrada no ar, funciona como se estivesse no 
estado lógico 1, conclusão que é válida para todos os circuitos da família TTL. 
Sistemas Digitais 
p. 46 
 
Este tipo de saída é a mais comum e designa-se por Totem-Pole, mas exis-
tem portas com características especiais, chamadas portas com Saída em 
Colector Aberto, de que se apresenta a respectiva porta NAND de duas entra-
das: 
 
O símbolo que indica uma porta 
de colector aberto é: 
 
 
 
Neste caso, ao contrário do que se passava na série standard, é possível 
efectuar o seguinte tipo de ligação, designado por Wired -Logic: 
 
 
 
Esta questão tem a ver com o seguinte: 
Como se viu, pode definir-se o fan-out de uma família lógica como o número 
máximo de entradas a que a saída de uma porta se pode ligar. O fan-out está 
relacionado com o valor máximo da corrente que a saída pode debitar no esta-
do alto e com o valor de corrente que a entrada de uma porta puxa do exterior, 
para ficar no estado lógico 1, (fan-in). A relação entre os dois, é de 10, isto é 
podemos ligar até um máximo de 10 entradas a uma saída, como no exemplo 
da seguinte figura, em que à saída do primeiro AND estão ligadas as entradas 
de duas outras portas: 
 
 
Esta situação é diferente do caso anterior, em que, se a saída de uma das 
portas está no estado lógico 1 e a da outra, no estado lógico 0, há uma corren-
te que sai da primeira e entra na segunda, podendo destruir o respectivo tran-
sístor. Esse perigo não existe nas portas de colector aberto, como vamos ver 
no seguinte exemplo: 
 
Para implementar a função seguinte: 
 
 
Sistemas Digitais 
p. 47 
Podemos, utilizando portas de saída em colector aberto, ligar entre si as 
saídas dos dois NANDs da esquerda: 
 
 
 
Se a = 1, b = c = d = 0, como está 
indicado no circuito à esquerda, a 
saída do NAND de cima, fica a 1 e a 
do de baixo, a 0. 
 
Neste caso, há corrente na resistência R e a saída fica no estado lógico 0, 
imposto pela segunda porta. Se ambas as saídas estivessem a 1, não haveria 
corrente na resistência e S = 1. A ligação em paralelo das duas portas compor-
ta-se como um AND. 
 
Além da série 74, Standard, existem outras, com pequenas variações de 
características. Como exemplos, temos as seguintes, de que se apresentam as 
principais variações: 
- Série 54xx – pode operara a temperaturas entre –55ºC e +125ºC 
- Séries 74L e 54L – consomem menos potência – (o L significa Low) 
 
 
Sistemas Digitais 
p. 48 
Circuitos Combinatórios 
 
Designam-se por circuitos combinatórios, aqueles em que, a cada momento, 
a saída depende exclusivamente da combinação das entradas presentes nesse 
momento. Todos os circuitos que vimos até aqui são deste tipo. 
Um circuito combinatório é consti-
tuído pela interligação de portas lógi-
cas, apresentando, em geral, várias 
entradas e, pelo menos, uma saída: 
Em geral, um circuito combinatório tem um determinado fim, servindo para 
responder a um dado problema. O projecto de um circuito combinatório passa 
pelas seguintes etapas: 
 
1. Estudo do problema, com vista à sua compreensão, em que se deter-
minam as condições de funcionamento e quais as variáveis, de entrada e de 
saída, em presença; 
2. Depois de compreendido o problema e estabelecidas as variáveis, é 
possível fazer a determinação das Tabelas de Verdade, relativas a cada uma 
das variáveis de saída; 
3. A partir das Tabelas de Verdade, podem ser retiradas as expressões 
das diferentes variáveis, numa das duas formas canónicas possíveis. 
4. Tenta simplificar-se, o mais possível, cada uma das expressões. 
5. Com as expressões simplificadas, desenha-se o esquema do circuito 
lógico, supondo que as portas serão implementadas por circuitos integra-
dos. 
 
 
1. Descodificadores 
 
São circuitos combinatórios, em que à entrada aparece um código binário e 
à saída, um outro código. Para isso, se a entrada tem n bits, a saída terá até 
2n bits. Em geral, aparecem também algumas entradas de habilitação ou de 
Enable, de modo que a saída só fará sentido, quando as entradas En estiverem 
activadas. 
Como exemplo, vamos projectar um circuito para descodificar BCD 2421 
em binário natural. O circuito deve ter 4 entradasde informação (DCBA), acti-
vas altas, mais uma de habilitação, activa baixa e 4 saídas: 
 
 
 
Funciona quando a entrada enable, E, está a 0: com E = 0, quaisquer que 
sejam os valores das outras entradas, as saídas ficam a 0. 
Por outro lado, existem seis combinações das quatro entradas que não são 
válidas em BCD 2421, pelo que correspondem a situações opcionais. 
 
Começando pela Tabela de Verdade, temos: 
Sistemas Digitais 
p. 49 
 
En D C B A Dec S3 S2 S1 S0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 1 0 0 0 1 
0 0 0 1 0 2 0 0 1 0 
0 0 0 1 1 3 0 0 1 1 
0 0 1 0 0 4 0 1 0 0 
0 0 1 0 1 0 X X X X 
0 0 1 1 0 0 X X X X 
0 0 1 1 1 0 X X X X 
0 1 0 0 0 0 X X X X 
0 1 0 0 1 0 X X X X 
0 1 0 1 0 0 X X X X 
0 1 0 1 1 5 0 1 0 1 
0 1 1 0 0 6 0 1 1 0 
0 1 1 0 1 7 0 1 1 1 
0 1 1 1 0 8 1 0 0 0 
0 1 1 1 1 9 1 0 0 1 
1 0 0 0 0 0 0 0 0 0 
1 0 0 0 1 1 0 0 0 0 
1 0 0 1 0 2 0 0 0 0 
1 0 0 1 1 3 0 0 0 0 
1 0 1 0 0 4 0 0 0 0 
1 0 1 0 1 X 0 0 0 0 
1 0 1 1 0 X 0 0 0 0 
1 0 1 1 1 X 0 0 0 0 
1 1 0 0 0 X 0 0 0 0 
1 1 0 0 1 X 0 0 0 0 
1 1 0 1 0 X 0 0 0 0 
1 1 0 1 1 5 0 0 0 0 
1 1 1 0 0 6 0 0 0 0 
1 1 1 0 1 7 0 0 0 0 
1 1 1 1 0 8 0 0 0 0 
1 1 1 1 1 9 0 0 0 0 
 
A Tabela de Verdade anterior, já sem a coluna dos decimais, pode ser repre-
sentada da seguinte forma: 
En D C B A S3 S2 S1 S0 
0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 0 0 1 
0 0 0 1 0 0 0 1 0 
0 0 0 1 1 0 0 1 1 
0 0 1 0 0 0 1 0 0 
0 0 1 0 1 X X X X 
0 0 1 1 0 X X X X 
0 0 1 1 1 X X X X 
0 1 0 0 0 X X X X 
0 1 0 0 1 X X X X 
0 1 0 1 0 X X X X 
0 1 0 1 1 0 1 0 1 
0 1 1 0 0 0 1 1 0 
0 1 1 0 1 0 1 1 1 
0 1 1 1 0 1 0 0 0 
0 1 1 1 1 1 0 0 1 
1 X X X X 0 0 0 0 
Sistemas Digitais 
p. 50 
Os Mapas de Karnaugh que permitem simplificar as equações das quatro 
variáveis de saída são os seguintes: 
 
(Com En = 0): 
 
 
 
Estes mapas permitem obter as equações simplificadas das saídas: 
 
 
AEnS
B)(DEn)BDBD(EnS
)BCC(DEnS
BCEnS
o
1
2
3
⋅=
⊕⋅=⋅+⋅⋅=
⋅+⋅⋅=
⋅⋅=
 
 
A partir destas, podemos desenhar 
o seguinte circuito lógico do descodi-
ficador: 
 
 
 
Descodificadores em Circuitos Integrados 
 
O circuito integrado 7442 é um descodificador que converte códigos BCD 
8421 em decimal. As quatro entradas são activas altas e as saídas são activas 
baixas: 
 
 
 
 
 
 
A Tabela de Verdade é a seguinte: 
 
Sistemas Digitais 
p. 51 
D C B A 0 1 2 3 4 5 6 7 8 9 
0 0 0 0 0 1 1 1 1 1 1 1 1 1 
0 0 0 1 1 0 1 1 1 1 1 1 1 1 
0 0 1 0 1 1 0 1 1 1 1 1 1 1 
0 0 1 1 1 1 1 0 1 1 1 1 1 1 
0 1 0 0 1 1 1 1 0 1 1 1 1 1 
0 1 0 1 1 1 1 1 1 0 1 1 1 1 
0 1 1 0 1 1 1 1 1 1 0 1 1 1 
0 1 1 1 1 1 1 1 1 1 1 0 1 1 
1 0 0 0 1 1 1 1 1 1 1 1 0 1 
1 0 0 1 1 1 1 1 1 1 1 1 1 0 
1 0 1 0 X X X X X X X X X X 
1 0 1 1 X X X X X X X X X X 
1 1 0 0 X X X X X X X X X X 
1 1 0 1 X X X X X X X X X X 
1 1 1 0 X X X X X X X X X X 
1 1 1 1 X X X X X X X X X X 
 
A partir da Tabela de Verdade, podem ser construídos os Mapas de Kar-
naugh, em que se optou por fazer as associações correspondentes às negações 
das variáveis de saída: 
 
Assim, obtém-se as equações e o circuito lógico: 
AD9AD9
AD8AD8
ABC7ABC7
ABC6ABC6
ABC5ABC5
ABC4ABC4
ABC3ABC3
ABC2ABC2
ABCD1ABCD1
ABCD0ABCD0
⋅=⇔⋅=
⋅=⇔⋅=
⋅⋅=⇔⋅⋅=
⋅⋅=⇔⋅⋅=
⋅⋅=⇔⋅⋅=
⋅⋅=⇔⋅⋅=
⋅⋅=⇔⋅⋅=
⋅⋅=⇔⋅⋅=
⋅⋅⋅=⇔⋅⋅⋅=
⋅⋅⋅=⇔⋅⋅⋅=
 
 
Sistemas Digitais 
p. 52 
Outro descodificador muito utilizado é o 7447. É um descodificador de BCD 
para 7 segmentos que permite utilizar displays de 7 segmentos, para visualizar 
números codificados em BCD 8421: 
 
 
Os segmentos são 7 leds, identificados pelas letras de a, a g, que podem ser 
ligados de duas formas: existem dispositivos com o ânodo comum ou o cátodo 
comum (ver figura seguinte). 
Ânodo Comum Cátodo Comum 
 
 
O 7447 deve ser usado para comandar displays de ânodo comum: tem sete 
saídas activas baixas que devem ser ligadas aos cátodos dos leds, colocando a 
0 os cátodos dos díodos que devem acender, e a 1, os que devem permanecer 
apagados. 
 
 
O descodificador tem as seguintes entradas: 
- Entradas activas altas de informação (D, C, B, A), para o código BCD do 
algarismo; 
- Entradas de controlo (activas baixas): 
LT - Lamp Test 
RBI - Ripple Blanking Input 
- Entrada / saída de controlo (activa baixa): 
BI/RBO - Blanking input/ Ripple Blanking Output 
Sistemas Digitais 
p. 53 
Funcionamento: 
1BIRBI
1LT
==
=
 
Aparece no display o algarismo correspondente ao 
código BCD presente nas entradas (de 0 a 9): é o funcio-
namento normal. 
 
0RBI
1LT
=
=
 
Aparece o algarismo correspondente ao código BCD 
presente nas entradas, excepto no caso do zero, em que 
o display fica apagado 
 
1BI e 0LT == Todos os leds acendem, o que permite testar o display. 
 
As saídas devem ser ligadas ao display através de resistências limitadoras 
da tensão, uma vez que os leds funcionam a tensões da ordem dos 2,5 V: 
 
 
 
Existe, em circuito integrado (74138), um descodificador binário octal, com 
três entradas activas altas (C, B e A), mais três de enable, sendo duas destas 
activas baixas e oito saídas activas baixas: 
 
 
 
Os significados das indicações do símbolo são os seguintes: 
Os números 1, 2 e 4 são os pesos das entradas; 
As saídas são activas baixas, ficando activas (a 0) quando EN = 1, caso 
contrário, ficam a 1; 
O & significa que a relação entre as entradas de enable é um AND: 
2BG2AGG1EN ⋅⋅= 
 
Assim, para obter 0, por exemplo, em Y6, é preciso que: 
0A1,BC0,2AG2AG1,G1 ====== 
 
Sistemas Digitais 
p. 54 
Existe também um circuito integrado (74139) com dois descodificadores de 
2 para 4 bits, cujos diagrama de ligações, símbolo IEEE e diagrama lógico de 
cada descodificador são: 
 
 
 
 
Utilização dos descodificadores para implementar funções 
 
Estes dois descodificadores podem ser utilizados para implementar funções 
com 3 e 2 variáveis de entrada. 
As saídas destes descodificadores apresentam os produtos negados das 
diferentes combinações das entradas, pelo que, basta negá-las e ligá-las a 
uma porta OR, ou, em alternativa, ligá-las a uma porta NAND, para obter a 
saída esperada. 
Como exemplo, vamos ver como obter a função S = B⊗A. Como há duas 
variáveis de entrada, podemos utilizar o 74139. 
Da Tabela de Verdade da função, tiramos a primeira forma canónica: 
 
B A S 
0 0 1 
0 1 0 
1 0 0 
1 1 1 
 
ABABS ⋅+⋅= 
 
 
 
Os termos correspondem às linhas 0 e 3: S (B,A)= Σ (0,3). Vamos ligar a 
uma porta NAND, as duas saídas correspondentes do descodificador e activá-
lo com 0, na entrada G (ligando-a à massa): 
 
 
Sistemas Digitais 
p. 55 
2. Codificadores 
 
Um codificador é um circuito em que entra o sinal a ser codificado e saem 
os bits correspondentes ao respectivo código: funciona ao contrário do desco-
dificador. Para n saídas, pode ter até 2n entradas. 
Como exemplo, vamos ver um codificador de decimal para BCD 8421. Tem 
10 entradas correspondentes aos 10 algarismos e 4 saídas: 
A Tabela de Verdade é a seguinte: 
 
Entrada 
Activa 
S3 S2 S1 S0 
I0 0 0 0 0 
I1 0 0 0 1 
I2 0 0 1 0 
I3 0 0 1 1 
I4 0 1 0 0 
I5 0 1 0 1 
I6 0 1 1 0 
I7 0 1 1 1 
I8 1 0 0 0 
I9 1 0 0 1 
 
Dela se podem obter as equações das saídas e o circuito correspondente: 
 
S3 = I8 + I9 
S2 = I4 + I5 + I6 + I7 
S1 = I2 + I3 + I6 + I7 
S0 = I1 + I3 + I5 + I7 + I9 
 
 
 
Note-se que: 
1- A entrada I0 não é utilizada em nenhuma porta; 
2 – Se duas ou mais entradas estiverem activas, a saída não faz sentido: 
por exemplo, quando I9 = I3 = 1, S = 1011. 
 
Para evitar este inconveniente, existem os codificadores de prioridade que 
funcionam do seguinte modo: se mais do que uma das entradas estiver activa, 
dá-se prioridade

Mais conteúdos dessa disciplina