• Nenhum resultado encontrado

ELETRÔNICA VOL. 4 - ELETRÔNICA DIGITAL

N/A
N/A
Protected

Academic year: 2021

Share "ELETRÔNICA VOL. 4 - ELETRÔNICA DIGITAL"

Copied!
91
0
0

Texto

(1)

E

le

tr

ô

n

ica

H

ab

ili

ta

ção

cni

ca

e

m

H

ab

ili

ta

ção

cni

ca

e

m

E

le

tr

ô

n

ica

H

ab

ili

ta

ção

cni

ca

e

m

E

le

tr

ô

n

ica

Eletrônica Digital

4

(2)
(3)

Eletrônica

(4)

Eletrônica

Eletrônica digital

Ronaldo Diago

Valder Moreira Amaral

(autores)

Edson Horta

(coautor)

(5)

Dados Internacionais de Catalogação na Publicação (CIP) (Bibliotecária Silvia Marques CRB 8/7377)

D536

Diago, Ronaldo

Eletrônica: eletrônica digital / Ronaldo Diago, Valder Moreira Amaral (autores); Edson Horta (coautor); Marcos Vagner Zamboni (revisor); Jun Suzuki (coordenador). -- São Paulo: Fundação Padre Anchieta, 2011. (Coleção Técnica Interativa. Série Eletrônica, v. 4)

Manual técnico Centro Paula Souza ISBN 978-85-8028-048-7

1. Eletrônica digital I. Amaral, Valder Moreira II. Horta, Edson

DIRETORIA DE PROJETOS EDUCACIONAIS Direção: Fernando José de Almeida

Gerência: Monica Gardelli Franco, Júlio Moreno Coordenação Técnica: Maria Luiza Guedes Equipe de autoria Centro Paula Souza Coordenação geral: Ivone Marchi Lainetti Ramos Coordenação da série Eletrônica: Jun Suzuki Autores: Ronaldo Diago, Valder Moreira Amaral Coautor: Edson Horta

Revisão técnica: Marcos Vagner Zamboni Equipe de Edição

Coordenação geral: Carlos Tabosa Seabra,

Rogério Eduardo Alves

Coordenação editorial: Luiz Marin

Edição de texto: Roberto Matajs Secretário editorial: Antonio Mello Revisão: Conexão Editorial

Direção de arte: Bbox Design Diagramação: LCT Tecnologia Ilustrações: Adilson Secco

Pesquisa iconográfica: Completo Iconografia Capa

Fotografia: Eduardo Pozella, Carlos Piratininga Tratamento de imagens: Sidnei Testa

Abertura capítulos: © Lize Streeter/Dorling Kindersley/

Getty Images

Presidência

João Sayad

Vice-presidência

Ronaldo Bianchi, Fernando Vieira de Mello

O Projeto Manual Técnico Centro Paula Souza – Coleção Técnica Interativa oferece aos alunos da instituição conteúdo relevante à formação técnica, à educação e à cultura nacional, sendo também sua finalidade a preservação e a divulgação desse conteúdo, respeitados os direitos de terceiros. O material apresentado é de autoria de professores do Centro Paula Souza e resulta de experiência na docência e da pesquisa em fontes como livros, artigos, jornais, internet, bancos de dados, entre outras, com a devida autorização dos detentores dos direitos desses materiais ou contando com a per-missibilidade legal, apresentando, sempre que possível, a indicação da autoria/crédito e/ou reserva de direitos de cada um deles.

Todas as obras e imagens expostas nesse trabalho são protegidas pela legislação brasileira e não podem ser reproduzidas ou utilizadas por terceiros, por qualquer meio ou processo, sem expressa autorização de seus titulares.

Agradecemos as pessoas retratadas ou que tiveram trechos de obras reproduzidas neste trabalho, bem como a seus herdeiros e representantes legais, pela colaboração e compreensão da finalidade desse projeto, contribuindo para que essa iniciativa se tornasse realidade. Adicionalmente, colocamo-nos à disposição e solicitamos a comunicação, para a devida correção, de quaisquer equívocos nessa área porventura cometidos em livros desse projeto.

GOVERNADOR

Geraldo Alckmin

VICE-GOVERNADOR

Guilherme Afif Domingos

SECRETáRIO DE DESENVOlVIMENTO ECONôMICO, CIêNCIA E TECNOlOGIA

Paulo Alexandre Barbosa

Presidente do Conselho Deliberativo

Yolanda Silvestre

Diretora Superintendente

Laura Laganá

Vice-Diretor Superintendente

César Silva

Chefe de Gabinete da Superintendência

Elenice Belmonte R. de Castro

Coordenadora da Pós-Graduação, Extensão e Pesquisa

Helena Gemignani Peterossi

Coordenador do Ensino Superior de Graduação

Angelo Luiz Cortelazzo

Coordenador de Ensino Médio e Técnico

Almério Melquíades de Araújo

Coordenadora de Formação Inicial e Educação Continuada

Clara Maria de Souza Magalhães

Coordenador de Desenvolvimento e Planejamento

João Carlos Paschoal Freitas

Coordenador de Infraestrutura

Rubens Goldman

Coordenador de Gestão Administrativa e Financeira

Armando Natal Maurício

Coordenador de Recursos Humanos

Elio Lourenço Bolzani

Assessora de Comunicação

Gleise Santa Clara

Procurador Jurídico Chefe

Benedito Libério Bergamo O Projeto Manual Técnico Centro Paula Souza – Coleção Técnica Interativa, uma iniciativa do Governo do Estado de São Paulo, resulta de um

esforço colaborativo que envolve diversas frentes de trabalho coordenadas pelo Centro Paula Souza e é editado pela Fundação Padre Anchieta. A responsabilidade pelos conteúdos de cada um dos trabalhos/textos inseridos nesse projeto é exclusiva do autor. Respeitam-se assim os diferen-tes enfoques, pontos de vista e ideologias, bem como o conhecimento técnico de cada colaborador, de forma que o conteúdo exposto pode não refletir as posições do Centro Paula Souza e da Fundação Padre Anchieta.

(6)

Sumário

13 Capítulo 1

Sistemas numéricos

1.1 Sistema numérico decimal . . . 14

1.2 Sistema numérico hexadecimal . . . 15

1.3 Sistema numérico octal . . . 17

1.4 Sistema numérico binário . . . 18

1.5 Conversão de sistemas numéricos

(em números inteiros positivos) . . . 20

1.5.1 Conversão de binário em decimal . . . 20

1.5.2 Conversão de decimal em binário . . . 21

1.5.3 Conversão de hexadecimal em decimal . . . 22

1.5.4 Conversão de decimal em hexadecimal . . . 22

1.5.5 Conversão de octal em decimal . . . 22

1.5.6 Conversão de decimal em octal . . . 23

1.5.7 Conversão de octal em binário . . . 23

1.5.8 Conversão de binário em octal . . . 24

1.5.9 Conversão de hexadecimal em binário . . . 24

1.5.10 Conversão de binário em hexadecimal . . 24

1.5.11 Conversão de octal em hexadecimal . . . . 25

1.5.12 Conversão de hexadecimal em octal . . . . 25

1.5.13 Resumo de conversão de sistemas . . . 25

29 Capítulo 2

Funções lógicas

2.1 Portas lógicas . . . 31

2.2 Álgebra booleana . . . 33

2.2.1 Propriedades e teoremas da álgebra

booleana . . . 36

2.3 Descrição de funções lógicas . . . 41

2.3.1 Circuito lógico . . . 41

2.3.2 Tabela verdade 2 . . . 41

2.3.3 Simplificação de funções lógicas . . . 43

53 Capítulo 3

Circuitos combinatórios

3.1 Codificadores/decodificadores . . . 54

3.1.1 Codificador de M-N (M entradas e

N saídas) . . . 54

3.1.2 Exemplo de codificador decimal-binário . . 54

3.2 Multiplexadores/demultiplexadores . . . 62

3.3 Circuitos aritméticos . . . 74

3.3.1 Meio somador . . . 79

3.3.2 Somador completo . . . 80

3.3.3 Subtrator . . . 83

85 Capítulo 4

Circuitos sequenciais

4.1 Elementos de memória . . . 86

4.2 Contadores . . . 96

4.2.1 Contadores assíncronos . . . 96

4.2.2 Contadores síncronos . . . 99

4.3 Registradores de deslocamento . . . .111

4.3.1 Informação série e informação paralela . . .111

4.3.2 Registrador de deslocamento para a

direita . . . .112

Capa: Larissa Gabrielle Rizatto,

aluna do Centro Paula Souza

Foto: Eduardo Pozella e

(7)

Sumário

4.4 Registrador de deslocamento para a esquerda . .113

4.4.1 Circuito registrador de deslocamento –

entrada série ou paralela . . . .115

4.4.2 Associação de registradores – registrador

de maior capacidade . . . .117

4.4.3 Registrador como multiplicador ou

divisor por 2 . . . .117

4.4.4 Registrador de deslocamento em anel . . . .118

121 Capítulo 5

Sistemas microproces sados

5.1 Processadores . . . 123

5.1.1 Estrutura interna do PIC16F628A . . . 126

5.2 Programação . . . 128

5.2.1 Fluxograma . . . 128

5.2.2 Linguagens de programação . . . 130

5.2.3 Linguagem assembly . . . .132

143 Apêndice A

Famílias de circuitos integrados

A.1 Família TTL (transistor – transistor logic) . . . 144

A.2 Família CMOS (complementary

metal-oxide-semiconductor) . . . 148

149 Apêndice B

Conversores A/D e D/A

B.1 Conversor digital-analógico . . . .151

B.1.1 Conversor D/A com resistores de

peso binário . . . 152

B.2 Conversor analógico-digital . . . 160

B.2.1 Conversão A/D – usando comparadores .161

B.2.2 Conversor A/D – usando contador e

conversor D/A . . . .161

163 Apêndice C

MPlAB

C.1 Criação de um projeto . . . 165

C.2 Compilação . . . 166

C.3 Simulação . . . 167

C.4 IC-PROG . . . 168

C.4.1 Configuração do IC-PROG . . . 168

C.5 PICDEL . . . 170

171 Referências bibliográficas

(8)

Capítulo 1

(9)

O

s sistemas numéricos são usados para representar a quantidade de determinados elementos. O mais utilizado atualmente pela maioria das pessoas é chamado decimal. Esse nome foi adotado porque a base empregada é composta por dez algarismos, com os quais é possível formar qualquer número por meio da lei da formação.

Existem outros sistemas métricos que são utilizados em áreas técnicas, como eletrônica digital e programação de computadores. Nas próximas seções serão detalhadas as bases mais usadas nessas duas áreas: decimal, hexadecimal, octal e binária. Também veremos os métodos empregados para conversão de números entre essas bases.

1.1 Sistema numérico decimal

Os sistemas de numeração surgiram da necessidade de representar por meio de símbolos as contagens e associações de quantidades que as pessoas realizavam. Os egípcios, os babilônios, os chineses, os maias, os romanos e vários outros po-vos criaram sistemas de numeração próprios. O que utilizamos é o indo-arábico. No sistema numérico decimal, os símbolos são representados por dez algarismos, que são: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Para compor um número, associamos um ou mais algarismos e, dependendo da posição deles, obtemos números com valores diferentes.

A posição que o algarismo ocupa no número determina quantas são as unidades, as dezenas e as centenas desse número. Observe na figura 1.1 a representação do número 5 738.

pesos dos algarismos do número 5 738

5 7 3 8 ┌─────────────┐

│││└─ unidades → 8 · 100 = 8 8 tem peso 1

││└── dezenas → 3 · 101 = 30 3 tem peso 10

│└─── centenas → 7 · 102 = 700 7 tem peso 102

└──── milhares → 5 · 103 = 5 000 5 tem peso 103

│ 5 738 │ └── potências de base 10 Figura 1.1 Exemplo do número 5 738 no sistema numérico decimal.

Nesse sistema, os números são representados de dez em dez; uma dezena é igual a 10 unidades, uma centena é igual a 100 unidades e um milhar é igual a 1 000 unidades. Em função dessa representação, dizemos que o sistema decimal é um sistema de base 10.

Exemplos

1. Nos números decimais a seguir, quais os valores dos pesos dos algarismos 3, 4 e 5? a) 30 469 b) 179 531 Solução: a) 30 469 = 9 · 100 + 6 · 101 + 4 · 102 + 0 · 103 + 3 · 104 3 tem peso (104 = 10 000) 4 tem peso (102 = 100) b) 179 531 = 1 · 100 + 3 · 101 + 5 · 102 + 9 · 103 + 7 · 104 + 1 · 105 5 tem peso (102 = 100) 3 tem peso 10

2. Qual algarismo no número decimal 54 781 tem peso 1 000?

Solução:

54 781 = 1 · 100 + 8 · 101 + 7 · 102 + 4 · 103 + 5 · 104

O algarismo 4 tem peso 1 000.

1.2 Sistema numérico hexadecimal

O sistema numérico hexadecimal possui 16 símbolos, representados por 16 alga-rismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.

É possível fazer correspondência entre os algarismos do sistema hexadecimal e os algarismos do sistema decimal:

Algarismos hexadecimais 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

Algarismos decimais 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14, 15 Para representarmos um número hexadecimal no sistema decimal, devemos pro-ceder como mostra a figura 1.2.

(10)

Dizemos que o sistema hexadecimal é um sistema de base 16. Exemplos

1. Nos números hexadecimais a seguir, quais os valores dos pesos dos algarismos 2, B e C? a) 32CH b) B3CH Solução: a) 32CH = 12 · 160 + 2 · 161 + 3 · 162 2 tem peso 16 C tem peso (160 = 1) b) B3CH = 12 · 160 + 3 · 161 + B · 162 B tem peso (162 = 256) C tem peso 1

2. Encontre o equivalente decimal dos números hexadecimais a seguir usando os pesos de cada algarismo.

a) A2CH b) 52H Solução: a) A2CH = 12 · 160 + 2 · 161 + 10 · 162 = 12 + 32 + 2 560 = 2 604 → A2CH = (2 604)10 = 2 604 b) 52H = 2 · 160 + 5 · 161 = 2 + 80 = 82 → 52H = (82) 10 = 82 O número decimal pode ser representado sem parênteses e sem índice.

┌─── “H” somente indica que é um número hexadecimal

│ pesos dos algarismos do número 43BCH

4 3 BC H ┌─────────────┐ │││└─ → 12 · 160 = 12 C tem peso 1 ││└── → 11 · 161 = 176 B tem peso 16 │└─── → 3 · 162 = 768 3 tem peso 162 └──── → 4 · 163 =16 384 4 tem peso 163 │ 17 340 │ 43BCH = 17 340 hexadecimal decimal └─potências de base 16 Figura 1.2 43BCH no sistema numérico hexadecimal equivale ao número 17 340 no sistema decimal.

1.3 Sistema numérico octal

O sistema numérico octal possui oito algarismos, representados pelos símbolos: 0, 1, 2, 3, 4, 5, 6, 7.

É possível fazer correspondência entre os algarismos do sistema octal e os alga-rismos do sistema decimal:

Algarismos octais 0, 1, 2, 3, 4, 5, 6, 7

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

Algarismos decimais 0, 1, 2, 3, 4, 5, 6, 7

Para representarmos um número octal no sistema decimal, devemos proceder como mostra a figura 1.3.

Dizemos que o sistema octal é um sistema de base 8. Exemplos

1. Nos números octais a seguir, quais os valores dos pesos dos algarismos 2 e 7? a) (327)8 b) (271)8 Solução: a) (327)8 = 7 · 80 + 2 · 81 + 3 · 82 2 tem peso 8 7 tem peso (80 = 1) b) (271)8 = 1 · 80 + 7 · 81 + 2 · 82 2 tem peso (82 = 64) 7 tem peso 8

┌── índice 8 somente indica que é número octal

│ pesos dos algarismos no número (4 378)8

(4 3 7 8)8 ┌─────────────┐ │││└ → 8 · 80 = 8 8 tem peso 1 ││└─ → 7 · 81 = 56 7 tem peso 8 │└── → 3 · 82 = 192 3 tem peso 82 └─── → 4 · 83 = 2 048 4 tem peso 83 │ 2304 │ └─ potências de base 8 Figura 1.3 Representação do número (4 378)8 no sistema

numérico octal. Esse número equivale ao 2 304 no sistema decimal.

(11)

2. Encontre o equivalente decimal dos números octais a seguir usando os pesos de cada algarismo. a) (34)8 b) (206)8 Solução: a) (34)8 = 4 · 80 + 3 · 81 = 4 + 24 = 28 b) (206)8 = 6 · 80 + 0 · 81 + 2 · 82 = 6 + 0 + 128 = 134

1.4 Sistema numérico binário

O sistema de numeração binário possui dois símbolos, representados pelos alga-rismos: 0 e 1.

É possível fazer correspondência entre os algarismos do sistema binário e os algarismos do sistema decimal:

Algarismos binários 0, 1

↓ ↓

Algarismos decimais 0, 1

Para representar um número binário no sistema decimal, devemos proceder como mostra a figura 1.4.

Dizemos que o sistema binário é um sistema de base 2.

Nesse sistema de numeração, os algarismos podem ser chamados de dígitos. Cada dígito em um sistema binário é denominado bit (binary digit). Os números binários são representados em grupos de quatro dígitos, completando-se com zero(s) à esquerda, se necessário.

┌── índice 2 somente indica que é número binário

│ pesos dos algarismos no número (1 101)2

(1 1 0 1)2 ┌─────────────┐ │││└ → 1 · 20 = 1 1 tem peso 1 ││└─ → 0 · 21 = 0 0 tem peso 2 │└── → 1 · 22 = 4 1 tem peso 22 └─── → 1 · 23 = 8 1 tem peso 23 │ 13 │ (1101)2 = 13 binário decimal └─potências de base 2 Figura 1.4 Representação do número (1101)2 no sistema

numérico binário. Esse número equivale ao 13 no sistema decimal.

Na representação dos números binários (figura 1.5), o primeiro dígito à direita é chamado dígito menos significativo (LSB, least significant bit), e o primeiro dígito à esquerda diferente de zero, dígito mais significativo (MSB, most

signi-ficant bit).

O sistema binário é utilizado principalmente na eletrônica digital, na computa-ção, nas telecomunicações, na robótica, na automação etc., ou seja, nas áreas que usam circuitos digitais, que, por sua vez, têm como entradas e saídas somente valores “0” e “1”.

Exemplos

1. Nos números binários a seguir, qual o valor do peso (em decimal) dos alga-rismos assinalados? a) 0 0 1 1 0 1 1 1 b) 1 1 1 1 1 1 0 1 Solução: a) 0 0 1 1 0 1 1 1 tem peso 2 tem peso (25 = 32) b) 1 1 1 1 1 1 0 1 tem peso (22 = 4) tem peso (26 = 64)

2. Encontre o equivalente decimal dos números binários a seguir usando os pesos de cada algarismo.

a) 1 0 1 1 0 1 1 0 b) 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0      LSB MSB Figura 1.5 Representação do número 0 1 0 1 1 1 0 0 no sistema numérico binário.

(12)

Solução: a) 1 0 1 1 01 1 0 =21+ 22+ 24+ 25+ 27= 2 + 4 + 16 + 32 + 128 = 182                       b) 0 1 0 0 00 1 0 =21+ 26= 2 + 64 = 66   3. Responda.

a) George Boole nasceu no século XIX em uma década cuja dígito LSB é 5. Es-tabeleça, com base nessa informação, qual é o menor intervalo de tempo em que ele nasceu. Observe que foi omitido na informação o MSB da década.

Solução:

Século XIX → 1801 a 1900. Como não podemos estabelecer a década, o menor intervalo de tempo em que com certeza ele nasceu é de 01/01/1801 a 31/12/1900. Portanto, pela informação dada, concluímos que o menor intervalo é de 100 anos.

b) O primeiro computador digital eletrônico de grande escala (ENIAC) foi apresentado no século passado na década de 1940. Estabeleça, com base nessa informação, o menor período de tempo em que com certeza, surgiu o ENIAC. Observe que foi omitido na informação o LSB da década.

Solução:

Pela informação dada, o ENIAC surgiu entre 01/01/1940 e 31/12/1949. Por-tanto, podemos garantir um intervalo mínimo de 10 anos. Como o enunciado da questão forneceu o MSB da década, foi possível estabelecer um intervalo de tempo mais preciso.

1.5 Conversão de sistemas numéricos

(em números inteiros positivos)

1.5.1 Conversão de binário em decimal

Para convertermos número binário em decimal, somamos os pesos somente para os bits de valor “1”, obtendo, assim, o equivalente decimal.

Exemplos 1. Converta (1010)2 em decimal. Solução: 1 0 1 0 23 2 → (8 + 2) = 10, portanto (1010) 2 = 10 2. Converta (10111001)2 em decimal. Solução: 1 0 1 1 1 0 0 1 27 25 24 23 20 (128 + 32 + 16 + 8 + 1) = 185 (10111001)2 = 185

1.5.2 Conversão de decimal em binário

Para convertermos número decimal em binário, agrupamos os restos das divi-sões sucessivas do número por 2, até que a última divisão tenha quociente igual a zero.

Exemplo

Converta o decimal 56 em binário.

Solução:

Observe como foram agrupados os bits da coluna correspondente aos restos das divisões, para formar o binário equivalente. Depois de determinar os restos das divisões, eles são ajustados para representar dois grupos de quatro bits.

56 2 16 28 2 0 08 14 2 LSB 0 0 7 2 1 3 2 1 1 2 1 0 MSB 1 1 1 0 0 0 → 56 = (111000)2

(13)

1.5.3 Conversão de hexadecimal em decimal

Para convertermos número hexadecimal em decimal, somamos os pesos mul-tiplicados pelos números correspondentes em decimal, obtendo, assim, o equi-valente decimal.

Exemplo

Converta (A8E6H) em decimal.

Solução:

A8E6H = 10 · 163 + 8 · 162 + 14 · 16 + 6 · 160 =

= 40 960 + 2 048 + 224 + 6 = 43 238 A8E6H = 43 238

1.5.4 Conversão de decimal em hexadecimal

O processo é semelhante ao da conversão de decimal em binário. Exemplo Converta (2 470) em hexadecimal. Solução: 2470 16 87 154 16 70 10 9 16 6 9 0 LSB MSB 9 A 6 → 2 470 = 9A6H

Observe que 6, 10 e 9 são os restos das divisões; 10 foi substituído por seu equi-valente hexadecimal A.

1.5.5 Conversão de octal em decimal

Exemplo Converta (2075)8 em decimal. Solução: (2075)8 = 2 · 83 + 7 · 81 + 5 · 80 = 1 024 + 56 + 5 = 1 085 (2075)8 = 1 085

1.5.6 Conversão de decimal em octal

O processo é semelhante ao da conversão de decimal em binário. Exemplo Converta (1 085) em octal. Solução: 1 085 8 28 135 8 45 55 16 8 5 7 0 2 8 LSB 2 0 MSB 2 0 7 5 → 1085 = (2075)8

1.5.7 Conversão de octal em binário

Para convertermos número octal em binário, convertemos dígito a dígito de octal em binário, da direita para a esquerda, em grupos de três bits. O último grupo completamos com zero(s) à esquerda, se necessário.

Exemplo Converta (32075)8 em binário. Solução: 3 2 0 7 5 ↓ ↓ ↓ ↓ ↓ 011 010 000 111 101 (32075)8 =(0011 0100 0011 1101)2

Após a conversão, fazemos a representação usual em grupos de quatro bits, completando com zeros à esquerda.

Agora, calcule o equivalente decimal de (32075)8 e o equivalente decimal de (0011 0100 0011 1101)2. Compare esses valores.

(14)

1.5.8 Conversão de binário em octal

Para convertermos número binário em octal, separamos o número binário em grupos de três bits, da direita para a esquerda, completando o último grupo com zero(s), se necessário. Convertemos em octal cada grupo. Lembre-se de que de 0 a 7 os valores octais e decimais são representados pelos mesmos dígitos.

Exemplo Converta (1011 0010)2 em octal. Solução: 010 110 010 ↓ ↓ ↓ 2 6 2 (1011 0010)2 = (262)8

1.5.9 Conversão de hexadecimal em binário

Para convertermos número hexadecimal em binário, fazemos a conversão dí-gito a dídí-gito de hexadecimal em binário, da direita para a esquerda, em gru-pos de quatro bits. O último grupo à esquerda completamos com zero(s), se necessário.

Exemplo

Converta (1ADH) em binário.

Solução:

1 A D

↓ ↓ ↓

0001 1010 1101 1ADH = ( 0001 1010 1101)2

1.5.10 Conversão de binário em hexadecimal

Para convertermos número binário em hexadecimal, separamos o número biná-rio em grupos de quatro bits, da direita para a esquerda, completando o último grupo com zero(s), se necessário. Convertemos em hexadecimal cada grupo. Exemplo Converta (0 0 0 1 1 0 1 0 1 1 0 1)2 em hexadecimal. Solução: 0001 1010 1101 ↓ ↓ ↓ 1 A D (0001 1010 1101)2 = 1ADH

1.5.11 Conversão de octal em hexadecimal

Para convertermos número octal em hexadecimal, realizamos duas etapas: octal → binário → hexadecimal

1.5.12 Conversão de hexadecimal em octal

Para convertermos número hexadecimal em octal, realizamos duas etapas: hexadecimal → binário → octal

1.5.13 Resumo de conversão de sistemas

• Na conversão de qualquer outro sistema em decimal, usamos o peso do dígito.

• Na conversão de decimal em qualquer outro sistema, efetuamos divisões sucessivas.

A figura 1.6 apresenta o resumo de conversão. Não se preocupe em decorá-la pois ela poderá ser consultada sempre que necessário. Entretanto, a associação dos lembretes escritos com o processo de conversão deve estar bem clara.

A tabela 1.1 também não precisa ser memorizada. Sua construção pode ser feita rapidamente observando na coluna dos valores binários o avanço dos números “1” da direita para a esquerda, ao passar de uma linha para a seguinte. Tente reproduzir a tabela sem consultá-la pois isto é importante.

dígito a dígito dígito a dígito agrup. de 3 peso peso peso agrup. de 4 H 16 ..– 2 ..– 8 ..– B D O Figura 1.6 Resumo de conversão de sistemas.

(15)

B D H 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 2 2 0 0 1 1 3 3 0 1 0 0 4 4 0 1 0 1 5 5 0 1 1 0 6 6 0 1 1 1 7 7 1 0 0 0 8 8 1 0 0 1 9 9 1 0 1 0 10 A 1 0 1 1 11 B 1 1 0 0 12 C 1 1 0 1 13 D 1 1 1 0 14 E 1 1 1 1 15 F

Os exercícios a seguir são exemplos de conversão de números positivos não in-teiros, apresentados como complemento, uma vez que estão além dos objetivos deste livro. Exemplos 1. Converta (1 0 1 1,1 0 0 1)2 em decimal. Solução: 1 0 1 1, 1 0 0 1 23 21 20 2–1 2–4 (8 + 2 + 1 + 0,5 + 0,0625) = 11,5625 (1011,1001)2 = 11,5625 Tabela 1.1

Resumo das equivalências entre os números binários, decimais e hexadecimais (de 0 a 15 em decimal).

2. Converta o decimal (0,296875) em binário.

Solução: 0,296875 · 2 = 0 + 0,59375 ┌──────────┘ 0,59375 · 2 = 1 + 0,1875 ┌──────────┘ 0,1875 · 2 = 0 + 0,375 ┌─────────┘ 0,375 · 2 = 0 + 0,75 ┌──────── 2–2 = 0,250000 ┌────────┘ │ ┌────2–5 = 0,031250 + 0,75 · 2 = 1 + 0,5

│ ┌───2–6 = 0,015625 ┌───────┘ │ │ │ = 0,296875 0,5 · 2 = 1 + 0 0,296875 = (0,0 1 0 0 1 100)2

└────────────────┘ pesos dos bits com valor "1"

Observe que o lado direito da igualdade é a decomposição do resultado em parte inteira e parte fracionária. O processo deve cessar quando a parte fracionária da decomposição do número for zero ou quando a aproximação obtida for suficien-te. O agrupamento de quatro bits é ajustado com o acréscimo de zero(s) à direita.

3. Converta (A8E6,39H) em decimal.

Solução:

A8E6,38H = 10 · 163+ 8 · 162 + 14 · 16 + 6 · 160+ 3 · 16-1 + 8 · 16–2

= 40 960 + 2 048 + 224 + 6 + 0,1875 + 0,03125 = 43 238,21875 A8E6,38H = 43238,21875

(16)

Capítulo 2

(17)

G

eorge Boole (1815-1864), matemático e filósofo britânico, criou um sistema matemático de análise lógica chamado álgebra de Boole ou álgebra booleana. Esse sistema permitiu elaborar expressões conhe-cidas como funções lógicas, que possibilitaram o desenvolvimento da eletrônica digital. Para iniciar o estudo, vamos analisar o circuito da figura 2.1.

Sejam as variáveis S1, S2 e L, tais que: S1 = S2 = 0 → chaves abertas S1 = S2 = 1 → chaves fechadas L = 0 → lâmpada apagada L = 1 → lâmpada acesa

Assim, por exemplo:

• Se S1 = 1 (chave S1 fechada) e S2 = 1 (chave S2 fechada) → L = 1 (lâm-pada acesa)

• Se S1 = 1 (chave S1 fechada) e S2 = 0 (chave S2 aberta) → L = 0 (lâm-pada apagada)

A condição da lâmpada (acesa/apagada) é função (depende) da condição de cada uma das chaves (aberta/fechada) do circuito. Nessa função, não são considera-das quantidades (números), e sim os estados de variáveis, em que somente duas condições são possíveis: “0” ou “1”. Essas variáveis, que podem assumir apenas dois estados (0/1, aberto/fechado, sim/não, verdadeiro/falso etc.), são chama-das variáveis booleanas, e os estados, estados lógicos, associados às variáveis. Quando estão atuando nessas condições, as variáveis booleanas são conhecidas como funções booleanas, que podem ser simples ou complexas. As funções booleanas simples são obtidas por meio de um conjunto de circuitos eletrônicos denominados portas lógicas. Associando portas lógicas, é possível implementar circuitos eletrônicos definidos por funções booleanas mais complexas.

ch S1 ch S2

Lamp V

Figura 2.1

Circuito elétrico com duas chaves e uma lâmpada.

As variáveis utilizadas nos circuitos são representadas pelas letras A, B, C, ..., N. Uma barra sobre uma variável booleana significa que seu valor sofrerá inversão. Assim, se A = 0, A = 1, e se A = 1, A = 0, em que A lê-se: não A, A barra, A barrado ou complemento de A.

As funções booleanas apresentam resultados fornecidos pelas combinações pos-síveis devido a suas variáveis. Esses resultados são normalmente representados em forma de tabela.

Chamamos tabela verdade de uma função booleana a tabela que apresenta, geralmente de maneira ordenada, os valores da função y = f(A, B) para todas as combinações possíveis dos valores das variáveis.

Consideremos y uma função booleana das variáveis A e B, cuja tabela verdade é apresentada na tabela 2.1.

A tabela verdade é uma das maneiras de estabelecer a correspondência entre os valores da função e os das variáveis. A penúltima linha da tabela, por exemplo, in-forma que, nas condições A = 1 e B = 0, y = 1. Outra in-forma de estabelecer a cor-respondência é a expressão booleana da função, que será abordada mais adiante.

2.1 Portas lógicas

Portas lógicas são circuitos eletrônicos básicos que possuem uma ou mais entra-das e uma única saída. Nas entraentra-das e na saída, podemos associar estados “0” ou “1”, ou seja, variáveis booleanas. Em eletrônica digital, quando utilizamos portas lógicas, atribuímos às entradas e às saídas valores de tensão. Nos circuitos exem-plos de portas lógicas, associaremos ao 5 V o estado “1” e ao 0 V, o estado “0”. A porta lógica mais simples é denominada inversora. Nela, a saída é igual ao complemento da entrada (figura 2.2).

Tabela 2.1 Tabela verdade de y = f(A, B) A 0 0 1 1 B 0 1 0 1 y 1 0 1 1 A 0 1 y 1 0 tabela verdade

símbolo expressão booleana

PORTA INVERSORA tem somente 1 entrada

y = A

A y

A entrada e y saída

Figura 2.2

Símbolo, tabela verdade e expressão booleana da porta inversora.

(18)

A porta OU (OR, em inglês) possui duas ou mais entradas. A saída sempre será igual a “1” quando uma das entradas for igual a “1” (figura 2.3). A saída será “0” somente se todas as entradas forem “0”.

O símbolo “+” representa OU lógico e não significa uma soma aritmética, pois “0” e “1” não são números, mas estados lógicos das variáveis.

A porta NOU (NOR) corresponde à uma porta OU com a saída invertida (figu-ra 2.4). A saída será “1” somente se todas as ent(figu-radas forem “0”.

Observe que a “bolinha” no símbolo nega (complementa) a saída, equivalente à barra na expressão booleana, indicando que a porta NOU tem uma saída que corresponde ao complemento da saída da porta OU.

A porta E (AND) possui uma ou mais entradas e sua saída será “1” somente quando todas as entradas forem iguais a “1” (figura 2.5).

B 0 1 0 1 A 0 0 1 1 y 0 1 1 1

tabela verdade expressão booleana

A saída é “0” somente se todas as entradas forem zero y = A + B (lê-se A OU B) A e B entradas y saída símbolo y B A Figura 2.3

Símbolo, tabela verdade e expressão booleana da porta OU. B 0 1 0 1 A 0 0 1 1 y 1 0 0 0

tabela verdade expressão booleana

A saída é “1” somente se todas as entradas forem zero

y = A + B símbolo y B A Figura 2.4

Símbolo, tabela verdade e expressão booleana da porta NOU. B 0 1 0 1 A 0 0 1 1 y 0 0 0 1

tabela verdade expressão booleana

A saída é “1” somente se todas as entradas forem “1” y = AB ou y = A • B símbolo y B A Figura 2.5 Símbolo, tabela verdade e expressão booleana da porta E.

A porta NE (NAND) corresponde a uma porta E com a saída invertida (figura 2.6). A saída será “0” somente se todas as entradas forem “1”.

A porta OU EXCLUSIVO (XOR) possui uma ou mais entradas e fornecerá uma saída igual a “1” somente quando as entradas forem diferentes (figura 2.7).

A porta NOU EXCLUSIVO (XNOR), também chamada de COINCIDÊN-CIA, é equivalente a uma porta XOR com a saída invertida (figura 2.8). A saída será “1” se as entradas forem iguais.

2.2 Álgebra booleana

Vimos que na álgebra booleana o estudo de circuitos lógicos é baseado em ape-nas dois valores (0/1, aberto/fechado, sim/não, verdadeiro/falso etc.), que tam-bém podem ser representados por dois níveis distintos de tensão, chamados, por

B 0 1 0 1 A 0 0 1 1 y 1 1 1 0

tabela verdade expressão booleana

A saída é “0” somente se todas as entradas forem “1” símbolo y B A y = AB ou y = A • B Figura 2.6

Símbolo, tabela verdade e expressão booleana da porta NE. B 0 1 0 1 A 0 0 1 1 y 0 1 1 0

tabela verdade expressão booleana

Saída 1 se as entradas forem diferentes símbolo y B A y = A + B Figura 2.7

Símbolo, tabela verdade e expressão booleana da porta OU EXCLUSIVO. B 0 1 0 1 A 0 0 1 1 y 1 0 0 1

tabela verdade expressão booleana

Saída 1 se as entradas forem iguais símbolo y B A y = A • B Figura 2.8

Símbolo, tabela verdade e expressão booleana da porta NOU EXCLUSIVO.

(19)

exemplo, nível alto (H – high) e nível baixo (L – low) ou simplesmente “0” (zero) e “1” (um). A análise das expressões também obedece a esse princípio e, portan-to, é perfeitamente aplicável a nosso estudo.

Os símbolos H/L ou 0/1 podem ser empregados para representar situações do tipo:

• sim/não; • verdadeiro/falso;

• ligado/desligado (on/off ); • aceso/apagado.

Obviamente, essas representações devem estar relacionadas a suas respectivas variáveis. Por exemplo, suponhamos que a uma chave do tipo liga/desliga seja atribuída a variável “K”. Com base nessa atribuição, podemos representar o esta-do da respectiva chave em um circuito como:

• K = 0 (zero) para a condição chave desligada (aberta); • K = 1 (um) para a condição chave ligada (fechada).

Além disso, as funções booleanas são expressões que representam as relações entre as variáveis envolvidas em determinado processo por meio dos operadores lógicos “AND” (·) e “OR” (+).

Exemplo

Um sistema de alarme deverá soar quando os sensores A e C estiverem ativa-dos ao mesmo tempo ou quando a chave B estiver ligada e pelo menos um ativa-dos sensores estiver ativado. Um modo de encontrar a solução para o problema é a tabela verdade. Para isso, constrói-se a tabela verdade com as variáveis de entrada envolvidas no problema proposto (no caso, A, B, C) e verificam-se, de acordo com a expressão, os níveis que a variável de saída (S) deverá possuir (tabela 2.2). Tabela verdade

Toda função booleana de N variáveis pode ser escrita na forma canônica disjun-tiva ou conjundisjun-tiva. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 0 0 1 0 1 1 1

A forma canônica disjuntiva é obtida da tabela verdade de acordo com o seguin-te procedimento:

a) Escreva um termo (operação lógica “E”) para cada linha em que a função é igual a “1”.

b) Junte os termos obtidos no item anterior com a operação “OU” (+).

Obs.: as variáveis serão barradas ou não conforme seu valor seja “0” ou “1” na-quela linha.

Exemplo

Seja a tabela verdade a seguir Tabela verdade

F = A B C + A B C + A B C + A B C

A forma canônica conjuntiva é obtida da tabela verdade de acordo com o seguin-te procedimento:

a) Escreva um termo (operação lógica “OU”) para cada linha em que a função tem valor “0”.

b) Junte os termos obtidos no item anterior com a operação “E” (·).

Obs.: as variáveis serão barradas se naquela linha seu valor for “1” e não barrada se seu valor for “0”.

Exemplo

Na tabela verdade do exemplo anterior, verifica-se que a função é igual a “0” na segunda, terceira, sexta e sétima linhas.

A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 A B C A B C A B C A B C 1ª linha: A B C 4ª linha: A B C 5ª linha: A B C 8ª linha: A B C F 1 0 0 1 1 0 0 1

(20)

Tabela verdade

F = (A + B + C) · (A + B + C) · (A + B + C) + (A + B + C)

2.2.1 Propriedades e teoremas da álgebra booleana

Os teoremas e propriedades da álgebra booleana permitem a simplificação de circuitos lógicos, objetivo final de todo projeto de circuitos digitais. As proprie-dades mais importantes são apresentadas a seguir.

Propriedade da intersecção

Está relacionada com as portas E. Os casos possíveis são: A · 1 = A

A · 0 = 0

Obs.: essa propriedade é aplicável a um maior número de variáveis de entrada. Exemplos

A · B · 1 = A · B A · B · 0 = 0

Propriedade da união

Está relacionada com as portas OU e divide-se em dois casos: B + (1) = 1

B + (0) = B

Essa propriedade também é válida para portas OU com mais de duas entradas. Exemplos A + B + (1) = 1 A + B + (0) = A + B A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 0 1 1 0 0 1 2ª linha: A + B + C 3ª linha: A + B + C 6ª linha: A + B + C 7ª linha: A + B + C

Propriedade da

tautologia

É válida para portas E e portas OU e pode ser verificada nos seguintes casos: A · A = A

A + A = A

Essa propriedade é válida para um maior número de variáveis. Exemplo

A · B + A · B + C = A · B + C

Propriedade dos complementos

Se aplicarmos um sinal lógico e seu complemento a uma porta lógica, simulta-neamente a saída será “0” ou “1”, dependendo do tipo de porta.

Exemplos A · A = 0 A + A = 1

Propriedade da dupla negação

Essa propriedade afirma que o complemento do complemento de uma variá-vel é igual a ela própria. Em forma de expressão matemática, temos, como exemplo:

A = A

Propriedade comutativa

Essa propriedade é semelhante à da álgebra convencional e pode ocorrer nos seguintes casos:

A · B = B · A A + B = B + A

Propriedade associativa

É outra propriedade semelhante à da álgebra convencional. Os casos possíveis são:

(A · B) · C = A · (B · C) = A · B · C

A + (B + C) = (A + B) + C = A + B + C

Palavra de origem grega usada em lógica para descrever uma proposição que é verdadeira quaisquer que sejam os valores de suas variáveis.

(21)

Propriedade distributiva

Também é semelhante à da álgebra convencional. Exemplos

A · (B + C) = A · B + A · C A + B · C = (A + B) · (A + C)

Propriedade da absorção

Os casos mais elementares são: A + A · B = A

A + A · B = A + B (A + B) · B = A · B

Em decorrência dessas identidades, podemos encontrar outras um pouco mais complexas: A · B + A · B = A (A + B) · (A + B) = A A · (A + B) = A A · (A + B) = AB A · B + A · C = (A + C) · (A + B)

Dualidade

Seja F uma função booleana. Define-se a função dual de F como aquela obtida quando mudamos os operadores + por · e · por + e os valores “0” por “1” e “1” por “0”. Postulados da dualidade:

1a) X = 0 se x ≠ 1 1b)

X = 1 se X ≠ 0

2a) X = 1 se x = 0 2b)

X = 0 se X = 1

3a) 0 · 0 = 0 3b)

1 + 1 = 1

4a) 1 · 1 = 1 4b)

0 + 0 = 0

5a) 1 · 0 = 0 · 1 = 0 5b)

0 + 1 = 1 + 0 = 1

1o teorema de De Morgan

“O complemento do produto é igual à soma dos complementos”

A · B = A + B

Podemos comprovar esse teorema pela tabela verdade a seguir:

2o teorema de De Morgan

“O complemento da soma é igual ao produto dos complementos” A + B = A · B

Esse teorema também pode ser comprovado pela tabela verdade.

Como consequência dos teoremas de De Morgan as funções lógicas já conheci-das podem ser reescritas por um bloco equivalente, permitindo, assim, redese-nhar os circuitos lógicos caso seja conveniente.

As equivalências básicas são: a)Portas NAND (figura 2.9).

Ou seja (figura 2.10):

b)Portas NOR (figura 2.11).

A 0 0 1 1 B 0 1 0 1 A 1 1 0 0 B 1 0 1 0 A•B 0 0 0 1 A•B 1 1 1 0 A+B 1 1 1 0

Tabela verdade para uma porta NAND

A B AB é equivalente a AB A B A A + B B AB =A + B Figura 2.9 Equivalência entre as portas NAND. A S S B A B  Figura 2.10Representações simplificadas das portas NAND. A S S B A B  Figura 2.11Representações simplificadas das

(22)

Exemplo

Consideremos a seguinte expressão lógica: (A + (B · C))

O circuito lógico correspondente implementado com portas lógicas E, OU e INVERSORAS terá o aspecto ilustrado na figura 2.12.

Pela aplicação das identidades do circuito da figura 2.12, o circuito lógico reduz--se conforme apresenta a figura 2.13.

Reaplicando os teoremas de De Morgan para substituir os blocos lógicos da fi-gura 2.13 pelos equivalentes, obtemos a fifi-gura 2.14.

BC A + BC B A C A A + BC

↓ Quebrando a barra superior (adição se transforma em multiplicação) A · BC

↓ Aplicando a identidade X = X → A·BC ABC

Figura 2.12

Representação do circuito lógico com portas lógicas E, OU e INVERSORAS. ABC B A C A Figura 2.13 Representação simplificada do circuito lógico com portas lógicas E, OU e INVERSORAS. B • C B • C ABC ABC B A C A Figura 2.14 Representação simplificada do circuito lógico com portas lógicas E, OU e INVERSORAS com substituição dos blocos lógicos da figura 2.13 por seus equivalentes.

2.3 Descrição de funções lógicas

Os circuitos lógicos podem ser representados por funções booleanas, ou seja, admite-se que todos os circuitos lógicos estabelecem as relações entre entradas e saída obedecendo à função booleana que os representa. Quando necessário, é possível obter a função booleana por meio da tabela verdade do circuito. Além disso, o circuito lógico pode ser descrito pela conexão de portas lógicas básicas, independentemente de sua complexidade. A seguir, são descritas as relações en-tre as formas de representação de um circuito lógico.

2.3.1 Circuito lógico

Consideremos o circuito lógico da figura 2.15. Vamos obter a função lógica S = f(A, B, C, D), da saída do circuito.

Analisando esse circuito, podemos notar que colocamos na saída de cada porta lógi-ca a expressão booleana correspondente (*), que será a entrada de outra porta lógilógi-ca, e assim repetimos o procedimento sucessivamente até a expressão booleana da saída. Vamos analisar outra situação, considerando a função booleana y = A · B + C. (B + D). Como se trata de uma expressão algébrica (álgebra booleana), devemos respeitar na implementação do circuito a ordem das operações, associando a multiplicação à operação “E” e a soma à operação “OU”. As operações entre parênteses devem ser feitas agrupadas (figura 2.16).

2.3.2 Tabela verdade 2

Vamos obter a tabela verdade da função booleana y = A · B · C + AC + BC. Para isso, adotamos o seguinte procedimento:

(A • B)* (C + D)* S (A • B) + (C + D)* C B A D função booleana circuito lógico S = (A • B) + (C + D) Figura 2.15 Representação da função y = A, B, C, D. D B C A B

função booleana circuito lógico

y = A • B + C • (B + D) E E OU OU y Figura 2.16 Representação da função y = A · B + C · (B+D).

(23)

1) Montamos a coluna completa de todas as combinações possíveis das variáveis (número de linhas = 2n + 1, n = número de variáveis).

2) Montamos as colunas auxiliares em quantidade igual ao número de “parce-las” da função booleana.

3) Montamos a última coluna para y.

Tabela verdade de y = A · B · C + AC + BC

É possível obter a expressão booleana por meio da tabela verdade. Para isso, va-mos considerar a tabela verdade a seguir:.

Para montarmos a função booleana a partir dos valores da tabela verdade, ado-tamos o seguinte procedimento:

1) Consideramos somente as linhas da tabela em que y = 1.

2) Fazemos “E” das variáveis que têm valor “1” com os complementos das que têm valor “0”, por exemplo:

linha 3 → A=0, B=1 e C=0 → A · B · C linha 5 → A=1, B=0 e C=0 → A · B · C linha 6 → A=1, B=0 e C=1 → A · B · C linha 8 → A=1, B=1 e C=1 → A · B · C Os cálculos referentes às colunas das “parcelas” da função booleana, em geral, são feitos mentalmente ou em rascunho. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 y 0 0 0 1 1 0 1 1 A•B•C 0 0 0 1 0 0 0 0 AC 0 0 0 0 1 0 1 0 BC 0 0 0 1 0 0 0 1 Tabela da verdade de y = A • B • C + AC + BC A 0 0 0 0 1 1 1 1 1 2 3 4 5 6 7 8 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 y 0 0 1 0 1 1 0 1 Tabela verdade

3) Fazemos “OU” dos valores obtidos y = A · B · C + A · B · C + A · B · C + A · B · C

Obs.: a numeração das linhas registradas à esquerda não é necessária; serve so-mente como referência para a explicação.

2.3.3 Simplificação de funções lógicas

O mapa (ou diagrama) de Karnaugh é uma forma ordenada utilizada para minimizar uma expressão lógica, que geralmente produz um circuito com configuração mínima. É construído com base na tabela verdade e pode ser facilmente aplicado em funções envolvendo duas a seis variáveis. No caso de sete ou mais variáveis, o método torna-se complicado e devemos usar técnicas mais elaboradas.

Representa-se o mapa de Karnaugh por uma tabela em forma de linhas e co-lunas. Essa tabela, de acordo com o número de variáveis, é dividida em células obedecendo à proporção 2n, em que n é o número de variáveis de entrada envolvidas.

Mapa para uma variável de entrada (figura 2.17)

Mapa para duas variáveis de entrada (figura 2.18)

Linha no 0 1 A 0 1 f(A) 0 1 (a) A (c) 0 A 1 (b) 0 A 1 0 1 Figura 2.17

Mapa para uma variável de entrada. Linha no 0 1 2 3 A 0 0 1 1 B 0 1 0 1 f(A, B) A 0 0 1 A B 1 B 0 2 1 3 Figura 2.18

Mapa para duas variáveis de entrada.

(24)

A figura 2.19 apresenta a tabela verdade e o mapa de Karnaugh correspondente para duas variáveis.

Mapa para três variáveis de entrada (figura 2.20)

A figura 2.21 apresenta um exemplo de como deve ser representado o mapa para três variáveis, a partir da tabela verdade correspondente.

0 0 1 A B 1 1 0 0 1 0 2 1 3 0 0 1 A B 1 1 1 0 2 1 3 0 0 1 A B 1 0 0 0 2 1 3 (c) (b) (a) (d) Linha no 0 1 2 3 A 0 0 1 1 B 0 1 0 1 f(A, B) 1 0 0 1 Figura 2.19 Representação do mapa para duas variáveis de entrada. 00 0 1 AB C 01 11 10 0 2 1 3 6 7 4 5 A B C Figura 2.20 Mapa para três variáveis de entrada. ABC ABC ABC ABC (b) A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 X 1 1 1 0 0 0 1 0 C C 1 1 1 0 1 0 0 0 AB AB AB AB X = ABC + ABC + ABC + ABC Figura 2.21 Mapa para três variáveis de entrada.

Mapa para quatro variáveis de entrada (figura 2.22)

A figura 2.23 apresenta um exemplo de como deve ser representado o mapa para quatro variáveis, a partir da tabela verdade correspondente.

00 00 01 11 10 AB CD 01 11 10 Figura 2.22

Mapa para quatro variáveis de entrada. ABCD ABCD ABCD ABCD A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 CD CD 0 1 0 1 0 1 0 0 CD 0 0 1 0 CD 0 0 0 0 AB AB AB AB X = ABCD + ABCD + ABCD + ABCD Figura 2.23

Mapa para quatro variáveis de entrada.

(25)

Mapa para cinco variáveis de entrada (figura 2.24)

Na figura 2.25, podemos observar a representação do mapa para seis variáveis de entrada.

A seguir, vamos analisar o processo de minimização utilizando os diagramas de Karnaugh e, depois, ver alguns exemplos.

Minimização de funções utilizando o mapa de Karnaugh

Para realizarmos a minimização de funções lógicas utilizando o método do mapa de Karnaugh, devemos obedecer às seguintes regras:

00 00 01 11 10 BC A = 0 DE 01 11 10 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 00 01 11 10 BC A = 1 DE 01 11 10 16 20 28 24 17 21 29 25 19 23 31 27 18 22 30 26 Figura 2.24

Mapa para cinco variáveis de entrada. 00 00 01 11 10 CD B = 0 A = 0 EF 01 11 10 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 00 01 11 10 CD B = 1 EF 01 11 10 16 20 28 24 17 21 29 25 19 23 31 27 18 22 30 26 00 00 01 11 10 CD A = 1 EF 01 11 10 32 36 44 40 33 37 45 41 35 39 47 43 34 38 46 42 00 00 01 11 10 CD EF 01 11 10 48 52 60 56 49 53 61 57 51 55 63 59 50 54 62 58 Figura 2.25

Mapa para seis variáveis de entrada.

1) Identificar as células nas quais os níveis de saída são iguais a “1”.

2) Formar enlaces ou agrupamentos de células logicamente adjacentes cujos ní-veis de saída são iguais a “1”.

Obs.: duas células são adjacentes se apenas uma das variáveis de entrada corres-pondentes troca de valor; portanto, as células localizadas nos vértices do mapa também são adjacentes entre si.

3) Os agrupamentos formados devem conter o maior número possível de células logicamente adjacentes, mas esse número tem sempre de ser uma potência de 2, ou seja, agrupamentos que tenham 1, 2, 4, 8, 16, 32, ... elementos.

Nota: sempre que um grupo é formado, a variável que muda de estado é a eli-minada. Por exemplo: se o grupo engloba parte da região A e parte da região A, a variável A é eliminada.

4) Cada agrupamento assim formado corresponde a uma função lógica “E” en-volvendo as variáveis de entrada entre uma célula e outra que mantêm o nível lógico.

5) A expressão lógica final corresponde a uma função “OU” envolvendo os agru-pamentos anteriormente mencionados.

Exemplos de minimização

Exemplos para três variáveis de entrada

1. Z = f (A, B, C) = A B C + AB + ABC + AC (figura 2.26)

HEXA OITAVA QUADRA PAR TERMO ISOLADO 16 quadros 8 quadros 4 quadros 2 quadros 1 quadro Agrupamentos possíveis 00 0 1 AB C 01 11 10 1 1 1 1 1 1

A expressão lógica minimizada é B + AC + AC

Figura 2.26

Simplificação das três variáveis de entrada para o exemplo 1.

(26)

2. Z = f(A, B, C) = AB + BC + BC + A B C (figura 2.27) A expressão lógica minimizada é B + AC.

Exemplos para quatro variáveis de entrada

1. Dado o diagrama de Karnaugh da figura 2.28, obtenha a expressão lógica minimizada.

Solução:

Para ilustrar o processo, primeiramente não de forma ideal, suponhamos que tivéssemos selecionado os agrupamentos apresentados na figura 2.29.

00 0 1 AB C 01 11 10 1 1 1 1 1 Figura 2.27 Simplificação das três variáveis de entrada para o exemplo 2. 00 00 01 11 10 AB CD 01 11 10 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura 2.28

Simplificação das quatro variáveis de entrada para o exemplo 1.

Enlace I A

Enlace II BC

Enlace III ACD

Enlace IV A B C D 00 00 01 11 10 AB CD 01 11 10 1 1 1 1 1 1 1 1 1 1 1 1 IV II III I 1 Figura 2.29 Representação dos quatro enlaces.

De acordo com os enlaces anteriores, a expressão obtida seria: f = A B C D + ACD + BC + A

Mas será essa a expressão mínima? Se selecionarmos adequadamente os enlaces de acordo com as regras expostas anteriormente, obteremos a figura 2.30.

Considerando esses novos enlaces, obteremos a seguinte expressão mínima: f = D + B C + A

2. Minimize a expressão lógica dada a seguir (figura 2.31).

f = A B C D + A B C D + A B C D + A B C D + A B C D + A B C D + A B C D + + A B C D + A B C D

Solução:

Expressão lógica minimizada:

F(A,B,C,D) = B C D + A D + A C D + B C D 00 00 01 11 10 AB CD 01 11 10 1 1 1 1 1 1 1 1 1 1 1 1 II III I 1 Figura 2.30 Nova representação com os três enlaces. 00 00 01 11 10 AB CD 01 11 10 1 1 1 1 1 1 1 1 1 Figura 2.31 Representação com os quatro enlaces.

(27)

Exemplo para cinco variáveis de entrada Considere as figuras 2.32 e 2.33.

O resultado obtido é:

f = A C D E + B D E + B C D E + A C D Exemplo para seis variáveis de entrada Considere as figuras 2.34 e 2.35. 00 00 01 11 10 BC DE 01 11 10 1 1 1 1 1 00 00 01 11 10 BC DE 01 11 10 1 1 1 1 1 1 1 A = 0 A = 1 Figura 2.32

Mapa para cinco variáveis de entrada. 00 00 01 11 10 BC DE 01 11 10 1 1 1 1 III I 1 00 00 01 11 10 BC DE 01 11 10 1 1 1 1 1 1 1 1 1 1 1 1 IV II 1 A = 0 A = 1 Figura 2.33 Representação dos quatro enlaces. F = A C E + B C E F + A B C D E + A B D E F + A B D E F 00 00 01 11 10 CD B = 0 A = 0 EF 01 11 10 00 00 01 11 10 CD B = 1 EF 01 11 10 00 00 01 11 10 CD A = 1 EF 01 11 10 00 00 01 11 10 CD EF 01 11 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura 2.34

Mapa para seis variáveis de entrada. IV II III I V 00 00 01 11 10 CD B = 0 A = 0 EF 01 11 10 00 00 01 11 10 CD B = 1 EF 01 11 10 00 00 01 11 10 CD A = 1 EF 01 11 10 00 00 01 11 10 CD EF 01 11 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura 2.35 Representação dos cinco enlaces.

(28)

Capítulo 3

Circuitos

(29)

C

ircuitos combinatórios são aqueles cujas saídas dependem apenas da combinação dos valores das entradas em determinado instante. Neste capítulo serão vistos os principais circuitos combinatórios utilizados em sistemas digitais: codificadores, decodificadores, multiplexadores, demultiplexadores e circuitos aritméticos.

3.1 Codificadores/decodificadores

Os sistemas digitais trabalham com informações representadas por níveis lógicos zeros (0) e uns (1), conhecidos como bits (binary digits, ou dígitos binários). Portan-to, todas as informações correspondentes a sinais de som, vídeo e teclado (números e letras), por exemplo, devem ser convertidas em bits para que sejam processadas por um sistema digital. Devido ao número de códigos diferentes criados para a representação de grandezas digitais, fez-se necessário desenvolver circuitos eletrô-nicos capazes de converter um código em outro, conforme a aplicação.

Um codificador é um circuito lógico que converte um conjunto de sinais de entrada em determinado código, adequado ao processamento digital.

3.1.1 Codificador de M-N (M entradas e N saídas)

3.1.2 Exemplo de codificador decimal-binário

Um codificador decimal para binário possui dez entradas e quatro saídas. A qualquer momento, somente uma linha de entrada tem um valor igual a 1.

CODIFICADOR N Códigos O0 O1 O2 On–1 M Entradas

Codificador de M - N (M - Entradas e N - Saídas)

A0 A1 A2 Am–1

...

...

Figura 3.1 Codificador M entradas e N saídas.

Por exemplo, acionando a tecla 6 (A6 = 1), teremos o binário de saída 0110, ou seja, S3 = 0, S2 = 1, S1 = 1 e S0 = 0 (figura 3.2).

O diagrama em blocos do codificador pode ser representado conforme a figura 3.3.

Para esse codificador, temos a tabela verdade reproduzida a seguir:

CODIFIC ADOR

7 8 9

4 5 6

1 2 3

0

Processament o ar itmético Decimal Binário Figura 3.2 Codificador decimal-binário. CODIFICADOR OU DECODIFICADOR A B C D CH0 CH1 CH2 CH9 Figura 3.3 Diagrama em blocos do codificador. CH1 1 0 1 1 1 1 1 1 1 1 CH2 1 1 0 1 1 1 1 1 1 1 CH3 1 1 1 0 1 1 1 1 1 1 CH4 1 1 1 1 0 1 1 1 1 1 CH5 1 1 1 1 1 0 1 1 1 1 CH6 1 1 1 1 1 1 0 1 1 1 CH9 1 1 1 1 1 1 1 1 1 0 CH7 1 1 1 1 1 1 1 0 1 1 CH8 1 1 1 1 1 1 1 1 0 1 A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 1 1 1 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 C 0 0 1 1 0 0 1 1 0 0 CH0 0 1 1 1 1 1 1 1 1 1

(30)

Codificador com prioridade

Se observarmos com cuidado o circuito do codificador apresentado na figura 3.3, reconheceremos as seguintes limitações: se mais do que duas entradas forem ativadas simultaneamente, a saída será imprevisível ou então não aquela que esperávamos. Essa ambiguidade é resolvida estabelecendo uma prioridade de modo que apenas uma entrada seja codificada, não importando quantas estejam ativas em determinado instante.

Para isso, devemos utilizar um codificador com função de prioridade. A ope-ração desse codificador é tal que, se duas ou mais entradas forem ativadas ao mesmo tempo, a entrada que tem a prioridade mais elevada terá precedência. Exemplo de circuito integrado 74147: codificador com prioridade decimal-BCD A figura 3.4 identifica os pinos do CI 74147 e a tabela verdade correspondente. Tabela verdade

Observando a tabela verdade do circuito integrado da figura 3.4, concluímos que nove linhas de entrada ativas (ativas em nível baixo) representam os nú-meros decimais de 1 a 9. A saída do CI sugerido é o código BCD invertido, correspondente à entrada de maior prioridade. Caso todas as entradas estejam inativas (inativas em nível alto), então as saídas estarão todas em nível alto. As saídas ficam normalmente em nível alto quando nenhuma entrada está ativa (figura 3.5). Entradas Saídas 2 1 X X X X X X X 0 1 3 1 X X X X X X 0 1 1 4 1 X X X X X 0 1 1 1 5 1 X X X X 0 1 1 1 1 6 1 X X X 0 1 1 1 1 1 7 1 X X 0 1 1 1 1 1 1 8 1 1 0 1 1 1 1 1 1 1 9 1 0 1 1 1 1 1 1 1 1 1 1 X X X X X X X X 0 D 1 0 0 1 1 1 1 1 1 1 C 1 1 1 0 0 0 0 1 1 1 A 1 0 1 0 1 0 1 0 1 0 B 1 1 1 0 0 1 1 0 0 1 1 2 3 4 5 6 7 8 9 A B C D 11 U1 74147N 9 7 6 14 12 13 1 2 3 4 5 10 Figura 3.4 Circuito integrado 74147: codificador com prioridade decimal-BCD.

Exemplo de aplicação do CI 74147 em um teclado

Se as chaves estiverem abertas, todas as entradas estarão em nível alto e as saídas em 0000. Se qualquer chave estiver fechada, a entrada correspondente estará em nível baixo e as saídas assumirão o valor do código BCD do número da chave. O CI 74147 é um exemplo de circuito com prioridade. Dessa maneira, a saída ativa será relativa à chave de maior prioridade entre aquelas que estiverem fecha-das em determinado momento (figura 3.6).

9 8 7 6 5 4 3 2 1(11) (12) (13) (1) (2) (3) (4) (5) (10) (14) (6) (7) A CIRCUITO LÓGICO ‘146, ‘LS 147 B C D (9) Figura 3.5 Circuito lógico:

configuração das portas lógicas do circuito integrado da figura 3.4.

(31)

O decodificador também é um circuito combinacional, normalmente usado para habilitar uma, e somente uma, dentre m saídas por vez, quando aplicada uma combinação binária específica em suas n entradas.

Exemplo de decodificador HEX/BCD – sete segmentos

O display de sete segmentos apresenta sete LEDs dispostos de modo que se ob-serve uma estrutura em forma de oito, conforme mostra a figura 3.7.

+5 V 1 kΩ

Codificador 74147

Resistor pull-up em cada chave de saída

Normal BCD Ch0 Ch1 Ch2 Ch3 Ch4 Ch5 Ch6 Ch7 Ch8 Ch9 O3 O2 O1 O0 Figura 3.6 Exemplo de aplicação do CI 74147. a b a comum comum f g pto c d e g f b e c d Figura 3.7

Display de sete segmentos.

Quando queremos, por exemplo, acender o número “0”, polarizamos diretamente os LEDs (segmentos) que formam o dígito “0” no display, ou seja, os segmentos a,

b, c, d, e, f, para ser possível visualizar o dígito, conforme ilustrado na figura 3.8.

Para acionar adequadamente o display de sete segmentos a fim de visualizar-mos o código hexadecimal, é necessário um decodificador com as características apresentadas na figura 3.9 e na tabela verdade correspondente.

Figura 3.8

Representação do LED indicando o número zero.

a a b c d e f g a b c d e f g D C B A D C B A Decodificador BCD para 7 segmentos Display LED de 7 segmentos g f b e c d > CLOCK C Ø Ø Ø Ø 1 1 1 1 Ø Ø B Ø Ø 1 1 Ø Ø 1 1 Ø Ø A Ø 1 Ø 1 Ø 1 Ø 1 Ø 1 a 1 Ø 1 1 Ø 1 1 1 1 1 b 1 1 1 1 1 Ø Ø 1 1 1 c 1 1 Ø 1 1 1 1 1 1 1 d 1 Ø 1 1 Ø 1 1 Ø 1 1 e 1 Ø 1 Ø Ø Ø 1 Ø 1 Ø D Ø Ø Ø Ø Ø Ø Ø Ø 1 1 0 1 2 3 4 5 6 7 8 9 f 1 Ø Ø Ø 1 1 1 Ø 1 1 g Ø Ø 1 1 Ø 1 1 Ø 1 1 Saídas Entradas BCD Segment Display Outputs Decoder Outputs Binary Inputs Figura 3.9 Representação do display e tabela verdade para cada um dos segmentos.

(32)

Resolvendo os diagramas de Karnaugh correspondentes aos sete segmentos, ob-temos o circuito lógico conforme mostra a figura 3.10.

g f e d c b a A DECODIFICADOR BCD - 7 SEGMENTOS A B B C C D Figura 3.10 Representação do circuito lógico do decodificador de sete segmentos.

Exemplo de decodificador BCD – sete segmentos

A maior parte das aplicações com displays requer que trabalhemos com o código decimal (BCD). Uma possibilidade é utilizar o CI 4511, que é um decodificador BCD – 7 segmentos. A figura 3.11 mostra a representação dos pinos desse cir-cuito e a tabela verdade detalhada.

Para os códigos binários correspondentes aos dígitos maiores do que 9 (1010 até 1111), todas as saídas são colocadas em nível “0” e, consequentemente, todos os segmentos do display ficam apagados (função blank).

Saídas Displaytipo

cátodo comum Entradas BCD b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1 a 1 0 1 1 0 1 1 1 1 1 D 0 0 0 0 0 0 0 0 1 1 C 0 0 0 0 1 1 1 1 0 0 A 0 1 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 0 0 1 • 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 B VDO 4511 DISPLAY C LT BI LE D A VSS Entrada D = MSB e entrada A = LSB Tabela verdade d 1 0 1 1 0 1 1 0 1 1 0 1 2 3 4 5 6 7 8 9 f g a a g d f b c e b c d e Figura 3.11 Representação dos pinos do CI 4511 e tabela verdade para cada um dos segmentos.

Referências

Documentos relacionados