52
UNED LINHARES CURSO DE AUTOMAÇÃO INDUSTRIAL APOSTILA DE ELETRÔNICA DIGITAL EDIÇÃO: JULHO / 2011

Apostila Eletrônica Digital

Embed Size (px)

DESCRIPTION

Apostila Eletrônica Digital

Citation preview

UNED LINHARES

CURSO DE AUTOMAÇÃO INDUSTRIAL

APOSTILA DE ELETRÔNICA DIGITAL

EDIÇÃO: JULHO / 2011

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

resto

resto

resto

resto

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

resto

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

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

23

2.7.5 - Equivalência – Quadro resumo

BLOCO LÓGICO BLOCO EQUIVALENTE

SE

B

SE

SE

SE

= “1”

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

52

J

K

CK

Q

Q

S

R

CK

Q1

Q1

Mestre Escravo

Q

Q