Upload
andre-oliveira
View
39
Download
7
Embed Size (px)
DESCRIPTION
Apostila Eletrônica Digital
Citation preview
2
INTRODUÇÃO
1.1- Digital X Analógico
Analógico vem da palavra analogia, que significa fazer uma comparação. Alguns
equipamentos trabalham fazendo analogia com fenômenos do dia a dia, como, por exemplo, o
relógio de sol, que faz analogia à posição do sol para indicar as horas.
Digital vem de dígitos, números. Objetos digitais trazem as mesmas informações do
analógico, mas sem fazer uma analogia ao real. Um relógio digital traz as mesmas informações
de um relógio de sol, mas sem imitar o movimento solar.
Os computadores, atualmente, são totalmente digitais. Mas nem sempre foi assim: nas
primeiras décadas do século XX os circuitos ainda eram valvulados e os computadores eram
máquinas analógicas. Imprecisos e apresentando algumas dificuldades técnicas, foram
substituídos pelos computadores digitais tão logo a invenção do transistor tornou isso possível.
Máquinas analógicas processam sinais com funções contínuas e máquinas digitais
processam sinais com funções discretas, ou seja, entre zero e o valor máximo, o sinal analógico
passa por todos os valores intermediários possíveis (infinitos), enquanto o sinal digital só pode
assumir um número pré-determinado (finito) de valores (FIGURA 1-1).
Figura 1-1 – Os sinais analógicos variam continuamente, enquanto que os sinais digitais variam em
saltos
CAPÍTULO 1 – SISTEMAS DE NUMERAÇÃO
1.2- Sistemas de Numeração
Os homens primitivos não tinham necessidade de contar, pois o que necessitavam para a
sua sobrevivência era retirado da própria natureza. A necessidade de contar começou com o
desenvolvimento das atividades humanas, quando o homem foi deixando de ser pescador e
coletor de alimentos para fixar-se no solo.
Desde quando se começou a registrar informações sobre quantidades foram criados
diversos métodos para representá-las.
Os sistemas numéricos são classificados por sua base, ou seja, a quantidade de algarismos
disponível na representação. Existem vários sistemas numéricos, dentre os quais se destacam os
sistemas decimal, binário, octal e hexadecimal (QUADRO 1-1).
3
Sistema numérico Base Algarismos
Binário 2 0–1
Octal 8 0-1-2-3-4-5-6-7
Decimal 10 0-1-2-3-4-5-6-7-8-9
Hexadecimal 16 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
Quadro 1-1 – Os principais sistemas numéricos
No sistema binário, cada dígito recebe a denominação de bit (binary digit). O conjunto de
8 bits é denominado byte.
1.3- Conversão de Sistemas Numéricos
O homem trabalha, no dia a dia, com o sistema decimal. Os computadores e outras
máquinas digitais, trabalham, principalmente, com o sistema binário de numeração. Por esse
motivo, precisamos compreender como se faz a conversão de valores entre os sistemas
numéricos apresentados.
1.3.1- Conversão para o sistema decimal
Um número decimal é dividido em unidade, dezena, centena, milhar etc. Ou seja, o
número 532, por exemplo, sugnifica:
5 x 100 + 3 x 10 + 2 x 1 = 532
5 x 102 + 3 x 10
1 + 2 x 10
0 = 532
Pode-se notar que há uma regra básica para a formação do número: a somatória de cada
algarismo correspondente multiplicado pela base elevada por um índice conforme o
posicionamento do algarismo no número.
Posição 5 Posição 4 Posição 3 Posição 2 Posição 1 Posição 0
Base5 Base
4 Base
3 Base
2 Base
1 Base
0
Assim, temos que atentar para os seguintes dados ao efetuar uma conversão para a base
decimal:
Posicionamento dos algarismos no número de origem; e
Base do número de origem
Exemplo 1.1: Converta os números abaixo para a base decimal:
a) 110112
Dados:
Base do número: 2
1 1 0 1 1
24 2
3 2
2 2
1 2
0
centena dezena unidade
10
01234
2
2711214081161
212120212111011
4
b) 3758
Dados:
Base do número: 8
3 7 5
82 8
1 8
0
c) A916
Dados:
Base do número: 16
A 9
163 16
2
1.3.2- Conversão para o sistema binário
1.3.2.1- Conversão de número decimal para o sistema binário
Para converter um número decimal para o sistema binário basta dividi-lo por 2 até a
divisão não dar mais como resultado um número inteiro. Veja o exemplo abaixo com a
conversão do número 55 para o sistema binário:
1 1 0 1 1 1
210 11011155
1.3.2.2- Conversão de número octal para o sistema binário
A regra é bem simples e consiste em transformar cada algarismo diretamente no
correspondente em binário, respeitando-se o número padrão de bits do sistema. Para octal, o
número de bits é igual a três (8=23). Veja o exemplo abaixo, que mostra a conversão do número
358 para o sistema binário.
3 5 228 1110101110135
011 101
10
012
8 2531587643858783375
10
01
16 169191610169169 AA
55 2
1 27
2
1 13
2
1 6
2
0 3
2
1 1
Último quociente
1º resto
2º resto
3º resto
4º resto
5º resto
55 2
1 27
2
1 13
2
1 6
2
0 3
2
1 1
Último quociente
1º resto
2º resto
3º resto
4º resto
5º resto
Último
quociente
5º
resto
4º
resto
3º
resto
2º
resto
1º
resto
5
1.3.2.3- Conversão de número hexadecimal para o sistema binário
A regra é a mesma, só que para o sistema hexadecimal o número de bits é igual a quatro
(16=24). Veja o exemplo abaixo.
4 C (=12) 2216 1001100010011004 C
0100 1100
1.3.3- Conversão para o sistema octal
1.3.3.1- Conversão de número decimal para o sistema octal
Vale aqui a mesma regra para a conversão de um número decimal para binário. A única
mudança diz respeito ao valor do divisor. Para o sistema binário (base 2), o divisor era o número
2, para o sistema octal, o divisor será o número 8.
1 5 1
810 151105
1.3.3.2- Conversão de número binário para o sistema octal
Basta fazer o processo contrário ao da conversão de número octal para binário. Divida o
número binário em grupos de 3 bits começando do bit menos significativo(a partir da direita) e
converta, cada grupo, diretamente para o octal. O número convertido será a união dos
algarismos obtidos.
Exemplo 1.2: Converta o número 11001012 para a base octal:
Começa-se dividindo o número em grupos de 3 bits da direita para a esquerda:
1 100 101
82 1451100101
1.3.3.3- Conversão de número hexadecimal para o sistema octal
Não há como fazer a conversão direto. Por isso, converte-se o número hexadecimal para
binário e depois faça a conversão do número binário encontrado para octal, como mostrado no
item 1.3.3.2.
1º resto
2º resto Último quociente
105 8
1 13
8
5 1
Último
quociente
2º
resto
1º
resto
1012=58 1002=48 0012=18
6
1.3.4- Conversão para o sistema hexadecimal
1.3.4.1- Conversão de número decimal para o sistema hexadecimal
Basta usar a mesma regra já vista anteriormente, mas com o divisor igual a 16.
14 (=E) 5 1610 5229 E
1.3.4.2- Conversão de número binário para o sistema hexadecimal
Basta fazer o processo contrário ao da conversão de número hexadecimal para binário.
Divida o número binário em grupos de 4 bits começando do bit menos significativo(a partir da
direita) e converta, cada grupo, diretamente para o hexadecimal. O número convertido será a
união dos algarismos obtidos.
Exemplo 1.3: Converta o número 1111001102 para a base hexadecimal:
Começa-se dividindo o número em grupos de 4 bits da direita para a esquerda:
1 1110 0110
162 61111100110 E
1.3.4.3- Conversão de número octal para o sistema hexadecimal
Converte-se o número octal para binário e depois converte-se do número binário
encontrado para hexadecimal.
1.4- Operações Aritméticas no Sistema Binário
Neste tópico veremos como efetuar as já conhecidas operações aritméticas no sistema
binário.
1.4.1- Adição
Na adição no sistema binário age-se como no sistema decimal. Somente deve-se lembrar
que no sistema binário temos apenas 2 algarismos (0 e 1).
1º resto Último quociente
229 16
5 14
Último
quociente
1º
resto
01102=616 11102=1410=
E16
00012=116
7
Então;
Observe que no último caso (1+1) o resultado é apresentado por dois dígitos, apresentando
a operação de transporte para a próxima coluna (carry). 1 + 1= 0 e transporta “1” para a próxima
coluna. Assim, temos que:
0 + 0=0
0 + 1=1
1 + 0=1
1 + 1=0 e transporta 1
Exemplo 1.3: Efetue a operação abaixo no sistema binário:
110112+1112
1.4.2- Subtração
Na subtração no sistema binário age-se como no sistema decimal.
Para o caso 0 – 1, o resultado será igual a 1, porém haverá um transporte para a coluna seguinte
que deve ser acumulado no subtraendo e subtraído do minuendo. Para melhor exemplificar o
transporte, veja o exemplo abaixo:
1 0 0 0
- 1 1 1
0 0 0 1
0
+0
0
0
+1
1
1
+0
1
1
+1
10
0
- 0
0
0
- 1
1
1
- 0
1
1
- 1 .
0
1 1 1
8
1.4.3- Multiplicação
Procede-se como em uma multiplicação no sistema decimal.
0 x 0=0
0 x 1=1
1 x 0=1
1 x 1=1
Exemplo 1.4: Efetue a operação abaixo no sistema binário:
110112x1012
1 1 0 1 1
x 1 0 1
1 1 0 1 1
+ 0 0 0 0 0
1 1 0 1 1 .
1 0 0 0 0 1 1 1
1.4.4- Divisão
A divisão de números binários abrange multiplicação e subtração e não será abordada
nesta apostila.
1.5- Complemento de 2
Os números binários podem ser positivos e negativos. A representação pode ser feita
utilizando-se os sinais “+” e “-”, respectivamente. Entretanto, como o hardware dos sistemas
digitais não processam operações aritméticas, tudo deve ser codificado para “0” ou “1”.
Uma forma de representar os números positivos e negativos no sistema binário é
acrescentar ao número um bit de sinal.
O bit de sinal é um bit acrescentado na posição do algarismo mais significativo e que
indica se o número é positivo (bit de sinal = 0) ou negativo (bit de sinal = 1). Este processo é
conhecido como Sinal-módulo.
Exemplo 1.5: Represente os números abaixo na notação sinal-módulo:
a)+5910
5910= 1110112 +1110112=01110112
b)-1210
1210= 11002 +11002=111002
Uma outra forma de representação de números negativos no sistema binário é a notação
do complemento de 2. Para obter essa notação, primeiro deve-se converter o número para
complemento de 1. Para isso, basta inverter os valores dos bits, ou seja, onde for “1” escreve-se
“0” e vice-versa.
9
Número binário: 1 1 0 0 1 1
Complemento de 1: 0 0 1 1 0 0
O complemento de 1 do número 1100112 é 0011002.
Para encontrar-se o complemento de 2, basta somar “1” ao complemento de 1. Assim:
Número binário: 1 1 0 0 1 1
Complemento de 1: 0 0 1 1 0 0
+ 1
Complemento de 2: 0 0 1 1 0 1
O complemento de 2 do número 1100112 é 0011012.
OBS: Essa representação possui sempre um número predefinido de bits, ou seja, nenhum bit
deve ser desconsiderado na resposta.
Exemplo 1.6: Represente os números abaixo em complemento de 2:
a)-1001010
Número binário: 1 0 1 0
Complemento de 1: 0 1 0 1
+ 1
Complemento de 2: 0 1 1 0
-100102=01102
b)-2710
2710= 110112
Número binário: 1 1 0 1 1
Complemento de 1: 0 0 1 0 0
+ 1
Complemento de 2: 0 0 1 0 1
2710=001012
10
1.5.1- Utilização do complemento de 2 em operações aritméticas
A notação do complemento de 2 pode ser usada para efetuar operações que envolvam
soma e subtração.
A subtração pode ser considerada a soma de um número positivo com outro negativo,
assim, basta determinar o complemento de 2 do número negativo, com o mesmo número de bits
do outro membro da operação e realizar a soma, desconsiderando, se houver, o estouro do
número de bits no resultado.
Exemplo 1.6: Efetue a operação 110101112 - 1001012:
1º passo: Igualar a quantidade de bits dos membros
Como o maior membro tem 8 bits, assim, o membro negativo ficará assim: 001001012
2º passo: Calcular o complemento de 2 do membro negativo
Número binário: 0 0 1 0 0 1 0 1
Complemento de 1: 1 1 0 1 1 0 1 0
+ 1
Complemento de 2: 1 1 0 1 1 0 1 1
3º passo: Efetuar a soma do membro positivo com o complemento de 2 do membro
negativo
1 1 0 1 0 1 1 1
+ 1 1 0 1 1 0 1 1
1 1 0 1 1 0 0 1 0
110101112 - 1001012=101100102
Caso se tenha um número menor subtraindo um outro maior, agimos da mesma forma.
Como a resposta será um número negativo, o resultado da soma será um número na notação de
complemento de 2, logo, para obtê-lo na notação binária normal se faz necessário determinar
novamente o complemento de 2 e acrescentar o sinal negativo.
Exemplo 1.7: Efetue a operação 100112 - 1001012:
Número binário: 1 0 0 1 0 1
Complemento de 1: 0 1 1 0 1 0
+ 1
Complemento de 2: 0 1 1 0 1 1
Operação: 0 1 0 0 1 1
+ 0 1 1 0 1 1
1 0 1 1 1 0 ( o resultado está em complemento de 2 )
Estouro do número de bits desconsiderado
11
Número binário: 1 0 1 1 1 0
Complemento de 1: 0 1 0 0 0 1
+ 1
Complemento de 2: 0 1 0 0 1 0
100112 - 1001012=-100102
CAPÍTULO 2 – FUNÇÕES E PORTAS LÓGICAS
2.1 - Introdução
A eletrônica digital utiliza um grupo de circuitos básicos padronizados, que são chamados de
portas lógicas.
Portas lógicas são utilizadas para “implementar” qualquer expressão gerada pela álgebra de
Boole, que é a base dos sistemas digitais.
Este capítulo trata apenas dos blocos básicos, sendo outros apresentados em capítulo
posterior.
2.2- Funções lógicas E, OU, NÃO, NE e NOU
Nas funções lógicas, tem-se somente dois estados distintos: 0 (zero) e 1 (um). Os dois
estados sempre representarão situações contrárias. Por exemplo, se o estado 1 representar um
aparelho ligado, o estado 0 representará o aparelho desligado.
Toda função lógica pode ser representada de 3 (três) formas diferentes:
Simbologia;
Tabela da verdade: mapa onde coloca-se todas as situações possíveis com seus respectivos
resultados;
Expressão booleana: expressão de um sistema matemático de análise lógica conhecido
como álgebra de Boole.
2.2.1- FUNÇÃO E (ou AND)
A função E é aquela que executa a multiplicação de 2 ou mais variáveis booleanas. Na
figura 2-1 é apresentado o circuito representativo da função E e abaixo, sua análise.
E
12
Figura 2-1 – Circuito representativo da função E
Como se trata de um circuito com 2(duas) chaves em série, a lâmpada somente será acesa
(estado 1) quando as 2 (duas) chaves estiverem fechadas (estado 1). Caso ambas as chaves ou 1
(uma) delas estiver aberta (estado 0) a lâmpada não acenderá (estado 0). A tabela 1-1 representa
essas situações.
A B S
0 0 0
0 1 0
1 0 0
1 1 1
Tabela 2-1 – Tabela da verdade da função E
A função E é representada pela expressão booleana ABS e pela simbologia da figura 2-
2.
Figura 2-2 – Símbolo da função E
2.2.2- FUNÇÃO OU (ou OR)
A função OU é aquela que assume o valor 1 quando uma ou mais variáveis da entrada
forem iguais a 1. Abaixo, circuito representativo e sua análise.
Figura 2-3 – Circuito representativo da função OU
Como se trata de um circuito com 2(duas) chaves em paralelo, a lâmpada será acesa
(estado 1) quando uma das 2 (duas) chaves estiverem fechadas (estado 1) ou quando ambas
estiverem fechadas. Caso ambas as chaves estiverem abertas (estado 0) a lâmpada não acenderá
(estado 0). A tabela 1-1 representa essas situações.
A B S
0 0 0
0 1 1
1 0 1
1 1 1
Tabela 2-2 – Tabela da verdade da função OU
13
A função OU é representada pela expressão booleana BAS e pela simbologia da figura 2-4.
Figura 2-4 – Símbolo da função OU
2.2.3- FUNÇÃO NÃO (ou NOT)
Analisando seu circuito representativo, nota-se que, quando a chave está aberta (estado 0)
a lâmpada estará acesa (estado 1) e quando a chave estiver fechada (estado 1) a lâmpada estará
apagada (estado 0). Assim, a função NÃO é aquela que inverte ou complementa o estado da
variável.
Figura 2-5 – Símbolo da função NÃO
Figura 2-6 – Circuito representativo da função NÃO
A S
0 1
1 0
Tabela 2-3 – Tabela da verdade da função NÃO
A função NÃO é representada pela expressão booleana AS .
2.2.4- FUNÇÃO NÃO E (ou NE ou NAND)
A função NÃO E é o inverso da função E.
A B S
0 0 1
0 1 1
1 0 1
1 1 0
Tabela 2-4 – Tabela da verdade da função NÃO E
14
Figura 2-7 – Símbolo da função NÃO E
A função NÃO E é representada pela expressão booleana ABS .
2.2.5- FUNÇÃO NÃO OU (ou NOU ou NOR)
A função NÃO OU é o inverso da função OU.
A B S
0 0 1
0 1 0
1 0 0
1 1 0
Tabela 2-4 – Tabela da verdade da função NÃO OU
Figura 2-7 – Símbolo da função NÃO OU
A função NÃO E é representada pela expressão booleana BAS .
2.2.6- FUNÇÃO OU EXCLUSIVO
Como o próprio nome diz, a função OU EXCLUSIVO é aquela que fornece 1 na saída
quando as variáveis de entrada forem diferentes entre si (ou uma ou outra igual a 1).
A B S
0 0 0
0 1 1
1 0 1
1 1 0
Tabela 2-5 – Tabela da verdade da função OU EXCLUSIVO
15
Figura 2-8 – Símbolo da função OU EXCLUSIVO
A função OU EXCLUSIVO é representada pela expressão característica BABAS .
Da expressão esquematizamos o circuito representativo desta função.
Figura 2-9 – Circuito representativo da função OU EXCLUSIVO
A notação algébrica que representa a função OU EXCLUSIVO é BAS .
2.2.7- FUNÇÃO COINCIDÊNCIA
Como o próprio nome diz, a função COINCIDÊNCIA é aquela que fornece 1 na saída
quando as variáveis de entrada forem iguais a 1.
A B S
0 0 1
0 1 0
1 0 0
1 1 1
Tabela 2-6 – Tabela da verdade da função COINCIDÊNCIA
Figura 2-10 – Símbolo da função COINCIDÊNCIA
A função COINCIDÊNCIA é representada pela expressão booleana BAABS .
Da expressão esquematizamos o circuito representativo desta função.
16
Figura 2-11 – Circuito representativo da função COINCIDÊNCIA
A notação algébrica que representa a função COINCIDÊNCIA é BAS .
2.2.8- RESUMO FUNÇÕES LÓGICAS
BLOCOS LÓGICOS BÁSICOS
PORTA SÍMBOLO USUAL TABELA DA VERDADE FUNÇÃO LÓGICA EXPRESSÃO
E
AND
A B S
0 0 0
0 1 0
1 0 0
1 1 1
Assume 1 quando todas as variáveis forem 1 e 0 nos outros casos
ABS
OU OR
A B S
0 0 0
0 1 1
1 0 1
1 1 1
Assume 0 quando todas as variáveis forem
0 e 1 nos outros casos
BAS
NÃO
NOT
A S
0 1
1 0
Inverte a variável aplicada à sua entrada.
AS
NÃO E NE
NAND
A B S
0 0 1
0 1 1
1 0 1
1 1 0
Inverso da função E.
ABS
NÃO OU
NOU
NOR
A B S
0 0 1
0 1 0
1 0 0
1 1 0
Inverso da função OU.
BAS
OU
EXCLUSIVO
A B S
0 0 0
0 1 1
1 0 1
1 1 0
Assume 1 quando as variáveis forem
diferentes entre si.
BAS
COINCIDÊNCIA
A B S
0 0 1
0 1 0
1 0 0
1 1 1
Assume 1 quando as variáveis forem iguais.
BAS
17
2.3- Expressões booleanas obtidas de circuitos lógicos
Todo circuito executa uma expressão booleana. Para encontrá-la, basta escrever a saída de
cada porta lógica levando-se em conta suas entradas.
Exemplo 2.1: Escreva a expressão booleana executada pelo circuito da figura 2.8:
Figura 2-12
Seguindo o processo descrito, tem-se:
)()( DCBCBAS
2.4- Circuitos lógicos obtidos de expressões booleanas
Para desenhar-se um circuito lógico a partir de sua expressão booleana basta identificar as
portas lógicas na expressão e desenhá-las, com as respectivas ligações, a partir das variáveis de
entrada.
Exemplo 2.2:Desenhe o circuito que executa a expressão DDCBAS )]()[( :
Primeiro deve-se identificar as portas lógicas, enumerando-as:
DDCBAS )]()[(
BA
CB
DC
BCBA )(
)()( DCBCBA
1 2
3
4
18
Depois, basta desenhar e interligar as portas a partir da rede de variáveis de entrada.
2.5- Tabelas verdade obtidas de expressões booleanas
Uma tabela verdade é um mapa onde se colocam todas as situações possíveis de uma dada
expressão, juntamente com o valor assumido por esta.
Para chegar-se à tabela verdade de uma expressão, basta seguir o seguinte procedimento:
1º passo: montar o quadro de possibilidades (colunas A, B, C,..);
2º passo: inserir colunas para os vários membros da expressão booleana;
3º passo: prencher as colunas com seus resultados;
4º passo: montar uma coluna para o resultado final ( S ) e preenchê-la.
Exemplo 2.3:Levante a tabela verdade da expressão CCABAS ..)( :
A B C BA CA. C CCA .. S
0 0 0 1 1 1 1 1
0 0 1 1 1 0 0 1
0 1 0 0 1 1 1 1
0 1 1 0 1 0 0 0
1 0 0 1 1 1 1 1
1 0 1 1 0 0 0 1
1 1 0 1 1 1 1 1
1 1 1 1 0 0 0 1
1
2
3
4
19
2.6- Expressões booleanas obtidas a partir da tabela da verdade Este é o caso mais comum em projetos práticos, pois, normalmente, representamos
situações através da tabela da verdade e a partir desta obtemos a expressão lógica e seu circuito.
Para entender o procedimento, vamos resolver a situação abaixo.
Dada a tabela da verdade abaixo, obter a expressão booleana da mesma.
A B S
0 0 1
0 1 1
1 0 0
1 1 1
A Expressão é verdadeira (S=1) apenas nos casos em que A = 0 e B = 0 ou A = 0 e B = 1
ou A = 1 e B = 1.
Para obter a expressão, montamos os termos para as expressões verdadeiras e somamos:
Situação 00: A = 0 e B = 0 => A =1 e B = 1 => 𝐴 ∙ 𝐵
Situação 01: A = 0 e B = 1 => A =1 e B = 1 => 𝐴 ∙ 𝐵
Situação 11: A = 1 e B = 1 => A =1 e B = 1 => A . B
Então, 𝑆 = 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵
2.7- Equivalência entre blocos lógicos
O uso da equivalência entre blocos lógicos permite maior otimização na utilização dos
circuitos integrados comerciais, reduzindo a quantidade de componentes e o custo dos sistemas.
2.7.1- Equivalência Inversor – NE
Observe abaixo a tabela da verdade de uma porta NE:
A B S
0 0 1
0 1 1
1 0 1
1 1 0
20
Note que para o caso A = 0 e B = 0 e para o caso A=1 e B=1, a saída S possui nível lógico
invertido, com a porta lógica comportando-se como se fosse um inversor.
Para garantir que as entradas A e B tenham o mesmo nível lógico, interligamos seus
terminais, como na figura abaixo.
Obs.:
O circuito irá se comportar então como um inversor.
Outra forma de implementar uma porta inversora usando uma NE é deixar uma das
entradas em nível lógico “1” e utilizar a outra como entrada. Observe pela tabela da verdade
acima que a saída será a entrada invertida.
Considerando a entrada B da figura acima igual a “1”, a saída (S) será a entrada (E)
invertida.
2.7.2- Equivalência Inversor – NOU
Procedendo de forma semelhante ao caso anterior e observando a tabela da verdade da
porta NOU abaixo, concluímos que, ligando as entradas desta porta, a mesma atuará como uma
porta inversora.
A B S
0 0 1
0 1 0
1 0 0
1 1 0
ES
B
SE
SE
=
SE
= “1”
21
Observe também que, considerando os casos em que uma das entradas tenha um valor fixo
em nível lógico “0”, a saída será a outra entrada invertida.
Por exemplo, se a entrada A é sempre “0”, a saída S será a entrada B invertida.
Podemos então implementar o circuito abaixo, onde B = 0:
2.7.3- Equivalência NOU e OU – E, NE e Inversores
Em capítulos posteriores estudaremos os Teoremas de De Morgan, de onde obtemos as
equivalências acima.
Um destes teoremas é a identidade : 𝐴 + 𝐵 = 𝐴 ∙ 𝐵 , mostrando que uma porta NOU
pode ser substituída por uma porta E com suas entradas invertidas.
A tabela da verdade abaixo prova a igualdade, sendo a equivalência mostrada nos circuitos
abaixo.
A B 𝐴 + 𝐵 𝐴 ∙ 𝐵
0 0 1 1
0 1 0 0
1 0 0 0
1 1 0 0
SE
B
S
A
B
S
A
⟺
22
Considere agora os circuitos acima. Se adicionarmos uma porta inversora nas saídas de
cada um dos circuitos, obteremos uma porta OU no circuito do lado esquerdo ( pela anulação
mútua dos inversores) e um circuito com porta NE do lado direito. Desta forma teremos a
equivalência de uma porta OU com porta NE e inversores, como mostra o diagrama abaixo.
2.7.4- Equivalência NE e E – OU, NOU e Inversores
A partir de outro Teorema de De Morgan obtemos a equivalência entre a porta NE e a
porta OU com suas entradas invertidas.
A identidade correspondente a este teorema é: 𝐴 ∙ 𝐵 = 𝐴 + 𝐵
A tabela abaixo prova este teorema, e a equivalência é mostrada pelos circuitos logo abaixo.
A B 𝐴 ∙ 𝐵 𝐴 + 𝐵
0 0 1 1
0 1 1 1
1 0 1 1
1 1 0 0
Adicionando uma porta inversora em cada um dos circuitos acima teremos a equivalência
de uma porta E com porta NOU e inversores, conforme diagrama abaixo.
⇔
⇔
B
S
A
B
S
A
B
S
A
B
S
A
A
B
SS
B
A
⇔
24
CAPÍTULO 3 – ÁLGEBRA DE BOOLE E SIMPLIFICAÇÃO
DE CIRCUITOS LÓGICOS
3.1 INTRODUÇÃO
Os circuitos lógicos obtidos admitem normalmente simplificações, implicando na
otimização de projetos e reduções de custos.
Neste capítulo faremos um breve estudo de álgebra de Boole, pois é através dela que
conseguimos obter as simplificações. Notamos ainda que a álgebra de Boole contém os
fundamentos da Eletrônica Digital.
3.2 Postulados
Antes de estudar os postulados, vamos definir variáveis e expressões booleanas.
As variáveis booleanas, representadas através de letras, podem assumir valores 0 ou 1.
Toda sentença matemática composta de termos cujas variáveis são booleanas é chamada de
expressão booleana, podendo igualmente assumir apenas valores 0 ou 1.
3.2 Postulado da complementação
Chamamos de 𝐴 o complemento de A. Então:
a) se A = 0 => 𝐴 = 1
b) se A = 1 => 𝐴 = 0
Podemos estabelecer ainda:
𝐴 = A ; se A = 1 => 𝐴 = 0 => 𝐴 = 1
A porta lógica que executa este postulado é a inversora.
A 𝐴
25
3.3 Postulado da adição
Na álgebra de Boole, a adição é feita conforme abaixo:
a) 0 + 0 = 0
b) 0 + 1 = 1
c) 1 + 0 = 0
d) 1 + 1 = 1
As identidades abaixo são decorrentes do postulado acima:
a) A + 0 = A
A só pode assumir os valores 0 ou 1. Examinando os dois casos temos;
Se A = 0, então 0 + 0 = 0 = A
Se A = 1, então 1 + 0 = 0 = A
Então, A + 0 = A
Usando o mesmo procedimento acima, prove as identidades abaixo:
b) A + 1 = 1
c) A + A = A
d) A + 𝐴 = 1
3.4 Postulado da multiplicação
A multiplicação segue as regras abaixo:
a) 0 . 0 = 0
b) 0 . 1 = 0
c) 1 . 0 = 0
d) 1 . 1 = 1
26
Utilizando o postulado acima, prove que as identidades abaixo são verdadeiras:
a) A . 0 = 0
b) A . 1 = A
c) A . A = A
d) A . 𝐴 = 0
3.5 Propriedades na álgebra de Boole
Assim como na matemática comum, podemos descrever as propriedades que seguem
abaixo para a álgebra de Boole.
3.6 Propriedade comutativa
Na adição:
A + B = B + A
Na multiplicação:
A . B = B . A
3.7 Propriedade Associativa
Na adição:
A + ( B + C ) = ( A + B ) + C = A + B + C
Na multiplicação:
A.( B.C ) = ( A.B).C = A.B.C
27
3.8 Propriedade Distributiva
A.( B + C ) = A.B + A.C
Faça uma tabela da verdade com as entradas A, B e C e saídas “A.( B + C )” e “A.B + A.C” para
comprovar a igualdade acima.
3.9 1º e 2º Teorema de De Morgan
O primeiro Teorema de De Morgan diz que o complemento do produto é igual a soma dos
complementos:
𝐴 ∙ 𝐵 = 𝐴 + 𝐵
Este teorema já foi demonstrado no item 2.7.3.
Segundo teorema: o complemento da soma é igual ao produto dos complementos:
𝐴 + 𝐵 = 𝐴 ∙ 𝐵
Este teorema pode ser estendido para mais de duas variáveis:
𝐴 + 𝐵 + 𝐶 + ⋯ + 𝑁 = 𝐴 ∙ 𝐵 ∙ 𝐶 … .∙ 𝑁
3.10 Outras identidades
Vamos agora apresentar outras 3 identidades auxiliares que poderão ser utilizadas
também na simplificação de expressões booleanas.
3.10.1 - A + A . B = A
Podemos provar a igualdade acima utilizando a propriedade distributiva e o postulado
“1 + B = 1”:
Evidenciando “A” no 1º termo: A . (1 + B ) = A
Então; A . ( 1 ) = A ; portanto, A + A.B = A
28
3.10.2 - ( A + B ) . ( A + C) = A + B.C
Podemos provar a identidade acima da seguinte maneira:
Propriedade distributiva:
(A+B).(A+C) = A.A + A.C + A.B + B.C
Identidade A.A = A :
(A+B).(A+C) = A + A.C + A.B + B.C
Evidenciando A pela propriedade distributiva:
(A+B).(A+C) = A . (1 + C + B) + B.C
Propriedade 1+X = 1 e A.1=A:
(A+B).(A+C) = A.1 + B.C
(A+B).(A+C) = A + B.C
3.10.3 - A + 𝐀.B = A + B
Prove a identidade acima usando os teoremas de De Morgan.
A seguir mostramos um quadro resumo com todas as expressões vistas neste capítulo.
29
3.11 Quadro Resumo
POSTULADOS
Complementação Adição Multiplicação
A = 0 => A = 1
A = 1 => A = 0
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
0 . 0 = 0
0 . 1 = 0
1 . 0 = 0
1 . 1 = 1
IDENTIDADES
Complementação Adição Multiplicação
A = A
A + 0 = A
A + 1 = 1
A + A = A
A + A = 1
A . 0 = 0
A . 1 = A
A . A = A
A . A = 0
PROPRIEDADES
Comutativa Associativa Distributiva
A + B = B + A
A . B = B . A
A+( B+C ) = ( A+B)+C
= A+B+C
A.(B.C)=(A.B).C=A.B.C
A.( B+C) = A.B + A.C
TEOREMAS DE DE MORGAN
𝐴 ∙ 𝐵 = 𝐴 + 𝐵
𝐴 + 𝐵 = 𝐴 ∙ 𝐵
IDENTIDADES AUXILIARES
A + A.B = A
A + A. B = A + B
( A+B ).( A+C ) = A + B.C
30
3.11 Simplificação de expressões booleanas
As expressões booleanas podem ser simplificadas usando-se álgebra de Boole ou, como
veremos adiante, através dos mapas de Veitch-Karnaugh.
3.11.1 Simplificação por álgebra de Boole
Vamos mostrar a simplificação pela álgebra de Boole através de exemplos.
Exemplo 1:
Simplificar a expressão: 𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ ( 𝐵 + 𝐶 )
Começamos evidenciando o termo “A”:
𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 + 𝐶 = 𝐴 ∙ ( 𝐵 ∙ 𝐶 + 𝐵 + 𝐶 )
Usando o teorema de De Morgan ( 𝐵 ∙ 𝐶 = 𝐵 + 𝐶 )
obtemos:
𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 + 𝐶 = 𝐴 ∙ ( 𝐵 + 𝐶 + 𝐵 + 𝐶 )
Da propriedade comutativa:
𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 + 𝐶 = 𝐴 ∙ ( 𝐵 + 𝐵 + 𝐶 + 𝐶 )
Aplicando a identidade 𝐴 + 𝐴 = 1 em “𝐵 + 𝐵" e em "𝐶 + 𝐶 " ) temos:
𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 + 𝐶 = 𝐴 ∙ ( 1 + 1 )
Utilizando os postulados da adição e multiplicação, obtemos finalmente:
𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 + 𝐶 = 𝐴
Este exemplo mostra como uma expressão aparentemente mais complexa pode ser reduzida
para uma forma mais simples, reduzindo a implementação física, portando reduzindo
componentes eletrônicos e conseqüentemente o custo final de um projeto.
31
3.11.2 Simplificação por mapa de Veitch-Karnaugh
Este método permite simplificações de forma mais prática, sendo usada a tabela
da verdade de qualquer situação.
Vamos estudar os casos para 2, 3 e 4 variáveis.
Mostraremos o caso para 2 variáveis detalhadamente. Os outros casos serão vistos
de forma mais abreviada, partindo logo para aplicação prática.
3.11.2 Mapa de Veitch-Karnaugh para 2 variáveis
Mostramos abaixo o mapa de Veitch-Karnaugh para 2 variáveis:
B B
A
A
Todas as situações possíveis para as variáveis A e B são marcadas no mapa,
conforme abaixo:
a) situação onde A = 0 ( A = 1) :
B B
A
A
b) situação onde A = 1:
B B
A
A
c) situação onde B = 0 ( B = 1):
B B
A
A
32
d) situação onde B = 1:
B B
A
A
Para 2 variáveis, teremos 4 possibilidades de casos:
Caso 0: A=0 e B=0; A. B ( corresponde a linha 0 da tabela verdade )
Caso 1: A=0 e B=1; A. B ( corresponde a linha 1 da tabela verdade )
Caso 2: A=1 e B=0; A.B ( corresponde a linha 2 da tabela verdade )
Caso 3: A=1 e B=1; A.B ( corresponde a linha 3 da tabela verdade )
Na tabela da verdade fica:
Caso A B S
0 0 0
1 0 1
2 1 0
3 1 1
Observe que a coluna “Caso” é o número decimal que corresponde ao número
binário formado pelas colunas A e B.
Estes casos são mostrados no mapa conforme abaixo:
B B
A Caso 0
A. B
0 0
Caso 1
A. B
0 1
A Caso 2
A.B
1 0
Caso 3
A.B
1 1
Observamos então que o valor da saída (coluna S) na tabela da verdade deve ser
colocado no mapa na posição que correspondente a sua linha. Podemos ainda obter a
33
expressão booleana da tabela da verdade, conforme visto anteriormente, e então
preencher o mapa conforme os termos obtidos.
Para demonstrar, vamos preencher o mapa com o caso abaixo, visto no item 2.6:
A B S
0 0 1
0 1 1
1 0 0
1 1 1
Como foi visto, a expressão booleana para a saída desta tabela é:
𝑆 = 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵
Então preenchemos o mapa com o valor “1” nos locais correspondentes aos termos da
expressão e com “0” nos restantes:
B B
A 1 1
A 0 1
A expressão obtida diretamente da tabela da verdade normalmente não está na sua
forma mais simplificada. Vamos então estudar como o mapa de Veitch-Karnaugh pode
ser usado para simplifica-la.
Para simplificação, é preciso agrupar as regiões onde S=1 no menor número
possível de agrupamentos. Os agrupamentos serão marcados pela linha pontilhada.
Para um diagrama de 2 variáveis, os agrupamentos possíveis são:
a) Quadra:
Contorno de todas as regiões:
B B
A 1 1
A 1 1
Este caso ocorre quando a expressão de S se resume a S=1 para todos os casos
possíveis na tabela da verdade.
34
b) Pares:
Ocorre para os casos em que as regiões que contém “1” são vizinhas:
Ex.:
B B
A 1 0
A 1 0
Par B; Neste caso, a simplificação é: S = B
B B
A 1 1
A 0 0
Simplificação: S = A
c) Termos isolados:
Nestes casos não há simplificação.
B B
A 1 0
A 0 0
S= A. B
Voltando ao caso acima temos:
Tabela da verdade:
A B S
0 0 1
0 1 1
1 0 0
1 1 1
Expressão booleana:
𝑆 = 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵
35
Mapa de Veitch-Karnaugh:
B B
A 1 1
A 0 1
Simplificações:
B B
A 1 1
A 0 1
Observe que é possível agrupar em dois pares. Todos os “1s” devem ser
agrupados, sendo que um “1” pode pertencer a mais de um agrupamento.
A expressão do primeiro par é 𝐴
Para o segundo par a expressão é B.
Então a expressão simplificada de S é: 𝑆 = 𝐴 + 𝐵
3.11.3 Mapa de Veitch-Karnaugh para 3 variáveis
Mostraremos em seguida o mapa de Veitch-Karnaugh para 3 variáveis, as regiões
associadas a tabela da verdade e os agrupamentos possíveis.
Tabela da verdade:
(A. B. C)
(A. B. C)
(A. B. C)
(A. B. C)
(A. B. C)
(A. B. C)
(A. B. C)
(A. B. C)
caso A B C S
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
36
Mapa:
B B
A
Caso 0
0 0 0
A. B. C
Caso 1
0 0 1
A. B. C
Caso 3
0 1 1
A. B. C
Caso 2
0 1 1
A. B. C
A
Caso 4
1 0 0
A. B. C
Caso 5
1 0 1
A. B. C
Caso 7
1 1 1
A.B.C
Caso 6
1 1 0
A. B. C
C C C
Agrupamentos possíveis:
a) Oitava (S=1 para todos os casos):
B B
A 1 1 1 1
A 1 1 1 1
C C C
b) Quadras:
(1) (2) (3)
Os exemplos acima são algumas das quadras possíveis:
1) Quadra A
2) Quadra B
3) Quadra C
B B
A 0 0 1 1
A 0 0 1 1
C C C
B B
A 1 0 0 1
A 1 0 0 1
C C C
B B
A 0 0 0 0
A 1 1 1 1
C C C
37
c) Pares:
B B
A 0 1 1 0
A 1 0 0 1
C C C
Na primeira linha temos o par A. C e na segunda linha o par A.C .
d) Termos isolados:
Neste caso não há simplificação para o agrupamento.
B B
A 0 1 0 0
A 0 0 0 1
C C C
Na primeira linha temos o termo A. B. C e na segunda linha o termo A.B.C .
Para exemplo, vamos minimizar o circuito que executa a tabela abaixo:
O número no canto superior esquerdo de cada quadrado do mapa corresponde ao número
da coluna “caso” na tabela da verdade.
caso A B C S
0 0 0 0 1
1 0 0 1 1
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 0
7 1 1 1 1
38
Sendo assim, podemos transpor a tabela diretamente para o mapa preenchendo com os
valores da coluna “S”:
B B
A
0
1
1
1
3
0
2
0
A
4
1
5
1
7
1
6
0
C C C
Agora que transpomos a tabela da verdade para o mapa, podemos agrupar os quadrados
que possuem o valor “1”:
B B
A 1 1 0 0
A 1 1 1 0
C C C
Conforme pode ser visto acima, formamos dois agrupamentos:
1) uma quadra correspondente ao termo B ;
2) um par correspondendo ao termo A.C;
A expressão mínima que executa a tabela acima será a soma dos dois termos:
S = B + A. C
39
3.11.4 Mapa de Veitch-Karnaugh para 4 variáveis
Segue abaixo a tabela da verdade para 4 variáveis para uma determinada situação:
Caso A B C D S
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 1
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 1
O mapa para 4 variáveis é:
C
C
A
0
0 0 0 0
A. B. C. D
1
0 0 0 1
A. B. C. D
3
0 0 1 1
A. B. C. D
2
0 0 1 0
A. B. C. D
B
4
0 1 0 0
A. B. C. D
5
0 1 0 1
A. B. C. D
7
0 1 1 1
A. B. C. D
6
0 1 1 0
A. B. C. D
B
A
12
1 1 0 0
A. B. C. D
13
1 1 0 1
A. B. C. D
15
1 1 1 1
A.B.C.D
14
1 1 1 0
A. B. C. D
8
1 0 0 0
A. B. C. D
9
1 0 0 1
A. B. C. D
11
1 0 1 1
A. B. C. D
10
1 0 1 0
A. B. C. D
B
D
D
D
40
O número no canto superior esquerdo de cada quadrado corresponde ao caso, que na
tabela da verdade é o número da linha.
Veremos agora os agrupamentos possíveis:
a) exemplos de oitavas:
b) exemplos de quadras:
c) exemplo de pares:
C C
A 1 1 1 1 B
0 0 0 0 B
A 0 0 0 0
1 1 1 1 B D D D
C C
A 1 0 0 1 B
1 0 0 1 B
A 1 0 0 1
1 0 0 1 B D D D
C C
A 0 1 1 0 B
0 1 1 0 B
A 0 1 1 0
0 1 1 0 B D D D
C C
A 1 0 0 1 B
0 0 0 0 B
A 0 0 0 0
1 0 0 1 B D D D
C C
A 0 1 1 0 B
1 0 0 1 B
A 1 0 0 1
0 1 1 0 B D D D
C C
A 0 0 1 0 B
1 0 0 1 B
A 0 0 0 0
0 0 1 0 B
D D D
41
Como exemplo de simplificação, resolveremos a situação da tabela da verdade acima.
Preenchendo o mapa temos:
Faremos agora o agrupamento. Devemos procurar agrupar dando preferência, na ordem,
as oitavas, quadras, pares e finalmente aos termos isolados.
Os três agrupamentos feitos acima obtêm a expressão booleana simplificada que executa
a tabela da verdade:
𝑃𝑎𝑟 = 𝐴. 𝐵. 𝐶
𝑄𝑢𝑎𝑑𝑟𝑎 = 𝐵. 𝐶
𝑂𝑖𝑡𝑎𝑣𝑎 = 𝐷
Então; 𝑆 = 𝐴. 𝐵.𝐶 + 𝐵. 𝐶 + 𝐷
C C
A 1 1 1 0 B
0 1 1 1 B
A 0 1 1 1
0 1 1 0 B
D D D
C C
A 1 1 1 0 B
0 1 1 1 B
A 0 1 1 1
0 1 1 0 B
D D D
42
CAPÍTULO 4 – FLIP-FLOP
4.1 INTRODUÇÃO
Os circuitos estudados anteriormente possuem suas saídas dependentes apenas das
variáveis de entrada.
Neste capítulo estudaremos outra classe de circuitos, cujas saídas dependem dos sinais de
entrada e/ou dos seus estados anteriores. Estes circuitos são normalmente pulsados, operando
sob o comando de uma série de pulsos, denominado de clock.
4.2 FLIP-FLOP – CONCEITO
Um flip-flop pode ser representado por um bloco onde encontramos 2 saídas ( Q e 𝑄 ),
conexões para varáveis de entradas e uma entrada de controle (clock). A entrada Q será
considerada a principal.
A figura abaixo ilustra um flip-flop genérico.
Há apenas dois estados permitidos para as saídas:
a) Q = 0 e 𝑄 = 1
b) Q = 1 e 𝑄 = 0
Portanto, o estado Q = 1 e 𝑄 = 1 não é permitido, sendo proibidas as entradas que resultem neste
estado de saída.
Existem alguns tipos de flip-flops, e iremos estudá-los em seguida.
43
4.2.1 Flip-flop RS básico
Este flip-flop possui uma entrada S (set) e outra entrada R (reset), não possuindo a
entrada de controle clock. A figura abaixo mostra este flip-flop construído com portas lógicas
Não E e inversoras.
Observe que as duas portas Não E são realimentadas pelas saídas. Portanto, os estados
finais das saídas dependerão dos estados anteriores das mesmas e das entradas S e R.
Para entendermos o funcionamento deste circuito, vamos construir uma tabela da
verdade com as entradas S, R e a entrada Q. Observe que não há necessidade de se usar 𝑄, uma
vez que determinado Q, o valor de 𝑄 também será conhecido. Usaremos ainda a notação “Qa”
para o estado anterior de Q e “Qf” para o estado final de Q.
S R Qa Qf
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
S
R
Q
Q
44
Caso 0:
Inserindo os valores das variáveis de entradas e das saídas definidos na linha “0” da tabela,
temos:
Analisando a situação das portas lógicas Não E, notamos que o circuito é estável e que a
saída Q final continuará com o valor anterior, ou seja, Qf = Qa = 0.
Caso 1:
Procedendo de maneira análoga ao caso anterior temos:
Observe que o circuito também é estável para este caso, portanto, Qf = Qa = 1.
S
R
Q
Q
0
0
0
1
1
0
S
R
Q
Q
0
0
1
0
0
1
45
Caso 2:
Circuito também é estável, portanto Qf = 0.
Caso 3:
Observe que o circuito está agora em uma situação instável. A saída 𝑄 irá mudar para 1,
forçando a saída Q para nível lógico 0. Neste instante o circuito passa a ser estável. Portando
Qf = 0.
S
R
Q
Q
0
1
0
1
1
0
S
R
Q
Q
0
1
1
0
1
0
0
1
0
1
1
0
46
Caso 4:
Semelhantemente ao caso anterior, este circuito também é inicialmente instável, sendo a
saída Q forçada para nível lógico 1, quando então o circuito fica estável. Então Qf = 1.
Caso 5:
Circuito já está estável, portanto Qf = 1
Caso 6:
Note que neste caso as duas saídas são forçadas para nível 1, situação proibida para o
flip-flop. Portando este caso deve ser evitado na utilização do flip-flop.
S
R
Q
Q
1
0
0
1
0
1
1
0
1
0
0
1
S
R
Q
Q
1
0
1
0
0
1
0
1
0
0
S
R
Q
Q
1
1
1
1
1
1
0
0
47
Caso 7:
Caso semelhante ao anterior, devendo também ser evitado.
Preenchendo então a tabela da verdade, temos:
Podemos resumir a tabela acima, conforme segue:
(situação proibida)
Observe que, por esta tabela, podemos perceber que a entrada S (Set, fixa 1) quando
acionada em nível 1, força a saída Q para 1 e a entrada R (reset, “zera” o flip-flop) força a saída
para 0 quando acionada em nível 1. Observe ainda que, quando R = S = 0, a saída permanece
inalterada. Notamos ainda que, como não há uma entrada de controle, a saída muda no instante
em que alteramos S e R.
0
0S
R
Q
Q
1
1
1
1
1
1
0
0
S R Qa Qf
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
}
}
}
}
Fixa Qf = Qa
Fixa Qf = 0
Fixa Qf = 1
Situação proibida, pois Q = 𝑄 = 1
48
4.2.1 Flip-flop RS com entrada Clock
Para adicionar uma entrada de controle (Clock) ao circuito anterior, vamos substituir as
entradas inversoras por duas portas Não E. Lembre que esta porta é equivalente a uma porta
inversora quando deixamos uma das entradas em nível lógico “1”. Veja o circuito abaixo:
Podemos observar que quando a entrada clock (CK) está em nível “1”, as duas primeiras
portas NE se comportarão como inversoras, como no circuito do Flip-Flop RS básico, ou seja,
quando clock é igual a “1”, o circuito funciona exatamente como visto no item anterior. Observe
e conclua que quando clock é igual a “0”, as saídas permanecerão inalteradas, ainda que as
entradas R e S variem.
Deixando Clock em nível “0”, fazemos com que o circuito trave as saídas nos seus níveis
atuais. Deixando Clock em nível “1”, o circuito atuará como o Flip-flop RS básico.
Podemos resumir assim:
Representamos este Flip-flop em bloco, conforme abaixo:
CLOCK
S
R
Q
Q
CK Qf
0 Qa
1 RS básico
>
S
R
CK
Q
Q
49
4.2.2 Flip-flop JK
O Flip-flop RS com clock apresenta ainda o problema das entradas proibidas (R=S=1)
enquanto o clock estiver em nível “1”. Além disto, enquanto o clock estiver em “1”, a saída irá
variar durante todo o tempo em que as entradas R e S variarem.
Apresentaremos agora uma versão de flip-flop que resolve o problema das entradas
proibidas. Este flip-flop, chamado de JK, é o próprio RS realimentado, conforme abaixo:
Examinando o circuito e considerando clock = 1, podemos levantar a tabela da verdade
abaixo:
}=Qa
}=0
}=1
}= 𝑄𝑎
Simplificando:
J K Qf
0 0 Qa
0 1 0
1 0 1
1 1 Qa
>
S
R
CK
Q
Q
J
K
S = J.Q
R = K.Q
J K Qa Qa S R Qf
0 0 0 1 0 0 Qa
0 0 1 0 0 0 Qa
0 1 0 1 0 0 Qa(Qa=0)
0 1 1 0 0 1 0
1 0 0 1 1 0 1
1 0 1 0 0 0 Qa(Qa=1)
1 1 0 1 1 0 Qa(Qa=0)
1 1 1 0 0 1 Qa(Qa=1)
50
Observe que mantendo J = K = 1, a saída Q mudará de estado continuamente, sendo sua
situação final indeterminada. Para evitar isto, é necessário que o clock retorne ao nível “0” em
tempo conveniente, evitando-se que haja outras inversões nas saídas.
Lembramos que as saídas estarão travadas para clock = 0.
O flip-flop JK pode ser construído com portas NE conforme diagrama abaixo:
4.2.3 Flip-flop JK com Preset e Clear
As entradas Preset (PR) e Clear (CLR) foram adicionadas ao flip-flop JK para forçar a
saída Q a assumir valor “1” (através do preset) ou valor “0” (pelo clear), conforme figura
abaixo.
Pode-se observar que mantendo clock igual a “0” (bloqueando assim as entradas J e K),
podemos impor nível “1” para Q aplicando nível “0” na entrada PR. Também podemos impor
nível “0” para Q aplicando nível “0” na entrada CLR.
J
K
Q
Q
CK
J
K
CK
Q
Q
PR (preset)
CLR (clear)
51
Não é permitida a aplicação de nível “0” simultaneamente para as duas entradas PR e
CLR, pois resultaria em situação proibida para as saídas.
A aplicação de nível “1” simultaneamente para as duas entradas PR e CLR resulta na
operação normal do flip-flop.
Segue abaixo uma tabela resumo para utilização das entradas PR e CLR.
PR CLR Qf
0 0 proibido
0 1 1
1 0 0
1 1 operação normal
Este flip-flop pode ser representado em blocos conforme abaixo:
Note que os círculos nos terminais PR e CLR indicam que os mesmos são ativados em
nível lógico “0”, conforme tabela da verdade acima.
4.2.3 Flip-flop JK Mestre-Escravo
Quando o clock é mantido em nível “1” no flip-flop JK, a saída irá variar enquanto as
entradas J e K estiverem variando. Esta é uma característica indesejável e, para resolve-la, foi
criado o flip-flop JK mestre-escravo cujo circuito é apresentado abaixo.
>
J
CK
Q
QK
PR
CLR