Anda di halaman 1dari 236

ELETRNICA II

Prof. Sidney Jos Montebeller

Sumrio

1. Reviso de Circuitos Combinatrios ............................................ 11


1.1. Conceitos Introdutrios....................................................................................11
1.1.1. Grandezas Analgicas e Digitais ............................................................11
1.1.2. Sistemas Analgicos e Digitais ...............................................................11
1.1.3. Sistemas de Numerao Digital..............................................................11
1.2. Representao de Quantidades Binrias ........................................................12
1.3. Circuitos Digitais/Circuitos Lgicos..................................................................13
1.4. Sistemas de Numerao e Cdigos ................................................................14
1.4.1. Relacionando as Representaes ..........................................................16
1.5. Portas Lgicas e lgebra Booleana ................................................................16
1.5.1. Operao Lgica OR (OU)......................................................................16
1.5.2. Operao Lgica AND (E) ......................................................................17
1.5.3. Operao Lgica NOT (INVERSORA)....................................................17
1.5.4. Descrevendo Circuitos Lgicos Algebricamente.....................................17
1.5.5. Implementao de Circuitos Lgicos a partir de Expresses Booleanas 17
1.5.6. Portas NOR e NAND...............................................................................18
1.6. Teoremas da lgebra de Boole .......................................................................18
1.6.1. Teoremas Booleanos ..............................................................................19
1.6.2. Teoremas de DeMorgan .........................................................................19
1.7. Universalidade das Portas NAND e NOR........................................................19
1.8. Simplificao de Circuitos Lgicos ..................................................................20
1.8.1. Simplificao Algbrica ...........................................................................20
1.9. Projetando Circuitos Lgicos ...........................................................................20
1.10. Mtodo do Mapa de Karnaugh para Simplificao Circuitos Lgicos............21
1.11. Outras Portas Lgicas ...................................................................................22
1.11.1. Circuito XOR .........................................................................................22
1.11.2. Circuito XNOR ......................................................................................22
1.12. Circuitos Integrados Lgicos .........................................................................23

2. Famlias Lgicas de Circuitos Integrados .................................... 25


2.1. Introduo .......................................................................................................25
2.2. Terminologia de Circuitos Integrados Digitais .................................................25
2.2.1. Tenso e Corrente ..................................................................................25
2.2.2. Fan-Out...................................................................................................26
2.2.3. Atrasos de Propagao...........................................................................26
2.2.4. Potncia ..................................................................................................26
2.2.5. Velocidade x Potncia ............................................................................26
2.2.6. Imunidade ao Rudo................................................................................27
2.2.7. Nveis de Tenso Invlidos .....................................................................27
2.2.8. Fornecimento de Corrente e de Absoro de Corrente ..........................27
2.2.9. Encapsulamentos de Circuitos Integrados..............................................28
2.3. Famlia Lgica TTL..........................................................................................29
2.3.1. Operao do Circuito Sada em Nvel Baixo........................................29
2.3.2. Operao do Circuito Sada em Nvel Alto...........................................29
2

Sumrio
2.3.3. Absoro de Corrente .............................................................................30
2.3.4. Fornecimento de Corrente ......................................................................30
2.3.5. Outras Portas TTL ..................................................................................30
2.4. Caractersticas da Srie TTL Padro ..............................................................30
2.4.1. Faixas de Tenso de Alimentao e de Temperatura ............................30
2.4.2. Nveis de Tenso ....................................................................................30
2.4.3. Faixas Mximas de Tenso ....................................................................31
2.4.4. Dissipao de Potncia...........................................................................31
2.4.5. Atrasos de Propagao...........................................................................31
2.4.6. Fan-Out...................................................................................................31
2.5. Sries TTL Aperfeioadas ...............................................................................31
2.5.1. Sries 74L e 74H ....................................................................................31
2.5.2. TTL Schottky, Srie 74S .........................................................................32
2.5.3. TTL Schottky de Baixa Potncia, Srie 74LS (LS-TTL) ..........................32
2.5.4. TTL Schottky Avanada, Srie 74AS (AS-TTL) ......................................32
2.5.5. TTL Schottky Avanada de Baixa Potncia, Srie 74ALS ......................32
2.5.6. TTL Fast 74F .......................................................................................32
2.5.7. Comparao das Caractersticas das Sries TTL...................................32
2.6. Fan-Out e Carregamento para TTL .................................................................33
2.6.1. Determinando o Fan-Out ........................................................................34
2.7. Outras Caractersticas TTL .............................................................................35
2.7.1. Entradas Desconectadas (Flutuando).....................................................35
2.7.2. Entradas No-Usadas.............................................................................35
2.7.3. Transientes de Corrente .........................................................................35
2.8. Conectando Sadas TTL Juntas ......................................................................36
2.8.1. Sadas Coletor Aberto.............................................................................36
2.8.2. Conexo Wired-AND ..............................................................................36
2.8.3. Buffers/Drivers de Coletor Aberto ...........................................................37
2.8.4. Simbologia para Sadas em Coletor Aberto ............................................37
2.9. Tristate (Terceiro Estado) para o TTL .............................................................38
2.9.1. Circuitos Integrados Tristate ...................................................................38
2.9.2. Simbologia para as Sadas Tristate ........................................................39
2.10. Circuitos Integrados Digitais MOS.................................................................39
2.11. O MOSFET....................................................................................................39
2.12. Circuitos Digitais com MOSFETs ..................................................................40
2.12.1. Inversor N-MOS ....................................................................................40
2.12.2. NAND N-MOS e NOR N-MOS ..............................................................40
2.13. Caractersticas da Lgica MOS .....................................................................41
2.13.1. Velocidade de Operao.......................................................................41
2.13.2. Margem de Rudo .................................................................................41
2.13.3. Fan-Out.................................................................................................41
2.13.4. Consumo de Potncia...........................................................................42
2.13.5. Complexidade do Processo de Fabricao...........................................42
2.13.6. Sensibilidade Eletricidade Esttica ....................................................42
2.14. Lgica MOS Complementar ..........................................................................42
2.14.1. Inversor CMOS .....................................................................................43
3

Sumrio
2.14.2. NAND CMOS e NOR CMOS ................................................................43
2.15. Caractersticas da Srie CMOS ....................................................................44
2.15.1. Srie 4000/14000..................................................................................44
2.15.2. Srie 74C ..............................................................................................44
2.15.3. 74HC/HCT (High Speed CMOS CMOS de Alta Velocidade) .............44
2.15.4. 74AC/ACT (CMOS Avanado)..............................................................44
2.15.5. 74AHC (Advanced High-Speed CMOS CMOS Avanado de Alta
Velocidade) .......................................................................................................44
2.15.6. Tenso de Alimentao ........................................................................44
2.15.7. Nveis de Tenso Lgicos.....................................................................45
2.15.8. Margens de Rudo ................................................................................45
2.15.9. Dissipao de Potncia.........................................................................45
2.15.10. Dissipao de Potncia Aumenta com a Frequncia..........................45
2.15.11. Fan-Out...............................................................................................46
2.15.12. Velocidade de Comutao ..................................................................46
2.15.13. Entradas No-Utilizadas .....................................................................47
2.15.14. Sensibilidade Eletricidade Esttica ..................................................47
2.15.15. Comparao entre as Sries CMOS e TTL ........................................47
2.16. Tecnologia de Baixa Tenso .........................................................................47
2.17. Sadas CMOS de Dreno Aberto e Tristate ....................................................48
2.17.1. Sadas em Dreno Aberto.......................................................................48
2.17.2. Sadas Tristate......................................................................................49
2.18. Interfaceamento de Circuitos Integrados.......................................................49
2.19. TTL Acionando CMOS ..................................................................................50
2.19.1. TTL Acionando CMOS com Tenso de Alimentao Alta.....................51
2.20. CMOS Acionando TTL ..................................................................................51
2.20.1. CMOS Acionando TTL no Estado ALTO...............................................51
2.20.2. CMOS Acionando TTL no Estado BAIXO .............................................52
2.20.3. CMOS com Tenso de Alimentao Alta Acionando TTL.....................52

3. Dispositivos de Lgica Programvel (PLD).................................. 53


3.1. Introduo .......................................................................................................53
3.2. Conceito Bsico...............................................................................................54
3.3. Simbologia.......................................................................................................55
3.4. Arquitetura de um PLD ....................................................................................55
3.4.1. Fusvel de Polaridade .............................................................................56
3.5. Outros Recursos Disponveis ..........................................................................57
3.6. Outros Tipos de PLDs .....................................................................................57
3.7. Programao ...................................................................................................58
3.8. PLDs Programveis.........................................................................................58

4. Flip-Flops ........................................................................................ 59
4.1. Introduo .......................................................................................................59
4.2. Flip-Flop R-S (Reset Set) .............................................................................59
4

Sumrio
4.3. Flip-Flops com Clock .......................................................................................60
4.3.1. Tempos de Setup e Hold ........................................................................61
4.4. Flip-Flop R-S com Clock..................................................................................61
4.5. Flip-Flop J-K ....................................................................................................63
4.6. Flip-Flop D.......................................................................................................63
4.7. Latch D ............................................................................................................64
4.8. Entradas Assncronas .....................................................................................64
4.9. Caractersticas de Temporizaes dos Flip-Flops...........................................65
4.10. Circuitos Integrados de Flip-Flops .................................................................67
4.11. Problemas de Temporizao em Flip-Flops ..................................................67
4.12. Flip-Flops Mestre/Escravo.............................................................................68
4.13. Dispositivos Schmitt-Trigger ..........................................................................68
4.14. Circuitos Geradores de Clock........................................................................69
4.14.1. Oscilador Schmitt-Trigger .....................................................................70
4.14.2. Temporizador 555 como Oscilador .......................................................70
4.14.3. Osciladores a Cristal de Quartzo ..........................................................71

5. Contadores ..................................................................................... 72
5.1. Introduo .......................................................................................................72
5.2. Contadores Assncronos .................................................................................72
5.3. Contadores de Mdulo < 2N ............................................................................74
5.4. Diagrama de Transio de Estados ................................................................75
5.5. Contadores de Dcada....................................................................................76
5.6. Circuitos Integrados de Contadores Assncronos ...........................................76
5.7. Contador Assncrono Decrescente..................................................................76
5.8. Atrasos de Propagao de Contadores Assncronos ......................................77
5.9. Contadores Sncronos.....................................................................................78
5.10. Circuitos Integrados de Contadores Sncronos .............................................80
5.11. Contadores Sncronos Decrescentes ............................................................80
5.12. Contadores com Carga Paralela ...................................................................80
5.13. Contadores BCD ...........................................................................................81
5.14. Projeto de Contadores Sncronos..................................................................81
5.15. O Flip-Flop J-K ..............................................................................................82
5.16. Procedimento para Construo de Contadores Sncronos ...........................83

6. Registradores ................................................................................. 86
6.1. Introduo .......................................................................................................86
6.2. Registradores de Deslocamento .....................................................................86
5

Sumrio
6.3. Transferncia Paralela de Dados entre Registradores....................................87
6.4. Transferncia Serial de Dados entre Registradores........................................87
6.5. Comparao entre a Transferncia Paralela e a Transferncia Serial ............88
6.6. Contadores com Registradores de Deslocamento ..........................................88
6.7. Circuitos Integrados de Registradores ............................................................90

7. Decodificadores, Codificadores, Multiplexadores e


Demultiplexadores ............................................................................. 92
7.1. Decodificadores...............................................................................................92
7.1.1. Decodificadores BCD para Decimal........................................................93
7.1.2. Decodificadores/Driver BCD para Decimal .............................................93
7.1.3. Decodificadores/Driver BCD para 7 Segmentos .....................................93
7.2. Codificadores ..................................................................................................94
7.3. Multiplexadores ...............................................................................................95
7.3.1. Aplicaes de Multiplexadores................................................................97
7.4. Demultiplexadores...........................................................................................98
7.4.1. Aplicaes de Demultiplexadores .........................................................100

8. Aritmtica Digital ...........................................................................101


8.1. Introduo .....................................................................................................101
8.2. Adio Binria ...............................................................................................101
8.3. Representao de Nmeros com Sinal .........................................................101
8.3.1. Forma do Complemento a 1 .................................................................102
8.3.2. Forma do Complemento a 2 .................................................................102
8.4. Representao de Nmeros com Sinal Usando Complemento a 2...............103
8.4.1. Negao................................................................................................103
8.4.2. Faixa de Representao do Complemento a 2.....................................104
8.4.3. Adio no Sistema de Complemento a 2 ..............................................105
8.4.4. Subtrao no Sistema de Complemento a 2.........................................106
8.4.5. Overflow Aritmtico ...............................................................................106
8.5. Multiplicao de Nmeros Binrios ...............................................................107
8.5.1. Multiplicao no Complemento a Dois ..................................................107
8.6. Diviso de Nmeros Binrios ........................................................................107
8.7. Adio de Nmeros BCD ..............................................................................108
8.8. Aritmtica Hexadecimal.................................................................................109
8.8.1. Adio em Hexadecimal .......................................................................109
8.8.2. Subtrao em Hexadecimal ..................................................................109
8.9. Circuitos Aritmticos......................................................................................110
8.9.1. Unidade Lgica e Aritmtica .................................................................110
8.9.2. Somador Binrio Paralelo .....................................................................111
8.9.3. Projeto de um Somador Completo........................................................112
8.9.4. Somador Paralelo Integrado .................................................................115
8.9.5. Ligao em Cascata de Somadores Paralelos .....................................115
8.9.6. Circuito Integrados de ULAs .................................................................115
6

Sumrio

9. Converso Digital-Analgica ........................................................116


9.1. Interface com o Mundo Analgico .................................................................116
9.2. Sistema Digital Interfaceando com Grandezas Analgicas ...........................116
9.3. Converso Digital Analgica (D/A) ................................................................117
9.3.1. Resoluo (Tamanho do Degrau).........................................................118
9.3.2. Resoluo Percentual ...........................................................................118
9.4. Cdigo de Entrada BCD ................................................................................119
9.5. Conversor D/A com Amplificador Operacional ..............................................119
9.5.1. Somador ...............................................................................................120
9.6. Fatores Importantes na Preciso da Converso ...........................................121
9.7. Conversores D/A com Sada em Corrente ....................................................122
9.8. Rede R/2R.....................................................................................................122
9.9. Especificaes de Conversores D/A .............................................................123
9.10. Circuito Integrado de Converso D/A AD7524 .........................................124
9.11. Aplicaes de Conversores D/A ..................................................................124

10. Converso Analgico-Digital......................................................126


10.1. Introduo ...................................................................................................126
10.2. Conversor A/D de Rampa Digital.................................................................127
10.3. Preciso e Resoluo de Conversores A/D ................................................127
10.3.1. Tempo de Converso tc ......................................................................128
10.4. Aquisio de Dados.....................................................................................128
10.5. Reconstruo de Sinais Digitalizados .........................................................128
10.6. Conversor A/D de Aproximaes Sucessivas .............................................129
10.6.1. Sequncia ...........................................................................................130
10.6.2. Tempo de Converso..........................................................................130
10.7. ADC0804 Conversor A/D de Aproximaes Sucessivas..........................131
10.8. Conversor A/D Flash ...................................................................................132
10.9. Tempo de Converso ..................................................................................133
10.10. Outros Mtodos de Converso A/D...........................................................133
10.10.1. Conversor A/D de rampa digital crescente/decrescente (conversor A/D
rastreador) ......................................................................................................133
10.10.2. Conversor A/D de rampa dupla.........................................................133
10.10.3. Conversor A/D de tenso-frequncia ................................................134
10.10.4. Conversor A/D sigma-delta (-) ......................................................134

11. Memrias......................................................................................136
11.1. Introduo ...................................................................................................136
11.2. Definio de Termos Bsicos ......................................................................136
11.3. Princpios de Operao das Memrias........................................................138
11.3.1. Entradas de Endereos.......................................................................139
7

Sumrio
11.3.2. A Entrada R / W .................................................................................139
11.3.3. Habilitao de Memria (ME)..............................................................139
11.4. Conexes da Memria com a CPU .............................................................140

12. Memria Somente de Leitura (ROM) ..........................................142


12.1. Introduo ...................................................................................................142
12.2. Diagrama em Blocos de uma ROM .............................................................142
12.3. Arquitetura de uma ROM.............................................................................142
12.4. Temporizao de uma ROM .......................................................................144
12.5. Tipos de ROM .............................................................................................144
12.5.1. Aplicaes de ROMs...........................................................................145

13. Memria de Acesso Aleatrio (RAM) .........................................147


13.1. Introduo ...................................................................................................147
13.2. Arquitetura de uma RAM .............................................................................147
13.2.1. Operao de Leitura ...........................................................................148
13.2.2. Operao de Escrita ...........................................................................148
13.3. RAM Esttica (SRAM) .................................................................................149
13.3.1. Temporizao de uma RAM Esttica..................................................149
13.3.2. Ciclo de Leitura ...................................................................................149
13.3.3. Ciclo de Escrita ...................................................................................150
13.3.4. Exemplos de Memrias Estticas .......................................................151
13.4. RAM Dinmica (DRAM)...............................................................................151
13.4.1. Estrutura e Operao da RAM Dinmica ............................................151
13.4.2. Multiplexao de Endereos ...............................................................152
13.4.3. Refrescamento da DRAM ...................................................................153
13.5. Tecnologia de RAM Dinmica Usada em Computadores ...........................153
13.6. Memrias com Funes Especiais ..............................................................154

14. Expanso do Tamanho da Palavra e da Capacidade................155


14.1. Introduo ...................................................................................................155
14.2. Expanso do Tamanho da Palavra .............................................................155
14.3. Expanso da Capacidade ...........................................................................156

15. Microcontrolador AT90S8515 .....................................................159


15.1. Introduo ...................................................................................................159
15.1.1. Computadores, Microprocessadores e Microcontroladores ................159
15.2. Caractersticas do Microcontrolador AT90S8515 ........................................160
15.3. Encapsulamento..........................................................................................161
15.4. Descrio Geral...........................................................................................161
15.5. Diagrama em Blocos ...................................................................................161
15.6. Descrio dos Pinos....................................................................................163
8

Sumrio
15.7. Oscilador .....................................................................................................164
15.8. Arquitetura ...................................................................................................164
15.8.1. Registradores de Uso Geral................................................................166
15.8.2. Os Registradores X, Y e Z ..................................................................166
15.8.3. ULA Unidade Lgica e Aritmtica ....................................................167
15.8.4. Memria de Programa Flash Programvel no Sistema ......................167
15.8.5. Memria de Dados SRAM Interna e Externa ......................................167
15.8.6. Memria de Dados EEPROM .............................................................168
15.8.7. Tempos de Acesso Memria e Execuo de Instrues .................169
15.8.8. Memria de Entrada/Sada (I/O) .........................................................169
15.8.9. Tratamento de Reset e Interrupes ..................................................172
15.8.10. Fontes de Reset................................................................................173
15.8.11. Power-On Reset ...............................................................................173
15.8.12. Reset Externo ...................................................................................174
15.8.13. Reset por Watchdog .........................................................................174
15.8.14. Tratamento de Interrupes..............................................................174
15.8.15. Interrupes Externas .......................................................................178
15.8.16. Modos de Sleep ................................................................................179
15.9. Temporizadores/Contadores .......................................................................180
15.9.1. Prescaler (Divisor) dos Temporizadores/Contadores .........................181
15.9.2. Temporizador/Contador0 de 8 bits......................................................181
15.9.3. Temporizador/Contador0 TCNT0.....................................................182
15.9.4. Temporizador/Contador1 de 16 bits....................................................183
15.9.5. Temporizador/Contador1 TCNT1H e TCNT1L.................................186
15.9.6. Temporizador/Contador1 no modo PWM............................................188
15.10. Watchdog Timer ........................................................................................189
15.11. Acesso para Leitura/Escrita na EEPROM .................................................191
15.11.1. Preveno de Perdas de Dados na EEPROM..................................193
15.12. UART.........................................................................................................194
15.12.1. Transmisso de Dados .....................................................................194
15.12.2. Recepo de Dados..........................................................................195
15.12.3. Controle da UART.............................................................................196
15.12.4. Gerador de BAUD Rate ....................................................................199
15.13. Comparador Analgico..............................................................................199
15.14. Interface com SRAM Externa ....................................................................201
15.15. Portas de Entrada/Sada ...........................................................................202
15.15.1. Port A ................................................................................................202
15.15.2. Port B ................................................................................................204
15.15.3. Port C................................................................................................207
15.15.4. Port D................................................................................................208

16. Guia para Uso do Assembler AVR .............................................211


16.1. Introduo ...................................................................................................211
16.2. Cdigo Fonte do Assembler ........................................................................211
16.3. Registradores da Memria de I/O do AT90S8515.......................................212
16.4. Tabela de Instrues ...................................................................................214
9

Sumrio
16.5. Diretivas no Assembler................................................................................219
16.6. Expresses..................................................................................................229

16. Referncias Bibliogrficas e Internet.........................................235

10

Reviso de Circuitos Combinatrios

1. Reviso de Circuitos Combinatrios

1.1. Conceitos Introdutrios


1.1.1. Grandezas Analgicas e Digitais
Grandezas analgicas so aquelas que podem variar em um intervalo
contnuo de valores. Por exemplo, a velocidade de um veculo pode assumir
qualquer valor de 0 a 200 km/h.
Grandezas digitais so aquelas que variam em passos discretos. Por
exemplo, o tempo varia continuamente, mas a sua medio atravs de um relgio
digital feita a cada minuto.
1.1.2. Sistemas Analgicos e Digitais
Um sistema analgico contm dispositivos que podem manipular quantidades
fsicas analgicas. Por exemplo, a sada de um amplificador pode variar
continuamente dentro de um certo intervalo.
Um sistema digital contm dispositivos capazes de manipular informaes
lgicas (representadas na forma digital). Um exemplo seria um computador.
As vantagens das tcnicas digitais so vrias:
-

Sistemas digitais so mais fceis de projetar;

Fcil armazenamento de informao;

Maior exatido e preciso;

A operao do sistema pode ser programada;

Circuitos digitais so menos afetados pelo rudo;

Um maior nmero de circuitos digitais pode ser colocado em um circuito


integrado.

1.1.3. Sistemas de Numerao Digital


-

Sistema decimal contm 10 algarismos (0 a 9).


Representao:
273,4110 = (2 x 102) + (7 x 101) + (3 x 100) + (4 x 10-1) + (1 x 10-2)

11

Reviso de Circuitos Combinatrios


Pesos

102

101

100

10-1

10-2

Sistema binrio contm 2 algarismos (0 e 1).


Representao:
101,012 = (1 x 22) + (0 x 21) + (1 x 20) + (0 x 2-1) + (1 x 2-2) = 5,2510
Pesos

22

21

20

2-1

2-2

Sistema octal contm 8 algarismos (0 a 7).


Representao:
157,28 = (1 x 82) + (5 x 81) + (7 x 80) + (2 x 8-1) = 111,2510
Pesos

82

81

80

8-1

Sistema hexadecimal contm 16 algarismos (0 a F).


Representao:
15A,216 = (1 x 162) + (5 x 161) + (10 x 160) + (2 x 16-1) = 346,12510
Pesos

162

161

160

16-1

10

1.2. Representao de Quantidades Binrias


Em sistemas digitais, a informao geralmente apresenta a forma binria.
Essas quantidades binrias podem ser representadas por qualquer dispositivo que
apresente dois estados de operao.
Uma chave, por exemplo, pode estar aberta ou fechada. Podemos dizer que a
chave aberta corresponde ao dgito binrio 0 e a chave fechada corresponde ao
dgito binrio 1. Outros exemplos: uma lmpada (acesa ou apagada), um diodo
(conduzindo ou no), um transistor (conduzindo ou no), etc.
Em sistemas digitais eletrnicos, a informao binria representada por
nveis de tenso (ou correntes). Por exemplo, zero volt poderia representar o valor
binrio 0 e 5 volts poderia representar o valor binrio 1. Mas, devido a variaes
nos circuitos, os valores binrios so representados por intervalos de tenses: o 0
12

Reviso de Circuitos Combinatrios


digital corresponde a uma tenso entre 0 e 0,8 volts enquanto o 1 digital
corresponde a uma tenso entre 2 e 5 volts.
Com isso percebemos uma diferena significativa entre um sistema analgico
e um sistema digital. Nos sistemas digitais, o valor exato da tenso no importante.

Figura 1.1: Intervalos tpicos de tenso para os binrios 0 e 1.


1.3. Circuitos Digitais/Circuitos Lgicos
Circuitos digitais so projetados para produzir tenses de sada e responder a
tenses de entrada que estejam dentro do intervalo determinado para os binrios 0 e
1. A Figura 1.2 mostra isso:

Figura 1.2: Resposta de um circuito digital.


Praticamente todos os circuitos digitais existentes so circuitos integrados
(CIs), o que tornou possvel a construo de sistemas digitais complexos menores e
mais confiveis do que aqueles construdos com circuitos lgicos discretos.

13

Reviso de Circuitos Combinatrios


1.4. Sistemas de Numerao e Cdigos
O sistema binrio de numerao o mais importante em sistemas digitais. O
sistema decimal tambm importante porque usado por todos ns para
representar quantidades. J os sistemas octal e hexadecimal so usados para
representar nmeros binrios grandes de maneira eficiente.
-

Converses Binrio-Decimal Cada dgito tem um peso correspondente sua


posio.
110112 = (1 x 24) + (1 x 23) + (0 x 22) + (1 x 21) + (1 x 20) = 2710

Converses Decimal-Binrio O mtodo usado o das divises sucessivas:

Converso Octal-Decimal Cada dgito tem um peso correspondente sua


posio.
3728 = (3 x 82) + (7 x 81) + (2 x 80) = 25010

Converso Decimal-Octal O mtodo usado o das divises sucessivas:

Converso Octal-Binrio Cada dgito octal convertido para o seu


correspondente em binrio.
Dgito Octal

Equivalente Binrio

000

001

010

011

100

101

110

111

4728 = (100) (111) (010) = 1001110102


14

Reviso de Circuitos Combinatrios


-

Converso Binrio-Octal O nmero binrio dividido em grupos de 3 dgitos


iniciando-se a partir do dgito de menor peso. Cada grupo convertido no seu
correspondente octal.
1001110102 = (100) (111) (010) = 4728

Converso Hexadecimal-Decimal Cada dgito tem um peso correspondente


sua posio.
2AF16 = (2 x 162) + (10 x 161) + (15 x 160) = 68710

Converso Decimal-Hexadecimal O mtodo usado o das divises


sucessivas:

Converso Hexadecimal-Binrio Cada dgito hexadecimal convertido para o


seu correspondente em binrio.
9F216 = (1001) (1111) (0010) = 1001111100102

Converso Binrio-Hexadecimal O nmero binrio dividido em grupos de 4


dgitos iniciando-se a partir do dgito de menor peso. Cada grupo convertido no
seu correspondente hexadecimal.
11101001102 = (0011) (1010) (0110) = 3A616

Cdigo BCD O cdigo BCD no constitui um sistema de numerao. Ele


apenas relaciona cada dgito do sistema decimal com um grupo de 4 dgitos do
sistema binrio.
87410 = (1000) (0111) (0100) = 100001110100 (BCD)

15

Reviso de Circuitos Combinatrios


1.4.1. Relacionando as Representaes
Tabela 1.1: Relao entre as representaes numricas.
Decimal

Binrio

Octal

Hexadecimal

BCD

0000

0001

10

0010

11

0011

100

0100

101

0101

110

0110

111

0111

1000

10

1000

1001

11

1001

10

1010

12

0001 0000

11

1011

13

0001 0001

12

1100

14

0001 0010

13

1101

15

0001 0011

14

1110

16

0001 0100

15

1111

17

0001 0101

1.5. Portas Lgicas e lgebra Booleana


A lgebra booleana a ferramenta fundamental para descrever a relao
entre as sadas de um circuito lgico e suas entradas atravs de uma equao
(expresso booleana). Existem trs operaes bsicas: OR (OU), AND (E) e NOT
(NO).
1.5.1. Operao Lgica OR (OU)

Figura 1.3: Porta OR (OU).


16

Reviso de Circuitos Combinatrios


1.5.2. Operao Lgica AND (E)

Figura 1.4: Porta AND (E).


1.5.3. Operao Lgica NOT (INVERSORA)

Figura 1.5: Porta NOT (INVERSOR).


1.5.4. Descrevendo Circuitos Lgicos Algebricamente
Qualquer circuito lgico pode ser descrito usando as portas AND, OR e NOT.
Essas trs portas so os blocos bsicos na construo de qualquer sistema digital.

Figura 1.6: Circuito Lgico e sua Expresso Lgica.

1.5.5. Implementao de Circuitos Lgicos a partir de Expresses Booleanas


Podemos usar a expresso booleana para gerar o circuito lgico. Por
exemplo:

17

Reviso de Circuitos Combinatrios

Figura 1.7: Expresso Lgica e seu Circuito Lgico.


1.5.6. Portas NOR e NAND
Outros tipos de portas lgicas existentes so as portas NOR e NAND, que na
verdade so combinaes das portas OR, AND e NOT.

Figura 1.8: Portas NOR e NAND.

1.6. Teoremas da lgebra de Boole


Esses teoremas, aplicados na prtica, visam simplificar as expresses
booleanas e consequentemente os circuitos gerados por estas expresses.

18

Reviso de Circuitos Combinatrios


1.6.1. Teoremas Booleanos

1.6.2. Teoremas de DeMorgan

1.7. Universalidade das Portas NAND e NOR


Qualquer expresso lgica pode ser implementada usando apenas portas
NAND ou portas NOR. Isso porque podemos representar portas OR, AND ou NOT
usando apenas portas NAND ou NOR.

Figura 1.9: Uso de PORTAS NAND para implementar outras funes booleanas.
19

Reviso de Circuitos Combinatrios


1.8. Simplificao de Circuitos Lgicos
Depois de encontrada a expresso de um circuito lgico, podemos reduzi-la
para uma forma mais simples. A inteno diminuir o nmero de variveis nessa
expresso, o que significa diminuir o nmero de portas lgicas e conexes em um
circuito lgico.
1.8.1. Simplificao Algbrica
A simplificao algbrica feita com o uso dos teoremas da lgebra booleana
e de DeMorgan. Exemplo:

1.9. Projetando Circuitos Lgicos


Passos para o projeto completo de um circuito lgico:
a) Montar a tabela-verdade:
A

1
20

Reviso de Circuitos Combinatrios


b) Analisar a sada:
Quando qualquer entrada de uma porta OR for 1 ento a sada ser 1.
Ento podemos deduzir que a sada x uma operao OR de todos os casos em
que a sada x 1. Cada caso corresponde a uma operao lgica AND com todas
as variveis de entrada.

c) Simplificar a expresso lgica obtida:


A expresso pode ser reduzida a um nmero menor de termos se aplicarmos
os teoremas booleanos e de DeMorgan.

d) Implementar o circuito atravs da expresso lgico:

Figura 1.10: Circuito lgico final.

1.10. Mtodo do Mapa de Karnaugh para Simplificao Circuitos Lgicos


Vamos usar a tabela anterior como exemplo.

21

Reviso de Circuitos Combinatrios


1.11. Outras Portas Lgicas
1.11.1. Circuito XOR

Figura 1.11: Porta XOR (OU-Exclusivo).


1.11.2. Circuito XNOR

Figura 1.12: Porta XNOR (NOU-Exclusivo).

22

Reviso de Circuitos Combinatrios


1.12. Circuitos Integrados Lgicos
Exemplos de circuitos integrados lgicos:

Figura 1.13: Circuito integrado 74LS08 (4 portas AND de 2 entradas).

Figura 1.14: Circuito integrado 74LS04 (6 portas inversoras).

Figura 1.15: Circuito integrado 74LS32 (4 portas OR de 2 entradas).


23

Reviso de Circuitos Combinatrios


Outros:
-

7400 Quatro portas NAND

7402 Quatro portas NOR

7486 Quatro portas XOR

74266 Quatro portas XNOR

24

Famlias Lgicas de Circuitos Integrados

2. Famlias Lgicas de Circuitos Integrados

2.1. Introduo
Circuitos integrados so amplamente usados na construo de sistemas
digitais. Isso porque eles tm muito mais circuitos em um pequeno encapsulamento
e so mais confiveis.

2.2. Terminologia de Circuitos Integrados Digitais


Os fabricantes de circuitos integrados digitais seguem praticamente o mesmo
padro de nomenclatura e terminologia:
2.2.1. Tenso e Corrente
-

VIH(min) Mnima Tenso de Entrada em Nvel Alto.

VIL(max) Mxima Tenso de Entrada em Nvel Baixo.

VOH(min) Mnima Tenso de Sada em Nvel Alto.

VOL(max) Mxima Tenso de Sada em Nvel Baixo.

IIH Corrente de Entrada em Nvel Alto.

IIL Corrente de Entrada em Nvel Baixo.

IOH Corrente de Sada em Nvel Alto.

IOL Corrente de Sada em Nvel Baixo.

Figura 2.1: Tenses e correntes em nvel lgico 1 e 0.

25

Famlias Lgicas de Circuitos Integrados


2.2.2. Fan-Out
O Fan-Out corresponde ao nmero mximo de entradas lgicas que uma
sada de um circuito lgico pode acionar. Se esse nmero for excedido, os nveis de
tenso e corrente no sero garantidos.
2.2.3. Atrasos de Propagao
Um sinal lgico, ao atravessar um circuito, sofre um atraso. Existem dois tipos
de atraso:
-

tPLH Tempo de atraso do estado lgico 0 para o 1.

tPHL Tempo de atraso do estado lgico 1 para o 0.

Figura 2.2: Atrasos de propagao.


Os valores dos tempos de atrasos de propagao so usados para medio
de velocidade em circuitos lgicos.
2.2.4. Potncia
Como todo circuito eltrico, um circuito lgico consome uma certa
quantidade de potncia. Essa potncia fornecida por fontes de alimentao e esse
consumo deve ser levado em considerao em um sistema digital.
Se um circuito integrado consome menos potncia poderemos ter uma fonte
de menor capacidade e com isso reduziremos os custos do projeto.
2.2.5. Velocidade x Potncia
Um circuito digital ideal aquele que possui o menor consumo de potncia e
o menor atraso de propagao. Em outras palavras, o produto de velocidade (atraso)
e potncia deve ser o menor possvel.
26

Famlias Lgicas de Circuitos Integrados


2.2.6. Imunidade ao Rudo
Rudos so sinais indesejveis gerados por campos eletromagnticos podem
afetar o funcionamento de um circuito lgico. Esses sinais podem fazer com que a
tenso de entrada de um circuito lgico caia abaixo de VIH(min) ou aumente alm de
VIL(max), gerando falsos sinais.
A imunidade ao rudo se refere capacidade de um circuito lgico de rejeitar
esse rudo.

Figura 2.3: Margens de rudo.


2.2.7. Nveis de Tenso Invlidos
Circuitos lgicos s trabalharo confiavelmente com nveis de tenso
especificados pelos fabricantes, ou seja, as tenses devem ser menores que
VIL(max) e maiores que VIH(min) fora da faixa de indeterminao e com
alimentao adequada.
2.2.8. Fornecimento de Corrente e de Absoro de Corrente
O fornecimento de corrente mostrado na fig. 2-4. Quando a sada da porta
lgica 1 est em ALTO, ela fornece uma corrente IIH para a entrada da porta lgica 2.

27

Famlias Lgicas de Circuitos Integrados

Figura 2.4: Porta de acionamento fornecendo corrente para a porta de carga.


A absoro de corrente mostrada na Figura 2.5. Quando a sada da porta
lgica 1 est em BAIXO, ela absorve uma corrente IIL para a entrada da porta lgica
2.

Figura 2.5: Porta de acionamento absorvendo corrente da porta de carga.


2.2.9. Encapsulamentos de Circuitos Integrados
Alguns tipos de encapsulamentos de circuitos integrados so mostrados na
Figura 2.6.

Figura 2.6: Encapsulamentos mais comuns de circuitos integrados.

28

Famlias Lgicas de Circuitos Integrados


2.3. Famlia Lgica TTL
Um circuito bsico utilizado na lgica transistor-transistor mostrado na
Figura 2.7.

Figura 2.7: Porta NAND bsica TTL e equivalente a diodo para Q1.
Esse circuito representa uma porta NAND TTL. As principais caractersticas
desse circuito so os dois emissores do transistor Q1. Na mesma Figura 2.7 est o
circuito equivalente a diodo de Q1.
Outra caracterstica construtiva importante desse circuito sua sada totempole, que impede que os dois transistores (Q3 e Q4) conduzam ao mesmo tempo.
2.3.1. Operao do Circuito Sada em Nvel Baixo
A sada em nvel baixo consequncia de entradas A e B em nvel alto (5 V).
Nesse caso, Q1 ficar cortado e Q2 conduzir (ver circuito equivalente). A corrente
fluir do emissor de Q2 para a base de Q4 e o faz conduzir.
A tenso no coletor de Q2 insuficiente para Q3 conduzir. Essa tenso est
em torno de 0,8 V (0,7 V da juno B-E de Q4 + 0,1 V de Vce (sat) de Q2). Para o
transistor Q3 conduzir necessrio que sua juno B-E e o diodo D1 esteja
diretamente polarizado.
(0).

Com Q4 conduzindo, a tenso de sada muito baixa (< 0,4 V), ou nvel baixo

2.3.2. Operao do Circuito Sada em Nvel Alto


Para que a sada de uma porta NAND fique em alto, pelo menos uma das
entradas A ou B dever ser zero. Nessa condio haver conduo de Q1 por um
29

Famlias Lgicas de Circuitos Integrados


de seus emissores, ou pelos dois (ver circuito equivalente ), fazendo com que Q2
fique cortado.
Com Q2 cortado no haver corrente na base de Q4 e ele ficar cortado
tambm. Sem corrente no coletor de Q2, a tenso na base de Q3 suficiente para
que ele entre em conduo.
Com Q3 conduzindo, a tenso na sada ficar em torno de 3,4 V a 3,8 V (sem
carga), devido s quedas na juno B-E de Q3 e ao diodo D1. Com carga essa
tenso dever diminuir.
2.3.3. Absoro de Corrente
Uma sada TTL em nvel baixo age como um absorvedor de corrente, pois ela
recebe a corrente da entrada da porta que est acionando.
2.3.4. Fornecimento de Corrente
Uma sada TTL em nvel alto age como fornecedora de corrente. Na verdade
essa corrente tem um valor muito baixo, causada pela fuga de polarizao reversa
do diodo (juno B-E) de Q1.
2.3.5. Outras Portas TTL
Praticamente todas as outras portas lgicas possuem o mesmo circuito bsico
da porta NAND TTL. Outros circuitos internos so colocados apenas para
implementar a lgica desejada.

2.4. Caractersticas da Srie TTL Padro


2.4.1. Faixas de Tenso de Alimentao e de Temperatura
Existem duas sries de TTL padro diferenciadas pela faixa de tenso de
alimentao e temperatura: a srie 74 e a srie 54.
A srie 74 utiliza alimentao entre 4,75 V e 5,25 V e opera entre 0 a 70 C.
A srie 54 utiliza alimentao entre 4,5 V e 5,5 V e opera entre -55 a 125 C.
2.4.2. Nveis de Tenso
VIL(max) 0,8 V
VOL(max) 0,4 V
30

Famlias Lgicas de Circuitos Integrados


Existe uma margem de segurana de uma sada para a entrada, chamada de
margem de rudo, de 0,4 V (0,8 V 0,4 V).
VIH(min) 2,0 V
VOH(min) 2,4 V
A margem de rudo tambm de 0,4 V (2,4 V 2,0 V).
2.4.3. Faixas Mximas de Tenso
As tenses mximas de trabalho de um TTL padro no devem ultrapassar
5,5 V. Uma tenso maior de 5,5 V aplicada a um emissor de entrada pode causar
dano na juno B-E de Q1. Tenses menores que 0,5 V tambm podem danificar o
componente.
2.4.4. Dissipao de Potncia
Uma porta NAND TTL padro consome, em mdia, 10 mW.
2.4.5. Atrasos de Propagao
A porta AND TTL padro tem atrasos de propagao tpicos de
tPLH = 11 ns e tPHL = 7 ns, resultando num atraso de propagao mdio tPD(med) de 9
ns.
2.4.6. Fan-Out
Uma sada TTL padro pode acionar 10 entradas TTL padro.

2.5. Sries TTL Aperfeioadas


2.5.1. Sries 74L e 74H
Estas sries so verses TTL para baixa potncia (74L) e alta velocidade
(74H). A primeira consumia 1 mW e tinha um tempo de atraso de propagao de 33
ns e a segunda consumia 23 mW, com um tempo de atraso de propagao de 6 ns.
No so mais fabricadas atualmente.
31

Famlias Lgicas de Circuitos Integrados


2.5.2. TTL Schottky, Srie 74S
Esta srie utiliza diodos Schottky entre a base e o coletor dos seus
transistores, evitando que eles trabalhem saturados. Com isso o tempo de resposta
do circuito mais rpido. Por exemplo, a porta NAND 74S00 tem um atraso mdio
de 3 ns, mas um consumo de potncia de 20 mW.
2.5.3. TTL Schottky de Baixa Potncia, Srie 74LS (LS-TTL)
A srie 74LS uma verso de menor potncia e menor velocidade da srie
74S. Ela utiliza a combinao transistor/diodo Schottky, mas com valores maiores de
resistores de polarizao, o que diminui o consumo.
Uma porta NAND 74LS tem um atraso tpico de propagao de 9,5 ns e
dissipao mdia de potncia de 2 mW.
2.5.4. TTL Schottky Avanada, Srie 74AS (AS-TTL)
A srie 74AS surgiu como uma melhoria da srie 74S. Possui velocidade e
fan-out maiores e um menor consumo se comparado com a srie 74S.
2.5.5. TTL Schottky Avanada de Baixa Potncia, Srie 74ALS
Esta srie surgiu como uma melhoria da srie 74SL.
2.5.6. TTL Fast 74F
Esta a srie TTL mais nova. Ela utiliza uma tcnica de fabricao de
circuitos integrados que reduz as capacitncias entre os dispositivos internos
visando reduzir os atrasos de propagao.
2.5.7. Comparao das Caractersticas das Sries TTL

32

Famlias Lgicas de Circuitos Integrados


Tabela 2.1: Comparao de performance entre sries TTL.
ndices de performance

74

74S

74LS

74AS

74ALS

74F

Atraso de propagao (ns)

9,5

1,7

Dissipao de potncia (mW)

10

20

1,2

Produto velocidade-potncia (pJ)

90

60

19

13,6

4,8

18

Taxa mxima de clock (MHz)

35

125

45

200

70

100

Fan-out (mesma srie)

10

20

20

40

20

33

Tabela 2.2: Comparao dos parmetros de tenso entre portas TTL.


Parmetros de tenso

74

74S

74LS

74AS

74ALS

74F

VOH (min)

2,4

2,7

2,7

2,5

2,5

2,5

VOL (max)

0,4

0,5

0,5

0,5

0,4

0,5

VIH (min)

2,0

2,0

2,0

2,0

2,0

2,0

VIL (max)

0,8

0,8

0,8

0,8

0,8

0,8

2.6. Fan-Out e Carregamento para TTL


O fan-out corresponde ao nmero mximo de entradas lgicas que uma sada
de um circuito lgico pode acionar. Esse nmero mximo est diretamente ligado
capacidade do circuito integrado de absorver ou fornecer corrente.

Figura 2.8: Sada TTL padro no estado BAIXO acionando vrias entradas.
Do circuito vemos que IOL a soma das correntes IIL de cada entrada. Essa
corrente causa uma queda de tenso VOL, que no deve ser maior que VOL(max).
Isso limita a corrente IOL e o nmero de cargas que podem ser acionadas.
33

Famlias Lgicas de Circuitos Integrados

Figura 2.9: Sada TTL padro no estado ALTO acionando vrias entradas.
Na Figura 2.8 e na Figura 2.9 vemos que IOH a soma das correntes IIH de
cada entrada. Se cargas em excesso estiverem sendo acionadas, a corrente IOL
aumentar de tal forma que o nvel VOH caia para valores menores que VOH(min).
Esse fato tambm limita o nmero de cargas acionadas e a corrente IOH.
2.6.1. Determinando o Fan-Out
Por exemplo, a srie 74 possui:
IIL (max) = 1,6 mA
IOL (max) = 16 mA

IOL 16 mA
=
= 10
IIL 1,6 mA

Fan-out (BAIXO) =

IIH (max) = 40 A
IOH (max) = 400 A

Fan-out (ALTO) =

IOH 400 A
=
= 10
IIH
40 A

O fan-out 10 para ambos os casos. Se os valores de fan-out forem


diferentes, o fan-out ser o menor deles.

34

Famlias Lgicas de Circuitos Integrados

Importante:
-

A soma das correntes IIH de todas as entradas conectadas em uma sada deve
ser menor do que a especificao do IOH da sada;

A soma das correntes IIL de todas as entradas conectadas em uma sada deve
ser menor do que a especificao do IOL da sada.

2.7. Outras Caractersticas TTL


2.7.1. Entradas Desconectadas (Flutuando)

Entradas desconectadas (abertas) em circuitos TTL se comportam como se o


nvel lgico 1 fosse aplicado essa entrada. Embora a lgica esteja correta,
entradas desconectadas se comportam como captadoras de rudos, fazendo com
que o circuito lgico no trabalhe corretamente.
2.7.2. Entradas No-Usadas

Figura 2.10: Trs maneiras de tratar entradas lgicas no usadas.


2.7.3. Transientes de Corrente

A configurao totem-pole usada nas sadas dos circuitos TTL tem um


inconveniente: durante a transio da sada de BAIXO para ALTO ocorre um pico de
corrente porque ambos os transistores de sada esto conduzindo. Esse pico pode
chegar a 50 mA, corrente que drenada da fonte que alimenta o circuito.
Em um sistema digital existem vrias sadas TTL trocando de estado ao
mesmo tempo e drenando da fonte picos de corrente. Esse efeito causa uma
variao na tenso da fonte e se no for devidamente filtrado pode causar srios
problemas ao sistema.
usual a colocao de capacitores cermicos de 10 nF a 100 nF entre os
terminais Vcc e GND alimentao e terra dos circuitos integrados.
35

Famlias Lgicas de Circuitos Integrados


2.8. Conectando Sadas TTL Juntas

Existem situaes nas quais vantajoso conectar as sadas de dois ou mais


portas lgicas ou circuitos. Entretanto, configurao totem-pole no nos permite
conectar sadas TTL juntas. Para fazermos isso existem outros tipos de estrutura de
sada.
2.8.1. Sadas Coletor Aberto

Os circuitos TTL com sadas em coletor aberto s possuem um transistor de


sada. Quando esse transistor estiver acionado, a sada ter nvel BAIXO. Caso
contrrio, a sada estar flutuando. Para se obter o nvel ALTO na sada um resistor
externo de pull-up conectado.

Figura 2.11: Circuito TTL coletor aberto com resistor de pull-up externo.
2.8.2. Conexo Wired-AND

Dispositivos com sadas em coletor aberto podem ter suas sadas conectadas
juntas de maneira segura. Uma situao onde esse tipo de conexo usado
mostrada na Figura 2.12.

36

Famlias Lgicas de Circuitos Integrados

Figura 2.12: Conexo wired-AND utilizando portas com coletor aberto.

Esse tipo de conexo chamado de conexo wired-AND porque


equivalente operao lgica AND. Esta configurao elimina a necessidade de
uma porta AND real.
2.8.3. Buffers/Drivers de Coletor Aberto

Todo circuito lgico que chamado buffer, driver ou buffer/driver projetado


para suportar uma corrente e/ou uma capacidade de tenso maior do que um
circuito lgico comum.
Por exemplo, o 7406 com sada em coletor aberto pode acionar cargas de 24
V a 25 mA.
2.8.4. Simbologia para Sadas em Coletor Aberto

Figura 2.13: Simbologia de portas lgicas com coletor aberto.

37

Famlias Lgicas de Circuitos Integrados


2.9. Tristate (Terceiro Estado) para o TTL

O terceiro estado, ou tristate, ocorre quando a sada de um dispositivo TTL


apresenta alta impedncia. Nessa condio, os dois transistores de sada do
dispositivo estaro cortados e o terminal de sada no ter nvel alto nem baixo
(sada fica praticamente aberta). Para que o dispositivo lgico entre nesta condio,
uma entrada chamada Habilitao (Enable) acionada.

Figura 2.14: Simbologia de um inversor TTL tristate.


2.9.1. Circuitos Integrados Tristate

Existem vrios circuitos integrados lgicos tristate. Por exemplo, o 74LS125 e


o 74LS126, que so buffers tristate. Os circuitos lgicos tristate so bastante usados
em sistemas que utilizam barramento de dados.

Figura 2.15: Buffers tristate usados para conectar diversos sinais em um barramento
comum.

38

Famlias Lgicas de Circuitos Integrados


2.9.2. Simbologia para as Sadas Tristate

Figura 2.16: Simbologia de um buffer com sada tristate.

2.10. Circuitos Integrados Digitais MOS

A maioria dos circuitos digitais MOS (metal oxide semiconductor


semicondutor com xido metlico) constituda de transistores de efeito de campo
(MOSFET). Eles so menores, consomem pouco e so mais fceis de fabricar.
Dispositivos MOS podem conter um nmero maior de elementos de circuitos
em um nico encapsulamento do que os circuitos integrados bipolares. A grande
desvantagem dessa tecnologia sua susceptibilidade a danos provocados por
eletricidade esttica.

2.11. O MOSFET

Figura 2.17: Estados de comutao do MOSFET canal-N.

39

Famlias Lgicas de Circuitos Integrados


2.12. Circuitos Digitais com MOSFETs

Os circuitos digitais que utilizam MOSFETs podem ser divididos em trs


categorias: P-MOS, que utiliza MOSFETs com canal-P; N-MOS, que utiliza
MOSFETs com canal-N; e CMOS (MOS Complementar) que utiliza ambos. Os
circuitos P-MOS no so mais encontrados.
2.12.1. Inversor N-MOS

A Figura 2.18 mostra um circuito bsico de um INVERSOR N-MOS.

Figura 2.18: Inversor N-MOS.

O circuito acima mostra dois MOSFETs canal-N. O transistor Q1 chamado


MOSFET de carga e Q2 chamado de MOSFET de comutao. O transistor Q1
est sempre conduzindo e funciona como se fosse um resistor de carga.
2.12.2. NAND N-MOS e NOR N-MOS

MOS.

A Figura 2.19 mostra os circuitos bsicos das portas NAND N-MOS e NOR N-

40

Famlias Lgicas de Circuitos Integrados

Figura 2.19: Portas NAND N-MOS e NOR N-MOS.

2.13. Caractersticas da Lgica MOS

Se comparadas com famlias lgicas bipolares, as famlias lgicas N-MOS e


P-MOS tm velocidade de operao menor, necessitam de menor potncia, tm
uma margem de rudo melhor, possuem uma faixa maior para a tenso de
alimentao, um fan-out maior e menos espao de rea no chip.
2.13.1. Velocidade de Operao

O atraso de propagao tpico de uma porta NAND N-MOS de 50 ns. A


resistncia de sada alta no estado ALTO e capacitncias parasitas de entrada
contribuem para aumentar esse atraso.
2.13.2. Margem de Rudo

Para VDD = 5 V, as margens de rudo para a famlia N-MOS de


aproximadamente 1,5 V. A margem de rudo aumenta proporcionalmente para
valores maiores de VDD.
2.13.3. Fan-Out

Devido alta resistncia de entrada do MOSFET, o fan-out da famlia MOS


muito alto. O fan-out limitado apenas pelas capacitncias de entrada da porta que,
41

Famlias Lgicas de Circuitos Integrados

em altas frequncias, pode deteriorar o sinal digital. Mesmo assim, o fan-out chega a
50 para a famlia MOS.
2.13.4. Consumo de Potncia

Por usar altas resistncias, os circuitos lgicos MOS consomem pequenas


quantidades de potncia.
2.13.5. Complexidade do Processo de Fabricao

A famlia lgica MOS possui um processo de fabricao bem mais simples do


que a famlia TTL porque utiliza apenas MOSFETs.
2.13.6. Sensibilidade Eletricidade Esttica

A famlia lgica MOS bastante susceptveis a danos causados por


eletricidade esttica. Uma descarga eletrosttica supera a capacidade de isolamento
eltrico da camada de xido danificando permanentemente o dispositivo.
Recomendaes:
-

Conecte todos os equipamentos que for manusear no terra da rede;

Conecte-se ao terra com o uso de uma pulseira especial;

Evite tocar os pinos dos circuitos integrados. Coloque-os imediatamente no


circuito;

Mantenha os circuitos integrados em suas embalagens protetoras (espumas


condutoras). No os deixe fora de suas embalagens.

Todas essas recomendaes tambm valem para placas de circuito impresso


(computadores, equipamentos, etc.).

2.14. Lgica MOS Complementar

A famlia lgica MOS Complementar (CMOS) utiliza MOSFETs tanto de canalP quanto de canal-N. Isso torna o CMOS mais rpido e com menor consumo de
potncia em comparao com as outras famlias MOS. Em contrapartida, os circuitos
integrados CMOS tm maior grau de complexidade para a fabricao e menor
densidade de integrao (ocupam maior rea de chip).

42

Famlias Lgicas de Circuitos Integrados


2.14.1. Inversor CMOS

O circuito bsico do INVERSOR CMOS mostrado na Figura 2.20.

Figura 2.20: Inversor CMOS.


2.14.2. NAND CMOS e NOR CMOS

A
Figura 2.21 mostra o circuito bsico das portas NAND CMOS e NOR CMOS.

Figura 2.21: Portas NAND CMOS e NOR CMOS.

43

Famlias Lgicas de Circuitos Integrados

2.15. Caractersticas da Srie CMOS


2.15.1. Srie 4000/14000

A srie 4000 e a srie 14000 so equivalentes. Os circuitos integrados dessas


duas sries tm um consumo muito baixo e podem operar de 3 a 15 V. So muito
lentos quando comparados com TTL e possuem corrente de sada muito baixa.
2.15.2. Srie 74C

Srie CMOS compatvel pino a pino e funcionalmente equivalente a


componentes TTL. Quanto performance, a srie 74C possui quase todas as
caractersticas da srie 4000.
2.15.3. 74HC/HCT (High Speed CMOS CMOS de Alta Velocidade)

Verso aperfeioada da srie 74C. Possui maior velocidade e maior


capacidade de corrente. Componentes das sries 74HC e 74HCT so compatveis
pino a pino com componentes da srie TTL. A srie 74HC no eletricamente
compatvel com TTL.
2.15.4. 74AC/ACT (CMOS Avanado)

Esta srie apresenta uma melhoria no que se refere a imunidade a rudo,


atraso de propagao e mxima frequncia de clock. No so compatveis pino a
pino com TTL. A srie 74AC no compatvel eletricamente com TTL.
2.15.5. 74AHC (Advanced High-Speed CMOS CMOS Avanado de Alta
Velocidade)

Esta a mais recente srie utilizada em aplicaes de alta velocidade, baixo


consumo e baixa capacidade de acionamento.
2.15.6. Tenso de Alimentao

As sries 4000/14000 e 74C podem operar com VDD de 3 a 15 V. As sries


74HC/HCT e 74AC/ACT podem operar com VDD de 2 a 6 V.

44

Famlias Lgicas de Circuitos Integrados


2.15.7. Nveis de Tenso Lgicos
Tabela 2.3: Comparao entre os nveis de tenso TTL e CMOS.
Parmetro

VIH(min)

CMOS

TTL

VIL(max) VOH(min) VOL(max)

VNH

VNL

4000B

3,5

1,5

4,95

0,05

1,45

1,45

74HC

3,5

1,0

4,9

0,1

1,4

0,9

74HCT

2,0

0,8

4,9

0,1

2,9

0,7

74AC

3,5

1,5

4,9

0,1

1,4

1,4

74ACT

2,0

0,8

4,9

0,1

2,9

0,7

74AHC

3,85

1,65

4,4

0,44

0,55

1,21

74AHCT

2,0

0,8

3,15

0,1

1,15

0,7

74

2,0

0,8

2,4

0,4

0,4

0,4

74LS

2,0

0,8

2,7

0,5

0,7

0,3

74AS

2,0

0,8

2,7

0,5

0,7

0,3

74ALS

2,0

0,8

2,7

0,4

0,7

0,4

Nveis de tenso (em volts) de entrada/sada com VDD = VCC = +5 V.


2.15.8. Margens de Rudo

De um modo geral, os dispositivos CMOS tm margens de rudo maior que os


TTL (tabela anterior). As margens de rudo so calculadas a partir da frmula:
VNH = VOH(min) - VIH(min)
VNL = VOL(max) - VIL(max)
2.15.9. Dissipao de Potncia

Quando o circuito lgico CMOS est esttico (no est comutando), sua
dissipao de potncia muito baixa. Para VDD = +5 V, a dissipao tpica de
potncia DC de 2,5 nW. Para VDD = +10 V, este valor aumenta para apenas 10
nW.
2.15.10. Dissipao de Potncia Aumenta com a Frequncia

A dissipao de potncia em um circuito lgico CMOS aumenta com a


frequncia de comutao de sua sada.
45

Famlias Lgicas de Circuitos Integrados

Quando uma sada CMOS comuta de BAIXO para ALTO, uma corrente
transiente deve ser fornecida para a capacitncia de carga. Essa capacitncia
corresponde a todas as capacitncias parasitas das entradas das portas lgicas que
so acionadas por esta sada.

Figura 2.22: Pulsos de corrente devido capacitncia parasita.

A Figura 2.22 mostra o efeito da capacitncia de carga no momento da


transio da sada de um circuito CMOS.
Outro fator que durante as transies, por um curto perodo de tempo, os
dois transistores de sada estaro conduzindo juntos. Esse efeito tambm contribui
para o aumento da dissipao de potncia.
2.15.11. Fan-Out

O nmero de entradas CMOS que uma sada CMOS pode acionar limitado
pela capacitncia de entrada. Quanto maior for o nmero de entradas CMOS, maior
a capacitncia de carga vista pela sada CMOS e maior ser o seu tempo de
comutao. Para frequncias menores que 1 MHz, o fan-out est limitado a 50.
2.15.12. Velocidade de Comutao

Os dispositivos CMOS tm maior velocidade de comutao em relao aos


circuitos N-MOS e P-MOS. Isso porque a sada CMOS tem resistncia menor que as
sadas N-MOS e P-MOS.
Uma porta NAND da srie 4000 ter tipicamente um tpd de 50 ns com VDD = 5
V, e 25 ns com VDD = 10 V.
Uma porta NAND da srie 74HC/HCT tem um tpd mdio em torno de 8 ns
quando VDD = 5 V. Uma porta NAND 74AC/ACT tem um tpd mdio em torno de 4,7
ns. Uma porta NAND 74AHC tem um tpd mdio em torno de 4,3 ns.

46

Famlias Lgicas de Circuitos Integrados


2.15.13. Entradas No-Utilizadas

Entradas CMOS nunca devem ficar desconectadas. Elas devem ser


conectadas a um nvel lgico ou alguma outra entrada.
Uma entrada CMOS no conectada susceptvel a rudo e a eletricidade
esttica, que poderiam polarizar os MOSFETs para um estado de conduo,
resultando no aumento de dissipao de potncia e em possvel superaquecimento.
2.15.14. Sensibilidade Eletricidade Esttica

A grande resistncia das entradas CMOS as torna especialmente sensveis


ao acmulo de cargas estticas, que podem produzir tenses suficientemente
grandes para danificar os MOSFETs internos. A maioria dos circuitos integrados
CMOS possui diodos de proteo, que limitam a tenso de entrada.
2.15.15. Comparao entre as Sries CMOS e TTL
Tabela 2.4: Comparao entre as sries TTL e CMOS.
Dissipao de
potncia por porta
(mW)
Esttica
-3

Atraso de
propagao
(ns)

Velocidadepotncia (a
100 kHz)
(pJ)

Frequncia
mxima de
clock (MHz)

Margem
de rudo
no pior
caso (V)

0,1

50

12

1,5

100 kHz

4000B

1 x 10

74HC/HCT

2,5 x 10-3

0,17

1,4

40

0,9

74AC/ACT

-3

5,0 x 10

0,08

4,7

0,37

100

0,7

74AHC/T

9,0 x 10-5

6,0 x 10

3,7

0,02

130

0,55

74

10

10

90

35

0,4

74LS

9,5

19

45

0,3

74AS

1,7

13,6

200

0,3

74ALS

1,2

1,2

4,8

70

0,4

-3

Todos os valores so para VDD = 5 V.

2.16. Tecnologia de Baixa Tenso

O aumento do nmero de componentes dentro dos circuitos integrados


acarreta em um aumento de sua potncia consumida e em problemas no material
isolante entre os seus componentes internos.

47

Famlias Lgicas de Circuitos Integrados

Para solucionar estes problemas surgiram os circuitos integrados que utilizam


a tecnologia de baixa tenso, ou seja, a tenso menor que os 5 V:

Srie 74LVC (Low-Voltage CMOS CMOS de Baixa Tenso) Utiliza lgica


de 3,3 V mas pode aceitar nveis lgicos de 5 V em suas entradas.

Srie 74ALVC (Advanced Low-Voltage CMOS CMOS de Baixa Tenso


Avanado) Oferece melhor performance e trabalha apenas com lgica de 3,3
V.

Srie 74LV (Low-Voltage Baixa Tenso) Utiliza tecnologia CMOS mas


opera somente com dispositivos de 3,3 V.

Srie 74LVT (Low-Voltage BiCMOS Technology Tecnologia BiCMOS de


Baixa Tenso) Oferece as mesmas caractersticas da srie 74LVC (as
entradas aceitam nveis lgicos de 5 V) e so eletricamente compatveis com
TTL.
Tabela 2.5: Comparao entre CMOS de baixa tenso.
LVC

ALVC

LV

LVT

Vcc (recomendado)

2,0 a 3,6

2,3 a 3,6

2,7 a 3,6

2,7 a 3,6

tPD (ns)

6,5

18

Intervalo para VIH (V)

2,0 a 6,5

2,0 a 4,6

2,0 a Vcc + 0,5

2,0 a 7

VIL (max) (V)

0,8

0,8

0,8

0,8

IOH (mA)

24

12

32

IOL (mA)

24

12

64

2.17. Sadas CMOS de Dreno Aberto e Tristate

Sadas CMOS convencionais nunca devem ser conectadas juntas. Quando as


sadas CMOS convencionais so colocadas em curto, o valor da tenso no terminal
de sada comum ser de aproximadamente Vcc / 2 se as sadas estiverem em nveis
diferentes.
2.17.1. Sadas em Dreno Aberto

Dispositivos com dreno aberto so os correspondentes CMOS s sadas em


coletor aberto TTL.

48

Famlias Lgicas de Circuitos Integrados


2.17.2. Sadas Tristate

TTL.

Dispositivos com sadas tristate tm operao similar das sadas tristate

Figura 2.23: Portas CMOS com dreno aberto em conexo wire-AND e sadas CMOS
tristate conectadas em um barramento.

2.18. Interfaceamento de Circuitos Integrados

Quando utilizamos circuitos integrados de diferentes tecnologias quase


sempre necessitamos de um circuito de interface. O circuito de interface est
conectado entre a sada do circuito acionador e a entrada do circuito de carga. Sua
funo condicionar o sinal vindo do acionador e condicion-lo de modo a torn-lo
compatvel com os requisitos da carga.

49

Famlias Lgicas de Circuitos Integrados


Tabela 2.6: Nveis de tenso e corrente de portas TTL e CMOS.
Parmetros

CMOS

TTL

VIH

VIL

VOH

VOL

IIH

IIL

IOH

IOL

(min)

(max)

(min)

(max)

(max)

(max)

(max)

(max)

4000B

3,5 V

1,5 V

4,95 V

0,05 V

1 A

1 A

0,4 mA

0,4 mA

74HC

3,5 V

1,0 V

4,9 V

0,1 V

1 A

1 A

4 mA

4 mA

74HCT

2,0 V

0,8 V

4,9 V

0,1 V

1 A

1 A

4 mA

4 mA

74AC

3,5 V

1,5 V

4,9 V

0,1 V

1 A

1 A

24 mA

24 mA

74ACT

2,0 V

0,8 V

4,9 V

0,1 V

1 A

1 A

24 mA

24 mA

74AHC

3,85 V

1,65 V

4,4 V

0,44 V

1 A

1 A

8 mA

8 mA

74AHCT

2,0 V

0,8 V

3,15 V

0,1 V

1 A

1 A

8 mA

8 mA

74

2,0 V

0,8 V

2,4 V

0,4 V

40 A

1,6 mA

0,4 mA

16 mA

74LS

2,0 V

0,8 V

2,7 V

0,5 V

20 A

0,4 mA

0,4 mA

8 mA

74AS

2,0 V

0,8 V

2,7 V

0,5 V

20 A

0,5 mA

2 mA

20 mA

74ALS

2,0 V

0,8 V

2,7 V

0,4 V

20 A

0,1 mA

0,4 mA

8 mA

74F

2,0 V

0,8 V

2,5 V

0,5 V

20 A

0,6 mA

1 mA

20 mA

Nveis de tenso e corrente de entrada/sada com VDD = VCC = +5 V.

2.19. TTL Acionando CMOS

Quando interfaceamos diferentes tipos de circuitos integrados, devemos


verificar se o dispositivo acionador pode satisfazer os parmetros de corrente e
tenso do dispositivo de carga.
No caso de um TTL acionar uma carga CMOS, a corrente de sada TTL
capaz de satisfazer o requisito de entrada da entrada CMOS. Com relao tenso,
os parmetros VOH(min) de todas as sries TTL so muito baixos quando
comparados com VIH(min) das sries 4000B, 74HC, 74AC e 74AHC.
A soluo aumentar a tenso VOH(min) do acionador TTL. Isso feito
atravs de um resistor de pull-up.

50

Famlias Lgicas de Circuitos Integrados

Figura 2.24: O resistor de pull-up externo aumenta a tenso de sada para


aproximadamente 5 V no estado ALTO.
2.19.1. TTL Acionando CMOS com Tenso de Alimentao Alta

Os circuitos integrados TTL no podem operar com tenses maiores do que 5


V. Quando o dispositivo CMOS estiver operando com alimentao maior de 5 V, o
resistor de pull-up talvez no possa ser utilizado.
A soluo utilizar um buffer coletor aberto (7407), conforme a Figura 2.25.

Figura 2.25: O buffer 7407 usado para interfacear dispositivos TTL que acionam
cargas CMOS com alimentao maior do que 5 V.

2.20. CMOS Acionando TTL


2.20.1. CMOS Acionando TTL no Estado ALTO

As sadas CMOS podem fornecer tenso suficiente (VOH) para satisfazer os


requisitos de uma entrada TTL no estado ALTO (VIH). As sadas CMOS tambm
podem fornecer corrente suficiente para satisfazer os requisitos de corrente de
entrada (IIH).

51

Famlias Lgicas de Circuitos Integrados


2.20.2. CMOS Acionando TTL no Estado BAIXO

Nesta situao, as sries 74HC e 74HCT podem acionar apenas uma carga
TTL. A srie 4000B no consegue acionar nenhuma carga TTL.
A soluo utilizar um buffer tristate (74LS125). Este circuito de interface
possui corrente de entrada baixa e corrente alta de sada.

Figura 2.26: Um buffer usado para interfacear componentes CMOS de baixa


capacidade de corrente com entradas 74LS.
2.20.3. CMOS com Tenso de Alimentao Alta Acionando TTL

Neste caso necessrio utilizar um circuito de interface que possa converter


uma entrada de alta tenso para uma sada de 5 V. Um buffer (4050B) utilizado
para essa interface.

Figura 2.27: Um buffer 4050 pode ser usado como um conversor de nvel entre um
componente TTL e um outro CMOS com alimentao de valor mais alto.

52

Dispositivos de Lgica Programvel

3. Dispositivos de Lgica Programvel (PLD)

3.1. Introduo

A grande maioria dos circuitos lgicos utilizados padronizada e possui


diversas funes lgicas. Esses circuitos tambm so fabricados por vrias
indstrias com um custo muito baixo. Por essas razes esses circuitos integrados
so usados em uma grande quantidade de circuitos e sistemas.
Entretanto, existem problemas com circuitos que utilizam circuitos integrados
padronizados. Alguns sistemas podem necessitar de centenas ou milhares de
circuitos integrados. Essa quantidade enorme de componentes necessita de um
espao considervel em uma placa e uma grande quantidade de tempo para soldar
ou testar esses circuitos integrados.
Reduzindo o nmero de circuitos integrados na placa podemos ter:
-

menor espao em placa: com placa menores os gabinetes seriam menores


tambm;

menor consumo de potncia;

processos de fabricao mais rpidos e baratos;

maior confiabilidade: existem menos circuitos integrados e menos conexes


sujeitas a falhas;

facilidade de manuteno.

Os dispositivos de lgica programvel (PLDs) tm todas estas caractersticas


permitindo assim substituir um grande nmero de circuitos integrados padronizados
por um nico componente.
Um PLD um circuito integrado que contm um grande nmero de portas
lgicas, flip-flops e registradores que so interconectados no chip. A programao
do componente pode ser feita queimando-se, ou no, fusveis que constituem as
ligaes internas entre os blocos lgicos de acordo com a necessidade do usurio.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

53

Dispositivos de Lgica Programvel


3.2. Conceito Bsico

A Figura 3.1 mostra a idia bsica utilizada pelos PLDs.

Figura 3.1: Exemplo de um dispositivo de lgica programvel.

Cada entrada (A e B) aplicada em um buffer inversor e um no inversor que


seguem para as portas AND. As sadas das portas AND so levadas s entradas de
portas OR por meio de fusveis, que podem gerar qualquer combinao com as
entradas. Para se obter, por exemplo, a expresso abaixo s queimarmos os
fusveis 1 e 4 da porta OR 1.
O1 = AB + AB

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

54

Dispositivos de Lgica Programvel


3.3. Simbologia

A simbologia de um PLD mostrada na Figura 3.2.

Figura 3.2: Simbologia usada em PLDs.


3.4. Arquitetura de um PLD
-

PROM A PROM constituda conforme a Figura 3.3:

Figura 3.3: Arquitetura de uma PROM.

A PROM pode gerar qualquer funo lgica possvel das variveis de entrada.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

55

Dispositivos de Lgica Programvel


-

Arranjo de Lgica Programvel (PAL) A PAL pode ser vista conforme a


Figura 3.4.

Figura 3.4: Arquitetura tpica de uma PAL.

A PAL utilizada em aplicaes onde no se necessita que todas as


combinaes sejam programadas. No caso da figura anterior, cada sada est
conectada a apenas quatro sadas das portas AND.
3.4.1. Fusvel de Polaridade

O fusvel de polaridade um recurso usado em muitos PLDs para inverter


qualquer sada do dispositivo. Isso mostrado na Figura 3.5.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

56

Dispositivos de Lgica Programvel

Figura 3.5: Uso do fusvel de polaridade para inverso da sada.

3.5. Outros Recursos Disponveis

Em circuitos de PLDs ainda podemos encontrar diversos recursos. Esses


recursos seriam: flip-flops, latches, registradores de entrada e registradores de
sada.

3.6. Outros Tipos de PLDs


FPLA (Field Programmable Logic Array) O arranjo de lgica programvel usava
uma matriz AND e uma matriz OR, ambas programveis. Embora a FPLA seja mais
flexvel do que a PAL, ela no foi bem aceita pelos projetistas.
CPLDs (PLDs Complexos) so dispositivos que combinam vrios circuitos PAL
em um mesmo chip.
FPGAs (Field Programmable Gate Arrays) Os arranjos de portas programveis
em campo oferecem um nmero de blocos lgicos configurveis que contm lgica
combinacional programvel e registradores para circuitos sequenciais. Possuem
blocos de entrada/sada que podem ser configurados como entradas, sadas e
bidirecionais.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

57

Dispositivos de Lgica Programvel


3.7. Programao

Quando os PLDs apareceram, a programao deles era feita queimando-se


ou no os fusveis para se gerar o circuito lgico. Atualmente, existem softwares que
geram o mapa das conexes internas dos PLDs e ainda testam a lgica do circuito.
Existem tambm programadores universais onde o PLD colocado e pode ser
programado a partir de um software.

3.8. PLDs Programveis

A programao de um PLD feita queimando-se um fusvel. Uma vez


queimado o fusvel, ele no pode ser recuperado. Tendo em vista esta dificuldade,
desenvolveu-se, ento, um tipo de PLD apagvel e reprogramvel (usando a mesma
tecnologia das EEPROMs), que so bastante utilizados em desenvolvimento de
prottipos de circuitos digitais.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

58

Flip-Flops

4. Flip-Flops

4.1. Introduo

Os circuitos combinacionais so aqueles onde as sadas dependem apenas


dos nveis lgicos colocados nas entradas. A mesma combinao de entrada
sempre produzir o mesmo resultado na sada, porque circuitos combinacionais no
possuem memria.
A maioria dos sistemas digitais composta tanto por circuitos combinacionais
como de elementos de memria. O elemento de memria mais importante o flipflop.

4.2. Flip-Flop R-S (Reset Set)

O circuito bsico do flip-flop R-S mostrado na Figura 4.1.

Figura 4.1: Circuito lgico do flip-flop R-S.

O circuito acima mostra que o estado futuro das sadas Q e Q dependem R e


S e tambm do estado atual dessas sadas. Isso mostrado na Tabela 4.1.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

59

Flip-Flops
Tabela 4.1: Tabela verdade do flip-flop SR.
Caso

Qatual

Qfuturo

Qfuturo

Nos casos 0 e 1, com S = 0 e R = 0, as sadas Q e Q permaneceram


inalteradas (memria). Nos casos 2 e 3, com S = 0 e R = 1, a sada Q foi para 0 e Q
foi para 1. Nos casos 4 e 5, com S = 1 e R = 0, a sada Q foi para 1 e Q foi para 0.
Nos casos 6 e 7, com S = 1 e R = 1, as sadas Q e Q foram para 1, ocasionando um
problema, j que as sadas Q e Q devem ser complementares.

4.2.

Uma tabela simplificada e o smbolo do flip-flop R-S so mostrados na Figura

Figura 4.2: Tabela verdade e simbologia do flip-flop R-S.

NOR.

O circuito do flip-flop R-S tambm pode ser implementado usando portas

4.3. Flip-Flops com Clock


Circuitos que utilizam clock so chamados de circuitos sncronos. Muitos flipflops utilizam um sinal de clock para determinar o momento em que suas sadas
mudaro de estado. O sinal de clock comum para todas as partes do circuito.
Normalmente, o sinal de clock uma onda quadrada e durante uma transio
positiva (nvel 0 para nvel 1) ou transio negativa (nvel 1 para nvel 0) a sada
poder mudar de estado.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

60

Flip-Flops

Figura 4.3: Simbologia de flip-flops com clock na transio de subida e descida.


4.3.1. Tempos de Setup e Hold
Os tempos de setup e hold so parmetros que devem ser observados para
que o flip-flop possa trabalhar de modo confivel. O tempo de setup, tS, corresponde
ao intervalo no qual as entradas devem permanecer estveis antes da transio do
clock. O tempo de hold, tH, corresponde ao intervalo no qual as entradas devem
permanecer estveis depois da transio do clock.
Os tempos de setup e hold mnimos devem ser respeitados para o
funcionamento confivel do flip-flop.

Figura 4.4: Tempos de setup e hold.

4.4. Flip-Flop R-S com Clock


O smbolo do flip-flop R-S com clock mostrado na Figura 4.5.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

61

Flip-Flops

Figura 4.5: Flip-flop R-S com clock.


O circuito interno mostrado na Figura 4.6.

Figura 4.6: Circuito lgico interno do flip-flop R-S com clock.


O detector de transio um circuito que habilitar, por alguns instantes, as
entradas SET e RESET, durante a transio de CLOCK. O circuito tpico de um
detector de transio mostrado na Figura 4.7.

Figura 4.7: Circuitos detectores de transio positiva e negativa.


Os tempos dos pulsos de CLK* correspondem aos tempos de atraso da porta
NOT, em torno de 5 ns.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

62

Flip-Flops
4.5. Flip-Flop J-K
O smbolo do flip-flop J-K mostrado na Figura 4.8.

Figura 4.8: Flip-flop J-K.


A operao do flip-flop J-K semelhante do flip-flop R-S. A diferena que
o flip-flop J-K no possui a condio proibida, ou seja, J = K = 1. Nessa situao, a
sada ser complementada (valor anterior ser invertido).
O circuito interno do flip-flop J-K mostrado na Figura 4.9.

Figura 4.9: Circuito lgico interno do flip-flop J-K.

4.6. Flip-Flop D
O smbolo do flip-flop D mostrado na Figura 4.10:

Figura 4.10: Flip-flop D.


O circuito interno do flip-flop D mostrado na Figura 4.11.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

63

Flip-Flops

Figura 4.11: Circuito lgico interno do flip-flop D.

4.7. Latch D
O smbolo lgico do latch D mostrado na
Figura 4.12. Diferentemente do flip-flop D, o latch D possui uma entrada EN. Quando
esta entrada estiver habilitada, a sada a cpia da entrada. Se ela estiver
desabilitada, a sada no mudar.

Figura 4.12: Latch D.

O circuito interno mostrado na Figura 4.13.

Figura 4.13: Circuito interno do latch D.

4.8. Entradas Assncronas


Todas as entradas dos flip-flops at agora vistos dependem do sinal de clock.
Estas entradas so chamadas entradas sncronas. Em muitos flip-flops existem
outras entradas que so chamadas entradas assncronas, ou seja, no dependem
do sinal de clock para atuarem.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

64

Flip-Flops
Essas entradas so usadas para colocar o flip-flop no estado 0 ou 1, a
qualquer instante. A Tabela 4.2 mostra as entradas assncronas.
Tabela 4.2: Operao das entradas assncronas.
PRESET

CLEAR

Resposta do Flip-Flop

Operao normal

Q=1

Q=0

No usada

Para a operao normal do flip-flop, as entradas PRESET e CLEAR devem


estar em 1. A qualquer momento podemos forar a sada Q a ser 0 ou 1. A
ltima combinao no pode ser usada, j que contraditria.
A Figura 4.14 mostra as entradas assncronas de um flip-flop J-K.

Figura 4.14: Simbologia do flip-flop J-K com as entradas assncronas.

4.9. Caractersticas de Temporizaes dos Flip-Flops


As seguintes caractersticas de tempo devem ser respeitadas para o
funcionamento correto dos flip-flops.
- Tempos de Setup e Hold Correspondem aos intervalos de tempo que a
entrada deve permanecer estvel antes e depois da transio do clock.
- Atrasos de Propagao Na mudana de estado da sada, sempre haver
um atraso entre a aplicao de um sinal na entrada e o momento que a sada
muda.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

65

Flip-Flops

Figura 4.15: Atrasos de propagao.


- Frequncia Mxima de Clock, fMAX Esta a frequncia mais alta que pode
ser aplicada no flip-flop de modo a dispar-lo confiavelmente.
- Tempos de Durao do Clock em ALTO e BAIXO O tempo de durao do
clock em nvel ALTO, tw(H) e o tempo de durao em nvel BAIXO, tw(L) so
mostrados na Figura 4.16.

Figura 4.16: Tempos de durao de clock em ALTO e BAIXO.


- Largura dos Pulsos Assncronos Assim como foram definidos larguras
mnimas de pulsos para o clock, as entradas assncronas PRESET e CLEAR
tambm possuem larguras mnimas de pulsos para uma operao correta.

Figura 4.17: Larguras mnimas de pulsos assncronos.


- Tempos de Transio do Clock Para garantir o funcionamento correto do
flip-flop, o tempo transio do clock deve ser o menor possvel. Para dispositivos
TTL esse tempo 50 ns e para dispositivos CMOS, 200 ns.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

66

Flip-Flops
4.10. Circuitos Integrados de Flip-Flops
Alguns circuitos integrados de flip-flops so mostrados abaixo:
-

7474 Duplo flip-flop D disparado por borda (TTL);

74LS112 Duplo flip-flop J-K disparado pela borda (TTL);

74C74 Duplo flip-flop D disparado pela borda (CMOS);

74HC112 Duplo flip-flop J-K disparado pela borda (CMOS).

Tabela 4.3: Comparao de parmetros de temporizao de CIs TTL e CMOS.


Parmetro de Temporizao

TTL

CMOS

7474

74LS112

74C74

74HC112

tS (ns)

20

20

60

25

tH (ns)

tPHL (ns)

de CLK para Q

40

24

200

31

tPLH (ns)

de CLK para Q

25

16

200

31

tPHL (ns)

de

CLR para Q

40

24

225

41

tPLH (ns)

de

PRE para Q

25

16

255

41

tW(L) (ns)

tempo em BAIXO para CLK

37

15

100

25

tW(H) (ns)

tempo em ALTO para CLK

30

20

100

25

30

15

60

25

15

30

20

tW(L) (ns)
fMAX (MHz)

para

CLR ou PRE

4.11. Problemas de Temporizao em Flip-Flops


Um problema de temporizao que poder ocorrer em sistemas que utilizam
flip-flops mostrado na Figura 4.18.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

67

Flip-Flops

Figura 4.18: Problemas de temporizao em flip-flops.


Como o clock o mesmo para os dois flip-flops, para que o circuito funcione
adequadamente, o tempo de hold de Q2, tH, deve ser menor que o atraso de
propagao de Q1.

4.12. Flip-Flops Mestre/Escravo


Antes do desenvolvimento de flip-flops com tempo de hold muito pequeno, os
problemas de temporizao vistos anteriormente eram solucionados utilizando-se
flip-flops mestre/escravo.
Os flip-flops mestre/escravo so constitudos de dois flip-flops, um disparado
na transio de subida do clock (mestre) e o outro na descida do clock (escravo). Na
borda de subida do clock, os nveis presentes nas entradas do flip-flop determinam a
sada do mestre. Na borda de descida do clock os nveis das sadas do mestre so
passados para o escravo, ou para a sada do flip-flop.

4.13. Dispositivos Schmitt-Trigger

4.19.

A principal caracterstica de um circuito Schmitt-Trigger mostrada na Figura

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

68

Flip-Flops

Figura 4.19: Comparao entre um inversor comum e um inversor Schmitt-Trigger.


A Figura 4.19 mostra um inversor comum sendo acionado por um sinal com
tempo de transio longo. Em circuitos comuns, a sada pode oscilar medida que o
sinal de entrada passa pela faixa de transio.
Ainda na Figura 4.19, vemos que em um circuito com entrada Schmitt-Trigger
a sada no produzir oscilaes. Esse circuito funciona da seguinte forma: a
entrada est em nvel BAIXO resultando nvel ALTO na sada. A sada s ir para
nvel BAIXO quando a entrada ultrapassar o valor VT+ (tenso de limiar superior).
Nessas condies, se quisermos que a sada volte a ser ALTO, devemos aplicar
uma tenso de entrada menor do que VT- (tenso de limiar inferior).
Dispositivos Schmitt-Trigger so especialmente usados em circuitos onde os
sinais de entrada variam lentamente (ondas senoidais, sinais de sensores, etc). As
especificaes de VT+ e VT- dependem do tipo de componente, mas VT- sempre
menor do que VT+.

4.14. Circuitos Geradores de Clock


A maioria dos sistemas digitais utiliza algum circuito gerador de clock. Dentre
essas aplicaes podemos ter algumas que utilizam um sinal de clock sem a
exigncia de preciso. Outras, porm, a preciso fundamental.
Existem vrios tipos de osciladores que podem gerar pulsos de clock para
sistemas digitais. Os menos precisos e menos estveis (dependendo da aplicao)
utilizam resistores e capacitores. Os mais precisos e estveis utilizam cristais de
quartzo e com frequncias muito maiores do que os circuitos que utilizam resistores
e capacitores como geradores de clock.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

69

Flip-Flops
4.14.1. Oscilador Schmitt-Trigger
Um tpico gerador de clock usando dispositivos Schmitt-Trigger mostrado na
Figura 4.20.

Figura 4.20: Circuito de um oscilador utilizando inversor Schmitt-Trigger.


4.14.2. Temporizador 555 como Oscilador
O circuito integrado 555 tambm pode ser usado como gerador de clock. A
Figura 4.21 mostra isso.

Figura 4.21: Circuito de um oscilador utilizando o temporizador 555.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

70

Flip-Flops
4.14.3. Osciladores a Cristal de Quartzo
A principal caracterstica dos osciladores a cristal de quartzo sua
estabilidade e preciso quanto frequncia de oscilao. A figura seguinte mostra
circuitos osciladores que utilizam cristais de quartzo.

Figura 4.22: Circuitos de osciladores a cristal.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

71

Contadores

5. Contadores

5.1. Introduo
Os flip-flops tm funes ilimitadas em sistemas digitais. Podemos associ-los
e utiliz-los como contadores, registradores e muitos outros circuitos.
Os contadores podem ser assncronos ou sncronos. Basicamente, a principal
diferena entre eles que o contador sncrono utiliza um sinal de clock comum a
todos os flip-flops e o contador assncrono possui um sinal de clock que dividido
at o ltimo flip-flop.
Os registradores tambm so arranjos de flip-flops, mas com o objetivo de
armazenar, manipular e transferir dados entre outros registradores ou circuitos.

5.2. Contadores Assncronos


Os contadores assncronos tambm so chamados de contadores por
pulsao (ripple counter). Um circuito tpico de um contador assncrono mostrado
na Figura 5.1.

Figura 5.1: Contador assncrono utilizando flip-flops J-K.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

72

Contadores
Tabela 5.1: Estados das sadas do contador assncrono mdulo 16.

Reinicia a contagem

Estado

Decimal

10

10

11

11

12

12

13

13

14

14

15

15

16

17

18

A Tabela 5.1 mostra os estados de contagem deste contador assncrono de


quatro bits. Podemos perceber que a cada 16 estados esse contador reinicia sua
contagem. Ento ele um contador assncrono mdulo 16, ou seja, tem 16 estados
(0000 at 1111) distintos. Equacionando:
Mdulo = 2N

Onde N o nmero de flip-flops conectados (nmero de bits).


Nos contadores assncronos, a frequncia do clock dividida por 2 em cada
flip-flop, ou seja: na sada A teremos Clock / 2, na sada B teremos Clock / 4, na
sada C teremos Clock / 8 e na sada D teremos Clock / 16. Concluindo, os
contadores assncronos so divisores de frequncia e no ltimo flip-flop teremos a
frequncia de clock dividida pelo mdulo desse contador.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

73

Contadores
5.3. Contadores de Mdulo < 2N
Um contador assncrono com N flip-flops ter, no mximo, mdulo 2N. Se
precisarmos de um contador com mdulo menor do que 2N ser necessrio utilizar
um circuito adicional, conforme mostrado na Figura 5.2.

Figura 5.2: Contador assncrono com mdulo < 2N.


A Figura 5.2 mostra um contador mdulo 6. Se no houvesse a porta NAND
ligada nas entradas CLEAR dos flip-flops, o mdulo seria 8. A sequncia de
contagem mostrada na Tabela 5.2.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

74

Contadores
Tabela 5.2: Estados das sadas do contador assncrono mdulo 6.
Estado

Decimal

Estado temporrio

(necessrio apenas para


reiniciar a contagem)

5.4. Diagrama de Transio de Estados


O diagrama de transio de estados mostrado na Figura 5.3.

Figura 5.3: Diagrama de transio de estados de um contador mdulo 6.


Neste diagrama as linhas contnuas correspondem aos estados estveis e as
linhas tracejadas indicam o estado temporrio.
O procedimento para a construo de um contador mdulo X :
- Determinar o menor nmero de flip-flops tal que 2N X. Se 2N = X, no
necessrio conectar a porta NAND na entrada assncrona CLEAR;
- Conectar a porta NAND nas entradas assncronas CLEAR de todos os flipflops;
- Determinar quais sadas estaro em ALTO na contagem X. Ento s
conectar essas sadas nas entradas da porta NAND.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

75

Contadores
5.5. Contadores de Dcada
Contadores de dcada, ou decdicos, so contadores que possuem 10
estados distintos, no importando a sequncia. Quando um contador decdico conta
em sequncia de 0000 a 1001 (0 a 9), ele chamado de contador BCD.
5.6. Circuitos Integrados de Contadores Assncronos
Existem vrios circuitos integrados de contadores assncronos, tanto TTL
como CMOS. O circuito integrado TTL 74LS293 um contador com quatro flip-flops
J-K. Vrios circuitos TTL tm suas verses CMOS. O circuito integrado CMOS
74HC4024 um contador com sete flip-flops que no possui correspondente TTL.
5.7. Contador Assncrono Decrescente
Os contadores que contam progressivamente a partir do zero so
denominados contadores crescentes. J os contadores decrescentes contam do
valor mximo at zero. Um contador decrescente pode ser construdo conforme
mostrado na Figura 5.4.

Figura 5.4: Contador assncrono decrescente.


Nesse circuito vemos que o clock de cada flip-flop acionado com a sada
invertida do flip-flop anterior. Com isso a sada invertida, ou seja, conforme a
Tabela 5.3.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

76

Contadores
Tabela 5.3: Estado das sadas de um contador decrescente.
Estado

Decimal

O diagrama de transio de estados do contador decrescente mdulo 8


mostrado na Figura 5.5.

Figura 5.5: Diagrama de transio de estados do contador decrescente mdulo 8.

5.8. Atrasos de Propagao de Contadores Assncronos


Cada flip-flop de um contador assncrono disparado pela sada de um flipflop anterior. Essa caracterstica traz uma desvantagem: o tempo de atraso de
propagao. Isso pode ser visto na Figura 5.6.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

77

Contadores

Figura 5.6: Atrasos de propagao em contadores assncronos.


Ao passar por um flip-flop, o sinal de clock sofre um atraso de propagao tPD
e esse efeito somado at o ltimo flip-flop, gerando um atraso total de N x tPD,
onde N o nmero de flip-flops.
Para que um contador assncrono funcione de modo confivel necessrio
que o atraso total de propagao seja menor que o perodo de clock usado, ou seja:
T

clock

Nx t

PD

Ou ainda, em termos de frequncia mxima:


1
f
=
max
Nx t

PD

5.9. Contadores Sncronos


Como vimos, o atraso de propagao dos flip-flops dos contadores
assncronos limitam a frequncia mxima de trabalho destes componentes. Esse
problema pode ser resolvido se os flip-flops mudassem de estado suas sadas no
momento em que houvesse a transio de clock. Essa configurao pode ser vista
na Figura 5.7.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

78

Contadores

Figura 5.7: Contador sncrono mdulo 16.


Tabela 5.4: Relao entre as representaes numricas.

Reinicia a contagem

Estado

Decimal

10

10

11

11

12

12

13

13

14

14

15

15

16

Na Figura 5.7, o sinal de clock comum a todos os flip-flops. Com isso, o


atraso de propagao ser o atraso de um flip-flop somado com o atraso da porta
AND.
atraso total = t (flip flop) + t (AND)
PD
PD

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

79

Contadores
Ainda analisando a Figura 5.7 vemos que o contador sncrono mais
complexo do que o contador assncrono. Entretanto, com um atraso de propagao
menor, ele pode trabalhar com frequncias maiores.

5.10. Circuitos Integrados de Contadores Sncronos


Podemos encontrar diversos circuitos integrados no mercado, tanto da famlia
TTL como CMOS. Dentre eles esto:
-

74LS160 / 162, 74HC160 / 162 contadores sncronos decdicos;

74LS161 / 163, 74HC161 / 163 contadores sncronos mdulo 16.

5.11. Contadores Sncronos Decrescentes


Do mesmo modo que os contadores assncronos, os contadores sncronos
podem contar decrescentemente. Para isso devemos conectar as sadas A , B e C
em vez das sadas A, B e C.

5.12. Contadores com Carga Paralela


Contadores sncronos podem contar a partir de um valor pr-determinado
pelo usurio. Isso conhecido como carga paralela. A Figura 5.8 mostra um flip-flop
com circuito carga de inicializao.

Figura 5.8: Contador com carga paralela.


Quando LOAD BAIXO, o flip-flop funcionar normalmente. Quando LOAD
ALTO, o valor de D colocado na sada do flip-flop usando as entradas assncronas
(no depende do clock).
Se fizermos isso para cada flip-flop do contador poderemos pr-determinar o
valor inicial a ser incrementado. Um exemplo prtico de um contador sncrono
crescente/decrescente de mdulo 16 com carga paralela o 74LS193/74HC193.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

80

Contadores
5.13. Contadores BCD
Contadores BCD so bastante usados em circuitos onde pulsos devem ser
contados e mostrados num display, por exemplo. A Figura 5.9 mostra um arranjo de
contadores BCD com contagem de 000 a 999.

Figura 5.9: Contador BCD com contagem de 000 a 999.


Inicialmente todos os contadores esto em 0 e, no display, mostrado 000. A
cada borda de descida do sinal de clock, o contador de unidades incrementado e o
valor mostrado no display. Quando o valor 009 (1001), o prximo pulso far com
que o contador BCD de unidades v a 0.
Nesse momento tambm ocorrer uma transio de 1 para 0 (borda de descida) da
sada D que est ligada ao clock do contador BCD de dezenas. E agora o display
mostrar o valor 010.
Isso continua at 999 quando, no prximo pulso, os contadores iro para 000,
iniciando novamente a contagem.

5.14. Projeto de Contadores Sncronos


A Figura 5.10 mostra um diagrama genrico de um contador sncrono.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

81

Contadores

Figura 5.10: Diagrama genrico de um contador sncrono.


O circuito lgico de estado futuro define qual o prximo estado do contador
atravs do estado atual. Dessa maneira podemos implementar contadores com
qualquer sequncia de contagem.
Apesar usarmos flip-flops J-K em nossos projetos de contadores sncronos,
nada nos impede de usarmos flip-flops D, como na Figura 5.10.

5.15. O Flip-Flop J-K


A Tabela 5.5 mostra o funcionamento do flip-flop J-K.

Tabela 5.5: Tabela verdade do flip-flop JK.


J

Qatual

Qfuturo

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

82

Contadores
A Tabela 5.5 relaciona as entradas J e K e a sada Qatual de modo a gerar um
Qfuturo. Na verdade, na construo de contadores sncronos, ns j sabemos Qatual e
Qfuturo (valores da contagem), mas precisamos saber quais so os valores das
entradas J e K que geraro Qfuturo, conforme mostra a Tabela 5.6.

Tabela 5.6: Combinao das entradas J e K para a gerao de Qatual e Qfuturo.


Qatual

Qfuturo

Onde x = irrelevante.
A Tabela 5.6 relaciona os estados atual e futuro da sada Q com relao s
entradas J e K.

5.16. Procedimento para Construo de Contadores Sncronos


Projetaremos um contador sncrono usando a sequncia de contagem da
Tabela 5.7.

Tabela 5.7: Sequncia de contagem para o projeto de um contador sncrono.


C

Os passos so os seguintes:
-

Definir o nmero de flip-flops (bits) do contador e a sequncia de contagem;

- Mostrar o diagrama de transio de estados indicando todos os estados


possveis, incluindo os estados que no fazem parte da sequncia. O diagrama
mostrado na Figura 5.11.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

83

Contadores

Figura 5.11: Diagrama de transio de estados.


A Figura 5.12 mostra o circuito de gerao do estado futuro a ser projetado.
Podemos notar que as sadas A, B e C, na verdade, so as entradas desse circuito e
que as entradas J e K so as sadas.

Figura 5.12: Diagrama do contador a ser projetado.


-

Gerar a tabela de transio de estados (estados atual e futuro):

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

84

Contadores
Tabela 5.8: Tabela de transio de estados atual e futuro.
Atual

Futuro

JC

KC

JB

KB

JA

KA

Onde x = irrelevante.
- Encontrar as expresses lgicas que relacionam as sadas J e K com as
entradas A, B e C, usando o mapa de Karnaugh. Depois da simplificao
chegamos s seguintes expresses:

JA = C
KA = 1

JB = A.C
KB = A + C

JC = A.B
KC = 1

O circuito final mostrado na Figura 5.13.

Figura 5.13: Circuito lgico final do contador.


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

85

Registradores

6. Registradores

6.1. Introduo
A utilizao mais comum dos flip-flops no armazenamento e transferncia
de informaes. Essas informaes so armazenadas em grupos de flip-flops
chamados registradores.
Alm de armazenar informaes, os registradores tm a capacidade de
transferir essas informaes para outros registradores. Isso bastante interessante,
j que o armazenamento e a transferncia de dados so as principais caractersticas
dos sistemas digitais.

6.2. Registradores de Deslocamento


A Figura 6.1 mostra um registrador de deslocamento de 4 bits e suas formas
de onda.

Figura 6.1: Registrador de deslocamento de 4 bits e formas de onda.


A cada pulso de clock, o valor contido nas entradas J e K dos flip-flops
transferido para a sada. Essa sada est conectada na entrada do prximo flip-flop e
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

86

Registradores
no final de 4 pulsos de clock, o valor da entrada DADOS, que foi transferido
serialmente, estar armazenado no registrador.

6.3. Transferncia Paralela de Dados entre Registradores


A Figura 6.2 mostra a transferncia paralela de dados entre dois
registradores:

Figura 6.2: Transferncia paralela de dados entre registradores.


As sadas dos flip-flops que constituem o registrador X esto conectadas nas
entradas dos flip-flops que constituem o registrador Y. Depois do pulso TRANFER, o
contedo armazenado no registrador X transferido para o registrador Y.

6.4. Transferncia Serial de Dados entre Registradores


A Figura 6.3 mostra a transferncia serial de dados entre dois registradores.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

87

Registradores

Figura 6.3: Transferncia serial de dados entre registradores.

6.5. Comparao entre a Transferncia Paralela e a Transferncia Serial


Na transferncia paralela, os dados so transmitidos simultaneamente na
ocorrncia de um nico pulso de transferncia. Na transferncia serial, cada bit
transmitido a cada pulso de transferncia.
Com relao velocidade de transmisso, a transferncia paralela mais
rpida do que a serial. Em compensao, a transferncia paralela necessita de um
nmero maior de conexes entre os registradores.

6.6. Contadores com Registradores de Deslocamento


Registradores de deslocamento tambm podem ser usados como contadores:

Contador em Anel O contador em anel mostrado na Figura 6.4.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

88

Registradores

Figura 6.4: Contador em anel.


No contador em anel, uma das sadas dos flip-flops est em 1 e as outras
esto em 0. Por ser um registrador de deslocamento, esse 1 transferido para o
prximo flip-flop e assim sucessivamente. A Tabela 6.1 mostra a sequncia da
contagem.

Tabela 6.1: Sequncia de contagem de um contador em anel.


Pulso de Clock

Q3

Q2

Q1

Q0

Para o perfeito funcionamento deste tipo de contador, um dos flip-flops deve


ter inicialmente o valor 1 e os outros 0. Isso pode ser feito atravs das entradas
assncronas PRESET e CLEAR.

Contador Johnson O contador Johnson mostrado na Figura 6.5.


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

89

Registradores

Figura 6.5: Contador Johnson.


A Tabela 6.2 mostra a sequncia de contagem do contador Johnson.

Tabela 6.2: Sequncia de contagem de um contador Johnson.


Pulso de Clock

Q2

Q1

Q0

6.7. Circuitos Integrados de Registradores


Os registradores podem ser classificados da forma com a qual seus dados
so transferidos:

Entrada paralela / sada paralela 74174, 74LS174, 74HC174;

Entrada serial / sada serial 4731B;

Entrada paralela / sada serial 74165, 74LS165, 74HC165;


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

90

Registradores
-

Entrada serial / sada paralela 74164, 74LS164, 74HC164.

Existem outras verses de registradores como, por exemplo:

- 74194, 74LS194, 74HC194 registrador de deslocamento bidirecional


universal de quatro bits com entrada paralela e sada paralela.
- 74373, 74LS373, 74HC373, 74HCT373 registrador de oito bits de entrada
paralela e sada paralela que contm oito latches tipo D com sadas em tristate.
- 74374, 74LS374, 74HC374, 74HCT374 registrador de oito bits de entrada
paralela e sada paralela que contm oito flip-flops tipo D com sadas em tristate.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

91

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

7. Decodificadores, Codificadores, Multiplexadores e


Demultiplexadores

7.1. Decodificadores
Decodificador um circuito lgico que recebe em suas entradas um cdigo,
que representa um nmero binrio, e ativa a sada correspondente a esse nmero
binrio. Os decodificadores so circuitos combinacionais sem memria, mas so
bastante usados em sistemas digitais.
A Figura 7.1 mostra o diagrama de um decodificador de 3 linhas para 8 linhas:

Figura 7.1: Decodificador 3 para 8.


A Tabela 7.1 mostra a tabela verdade para o decodificador 3 para 8.

Tabela 7.1: Tabela verdade de um decodificador 3 para 8.


C

O0

O1

O2

O3

O4

O5

O6

O7

Atravs da tabela verdade vemos que apenas uma sada acionada,


dependendo apenas do cdigo de entrada. As entradas E1 e E2 so as entradas de
habilitao do componente. Quando elas estiverem acionadas, ou seja, E1 = 0 e E2
= 1, o componente responder s entradas A, B e C.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

92

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores


Um exemplo de decodificador o circuito integrado 74LS138/HC138. Ele
um decodificador de 3 linhas para 8 linhas.

7.1.1. Decodificadores BCD para Decimal


Um exemplo de decodificador BCD para decimal o circuito integrado
7442/LS42/HC42. Esses decodificadores tambm so denominados de
decodificadores 4 para 10.

7.1.2. Decodificadores/Driver BCD para Decimal


O circuito integrado 7445 um decodificador/driver BCD para decimal. O termo
driver usado porque este componente possui sadas com coletor aberto que
podem operar com tenses e correntes maiores que uma sada TTL normal.

7.1.3. Decodificadores/Driver BCD para 7 Segmentos


Em muitas aplicaes que envolvem medies necessrio que o valor
binrio em um registrador ou contador seja mostrado em um display. Os circuitos
integrados 7446 e 7447 so decodificadores BCD para 7 segmentos.
O diagrama de um decodificador BCD para 7 segmentos mostrado na
Figura 7.2.

Figura 7.2: Decodificador BCD para 7 segmentos.


Como os displays usados so formados com LEDs, cada segmento do display
necessita de uma corrente alta para acender. Circuitos TTL e CMOS no tm
capacidade de fornecer corrente suficiente e por isso no so usados para acionar
diretamente os displays. Os decodificadores/driver BCD para 7 segmentos podem
acionar diretamente displays de LEDs.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

93

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores


7.2. Codificadores
Os codificadores executam a funo contrria dos decodificadores. Nos
codificadores apenas uma linha da entrada acionada por vez e a sada ter o
cdigo da linha acionada.

Figura 7.3: Codificador 8 para 3.


Note que no existe a entrada A0, j que se nenhuma entrada estiver
acionada o cdigo de sada 000.
A Tabela 7.2 mostra a tabela verdade.

Tabela 7.2: Tabela verdade de um codificador 8 para 3.


A0

A1

A2

A3

A4

A5

A6

A7

O circuito integrado 74147 um codificador de prioridade decimal para BCD.


O codificador de prioridade inclui uma lgica para garantir que, quando duas ou mais
entradas estiverem acionadas, o cdigo de sada corresponder entrada com
nmero mais alto. Por exemplo, se as entradas A3 e A5 estiverem acionadas, o
cdigo na sada ser 101 (5).
O smbolo lgico do 74147 mostrado na Figura 7.4.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

94

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

Figura 7.4: Codificador decimal para BCD.


A Tabela 7.3 mostra a tabela verdade.

Tabela 7.3: Tabela verdade do codificador de prioridade 74147.


A

x = irrelevante
A Tabela 7.3 mostra o cdigo BCD invertido. Os valores x indicam a
prioridade do maior valor.

7.3. Multiplexadores
Multiplexador ou seletor de dados (MUX) um circuito lgico que recebe
vrios dados digitais de entrada e, por um determinado instante, envia esse dado
para uma sada. As entradas de seleo determinam qual sinal de entrada deve ser
enviado para a sada.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

95

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

Figura 7.5: Multiplexador de 2 entradas.


A Figura 7.6 mostra um multiplexador de duas entradas. A entrada Seleo
controla qual dado de entrada (I0 ou I1) ser enviado para a Sada. A Figura 7.6
mostra o diagrama de um multiplexador com 8 entradas, o 74151 (74LS151,
74HC151).

Figura 7.6: Multiplexador de 8 entradas.


A Tabela 7.4 mostra a tabela verdade.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

96

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores


Tabela 7.4: Tabela verdade do multiplexador 74151.
E

I0

I1

I2

I3

I4

I5

I6

I7

J o circuito integrado 74157 (74LS157, 74HC157) contm quatro


multiplexadores de duas entradas.
7.3.1. Aplicaes de Multiplexadores

As aplicaes que utilizam multiplexadores so vrias: seleo de dados de


entrada, roteamento de dados, sequenciamento de operaes, etc. A Figura 7.7
mostra um exemplo de uso de multiplexadores.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

97

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

Figura 7.7: Exemplo de aplicao de multiplexador: o contador selecionado pela


entrada Seleciona mostrado no display.

A entrada Seleciona Contador do MUX (74LS157) determina qual dos


contadores ser mostrado no display.

7.4. Demultiplexadores

Demultiplexadores ou distribuidores de dados (DEMUX) executam a funo


inversa dos multiplexadores, ou seja, o DEMUX recebe uma nica entrada e a
distribui para a sada determinada pelas entradas de seleo.
A Figura 7.8 mostra um demultiplexador de duas sadas.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

98

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

Figura 7.8: Demultiplexador de 2 sadas.

Quando a entrada Seleo estiver em 0, os dados da entrada I sero


levados sada O0. Se a entrada Seleo estiver em 1, os dados da entrada I
sero levados sada O1.
O circuito integrado 74LS138 (decodificador 3 para 8) tambm pode ser
utilizado como demultiplexador, conforme a Figura 7.9 e a Tabela 7.5.

Figura 7.9: Demultiplexador de 8 sadas utilizando o 74LS138.

A Tabela 7.5 mostra a tabela verdade.


Tabela 7.5: Tabela verdade de um demultiplexador utilizando o 74LS138.
A2

A1

A0

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

99

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores


7.4.1. Aplicaes de Demultiplexadores
Um exemplo simples de aplicao de demultiplexadores pode ser visto na
Figura 7.10.

Figura 7.10: Exemplo de uso de demultiplexador.


Um sinal de clock usado por contador, registrador e outros dispositivos. O
dispositivo que ir receber o sinal de clock selecionado atravs das entradas de
seleo A2, A1 e A0.
Alm de aplicaes de distribuio de dados podemos usar demultiplexadores
em sistemas de monitorao, transmisso de dados, etc.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

100

Aritmtica Digital

8. Aritmtica Digital

8.1. Introduo
Uma mquina digital (computadores e calculadoras) manipula e armazena
dados na forma binria. Dessa forma, as operaes aritmticas tambm sero
realizadas sobre os nmeros na forma binria.
A aritmtica digital no muito diferente da aritmtica tradicional (base 10).
As operaes de adio, subtrao, multiplicao e diviso so praticamente as
mesmas, a no ser pelo nmero de algarismos usados nessas operaes: 2.

8.2. Adio Binria


A adio decimal mostrada a seguir:
3 7 6
+4 6 1
8 3 7
A adio feita a partir do algarismo menos significativo. Quando a adio
resulta em um valor maior que 9 ocorre um carry (vai um) para a prxima posio.
Na adio binria podemos encontrar apenas quatro possibilidades:
0+0=0
0+1=1
1+0=1
1 + 1 = 10 (0 + carry 1 para a prxima posio)
Por exemplo:
+ 011
110
1001

11,011
10,110
110,001

8.3. Representao de Nmeros com Sinal


Em sistemas digitais, os nmeros binrios so armazenados e manipulados
em conjuntos de flip-flops, os registradores. Um registrador com 6 flip-flops pode
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

101

Aritmtica Digital
armazenar nmeros binrios de 000000 a 111111 (0 a 6310), representando a
magnitude do nmero.
Como os computadores e calculadoras podem operar com nmeros positivos
e negativos, uma maneira de representar nmeros positivos e negativos mostrada
na Figura 3.1.
A6

A5

A4

A3

A2

A1

A0

Bit de Sinal (+)

= +5210

Magnitude = 5210

A6

A5

A4

A3

A2

A1

A0

Bit de Sinal (-)

= -5210

Magnitude = 5210

Figura 8.1: Representao de nmeros positivos e negativos.


O bit A6 chamado bit de sinal, ou seja, ele determina qual o sinal do
nmero. Esse nmero possui magnitude de 6 bits mais um bit de sinal.
Embora esse sistema seja direto, computadores e calculadoras no o utilizam
normalmente porque a implementao do circuito mais complexa. O sistema de
representao de nmeros binrios com sinal mais utilizado o sistema de
complemento a 2.

8.3.1. Forma do Complemento a 1


O complemento a 1 de um nmero binrio obtido substituindo-se cada 0 por
1 e cada 1 por 0. Isso pode ser visto a seguir:
1

8.3.2. Forma do Complemento a 2


O complemento a 2 de um nmero binrio obtido tomando-se o
complemento a 1 do nmero e adicionando-se 1 na posio do bit menos
significativo. Por exemplo:

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

102

Aritmtica Digital
1

1 Equivalente binrio de 4510

0 Complemento a 1

1 Adiciona-se 1
0

1 Complemento a 2 do nmero binrio original

8.4. Representao de Nmeros com Sinal Usando Complemento a 2


O sistema de complemento a 2 para representar nmeros com sinal funciona
do seguinte modo:

Se o nmero positivo, a magnitude mostrada na sua forma binria direta e um


bit de sinal 0 colocado na frente do bit mais significativo (MSB).

Se o nmero negativo, a magnitude representada na sua forma de


complemento a 2 e um bit de sinal 1 colocado na frente do bit mais significativo
(MSB).
A6

A5

A4

A3

A2

A1

A0

Bit de Sinal
(+)

= +4510

Binrio direto

A6

A5

A4

A3

A2

A1

A0

Bit de Sinal (-)

= -4510

Complemento a 2

Figura 8.2: Representao de nmeros positivos e negativos usando complemento


a 2.
8.4.1. Negao
A negao a operao que converte um nmero positivo no seu negativo
equivalente ou um nmero negativo no seu positivo equivalente. Por exemplo:
0

1 = +9 (nmero binrio original)

1 = -9 (complemento a 2, negar)

1 = +9 (negar novamente)

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

103

Aritmtica Digital
8.4.2. Faixa de Representao do Complemento a 2
A faixa completa de valores que pode ser representada no sistema de
complemento a 2 que tem N bits de magnitude :
-2N a +(2N-1)
Por exemplo, com N = 3 bits, a faixa de nmeros sinalizados mostrada na
Tabela 4.1.

Tabela 8.1: Faixa de nmeros sinalizados.


Valor Decimal

Complemento a 2

+7 = 23 1

0111

+6

0110

+5

0101

+4

0100

+3

0011

+2

0010

+1

0001

0000

-1

1111

-2

1110

-3

1101

-4

1100

-5

1011

-6

1010

-7

1001
3

-8 = -2

1000

Por exemplo, com N = 7 bits, mais um bit de sinal, a faixa de valores fica:
100000002 = -27 = -12810
011111112 = 28 = +12710

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

104

Aritmtica Digital
8.4.3. Adio no Sistema de Complemento a 2
Vamos analisar vrios casos de adio:
a) Dois nmeros positivos: A adio de dois nmeros positivos direta.
+9

0 1001

+4

0 0100

+13

0 1101

b) Um nmero positivo e um outro menor e negativo: O nmero negativo deve estar


na forma de complemento a 2.
+9

0 1001

-4

1 1100

+5

1 0 0101

A soma feita sobre todos os bits, inclusive os bits de sinal. O carry (vai um)
gerado na ltima posio (MSB) sempre descartado.
c) Um nmero positivo e um outro maior e negativo:
-9

1 0111

+4

0 0100

-5

1 1011

-9

1 0111

-4

1 1100

-13

1 1 0011

d) Dois nmeros negativos:

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

105

Aritmtica Digital
e) Dois nmeros iguais em magnitude mas de sinais contrrios:
+9

0 1001

-9

1 0111

1 0 0000

8.4.4. Subtrao no Sistema de Complemento a 2


A operao de subtrao no sistema de complemento a 2, na verdade,
envolve uma operao de adio. Quando subtramos um nmero binrio (o
subtraendo) de outro nmero binrio (minuendo), usamos o seguinte procedimento:

Negar o subtraendo.

Adicionar o nmero obtido ao minuendo.


Por exemplo, +9 (+4) = +5
+9

0 1001

+4

0 0100

+9

0 1001

-4

1 1100

+5

1 0 0101

8.4.5. Overflow Aritmtico

+8:

O overflow aritmtico ocorre quando temos, por exemplo, a adio de +9 e


+9

0 1001

+8

0 1000
1 0001

O resultado esperado seria +17 mas a resposta tem um sinal negativo e uma
magnitude incorreta. A representao do 17 precisa de mais de quatro bits,
ocasionando um erro de overflow. O overflow pode ocorrer sempre que dois
nmeros positivos ou dois nmeros negativos esto sendo somados.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

106

Aritmtica Digital
8.5. Multiplicao de Nmeros Binrios
A multiplicao de nmeros binrios mostrada abaixo:
1001 = 910
1011 = 1110
1001
1001
0000
1001
1100011 = 9910
Na multiplicao acima os bits de sinais no foram usados. Observe que o
primeiro multiplicando (1001) deslocado para a esquerda com relao ao segundo
multiplicando (1011). Depois disso, os resultados parciais so somados para obter o
produto final.

8.5.1. Multiplicao no Complemento a Dois


A multiplicao no complemento a dois feita do mesmo modo descrito
anteriormente, desde que os dois multiplicandos estejam na forma binria
verdadeira.
Se os nmeros a serem multiplicados forem positivos a multiplicao feita
conforme mostrado anteriormente e o bit de sinal 0. Se os nmeros forem
negativos, eles devem ser convertidos para a forma binria verdadeira e o resultado
ser positivo (bit de sinal igual a 0).
Quando os nmeros a serem multiplicados tiverem sinais opostos, o nmero
negativo deve ser convertido para a forma binrio verdadeira atravs do
complemento a dois. Como resultado esperado negativo, deve ser aplicado o
complemento a dois e o bit de sinal ser 1.

8.6. Diviso de Nmeros Binrios


A diviso binria mostrada a seguir:

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

107

Aritmtica Digital
1001 11
011

11

0011
11
0
A diviso binria igual diviso decimal. A diviso de nmeros com sinal
feita de maneira idntica multiplicao, onde os nmeros negativos so
transformados em positivos atravs do complemento a dois.

8.7. Adio de Nmeros BCD


Muitos computadores e calculadoras usam o cdigo BCD para representar
nmeros decimais. Na operao de adio usando nmeros representados pelo
cdigo BCD devem ser levadas em considerao duas possibilidades:

Soma menor ou igual a 9 Por exemplo, 5 + 4:


5

0101

+4

+0100

1001

Outro exemplo, 45 + 33:


45

0100

0101

+33

+0011

+0011

78

0111

1000

A soma de cada dgito no gerou nenhum vai-um (carry).

Soma maior do que 9 Por exemplo, 6 + 7:


6

0110

+7

+0111

13

1101

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

108

Aritmtica Digital
O resultado da soma no um cdigo BCD, j que o resultado um nmero
maior do que 9. O resultado esperado seria 0001 0011 (13 BCD) e para corrigir isso
devemos somar ao resultado o cdigo 0110 (6 BCD), ou seja:
0110

6 (BCD)

+0111

7 (BCD)

1101

soma > 9

0110

soma 6

0001 0011

13 (BCD)

8.8. Aritmtica Hexadecimal


Nmeros hexadecimais so amplamente utilizados na programao de
computadores em linguagem de mquina e na especificao de endereos de
memria de computadores.

8.8.1. Adio em Hexadecimal


O procedimento para a adio em hexadecimal o seguinte:

Some os dois dgitos hexadecimais em decimal, inserindo mentalmente o decimal


equivalente para os dgitos maiores do que 9;

Se a soma menor ou igual a 15, ele pode ser expresso por um dgito
hexadecimal;

Se a soma maior ou igual a 16, subtraia 16 e coloque um carry na prxima


posio.
Por exemplo:
58
+4B
A3

8.8.2. Subtrao em Hexadecimal


Um modo eficiente de representar nmeros binrios atravs dos nmeros
hexadecimais. A subtrao hexadecimal utiliza o mesmo mtodo dos nmeros
binrios: o complemento a dois do subtraendo somado ao minuendo e qualquer
carry da posio MSD dever ser descartado.
O complemento a dois de um nmero hexadecimal mostrado a seguir:
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

109

Aritmtica Digital

73A

Nmero hexadecimal

0111 0011 1010 Converte para binrio


1000 1100 0110 Complemento a 2
8C6

Converte para hexadecimal

Um outro mtodo mostrado a seguir:

5
+1

8.9. Circuitos Aritmticos


A funo essencial de computadores e calculadoras a realizao de
operaes aritmticas. Um bloco chamado Unidade Lgica e Aritmtica (ULA)
responsvel pelas operaes aritmticas em um computador.

8.9.1. Unidade Lgica e Aritmtica


O principal objetivo de uma ULA aceitar dados binrios armazenados na
memria e executar as operaes lgicas e aritmticas sobre estes dados de acordo
com as instrues da unidade de controle.
A Figura 8.3 mostra os principais blocos funcionais de uma ULA.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

110

Aritmtica Digital

Figura 8.3: Blocos funcionais de uma ULA.


A ULA constituda de, pelo menos, dois registradores: o registrador B e o
registrador acumulador. Ela tambm possui lgica combinacional que realiza as
operaes lgicas e aritmticas sobre os nmeros binrios armazenados nos
registradores B e acumulador.
Por exemplo, os passos para a execuo de uma operao de adio so
mostrados a seguir:

A unidade de controle recebe uma instruo da unidade de memria


especificando que um nmero armazenado em uma posio particular de
memria deve ser adicionado ao nmero que est armazenado no acumulador;

O nmero a ser adicionado transferido da memria para o registrador B;

O nmero no registrador B e o nmero no acumulador so somados nos circuitos


lgicos (ao comando da unidade de controle). O resultado enviado para o
acumulador para ser armazenado.

8.9.2. Somador Binrio Paralelo


Vamos analisar a seguinte operao de adio de dois nmeros binrios:

Acumulador

Registrador B

Soma

Carry

Podemos ver que cada bit das parcelas somado para gerar um bit no
resultado da adio. No caso de um carry (vai-um), esse tambm somado, ou
seja:

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

111

Aritmtica Digital

8.4.

C4 C3 C2 C1 C0

Carry

A4 A3 A2 A1 A0

Registrador A

B4 B3 B2 B1 B0

Registrador B

S4 S3 S2 S1 S0

Soma

O diagrama de blocos de um somador binrio paralelo mostrado na Figura

Figura 8.4: Diagrama em blocos de um somador binrio paralelo.


O bloco SC #0 chamado somador completo porque soma bits A0 e B0 das
parcelas e ainda um possvel bit C0 de carry.

8.9.3. Projeto de um Somador Completo


O bloco do somador completo possui trs entradas (A, B e CIN) e duas sadas
(S e COUT). As entradas A e B so os bits a serem adicionados e CIN o carry do bit
anterior. A sada S o resultado da adio e COUT a sada de carry, indicando um
vai-um.
A Tabela 8.2 relaciona todos os possveis casos de uma adio.

Figura 8.5: Bloco lgico do somador completo de 1 bit.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

112

Aritmtica Digital
Tabela 8.2: Relao entre as entradas e as sadas de um bloco somador completo.
Bit de
Bit de
Bit de
entrada da entrada da entrada do
carry
1 parcela 2 parcela

COUT:

Bit de
sada da
soma

Bit de
sada do
carry

CIN

COUT

Pelo mtodo do Mapa de Karnaugh podemos encontrar a expresso para S e


S = A.B.CIN + A.B.CIN + A.B.C IN + A.B.CIN = A [ B CIN

C OUT = A.CIN + B.CIN + A.B


A Figura 8.6 mostra o circuito de um somador completo (SC).

Figura 8.6: Circuito lgico do somador completo de 1 bit.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

113

Aritmtica Digital
A Figura 8.7 mostra um circuito de um somador paralelo completo de 4 bits
com registrador.

Figura 8.7: Circuito lgico do somador paralelo completo de 4 bits.


O procedimento para uma operao de adio o seguinte:
-

Pulsar CLEAR para fazer registrador A = 0000;

Colocar a primeira parcela a ser somada nas entradas D3D2D1D0 (esse dado
pode estar vindo de uma memria). Pulsar LOAD para que as entradas sejam
transferidas para o registrador B;

Pulsar TRANSFER para a realizao da operao de adio do contedo do


registrador A com o contedo do registrador B. Nesse caso, o valor de B
transferido para A, resultando A = B;

Colocar a segunda parcela a ser somada nas entradas D3D2D1D0. Pulsar LOAD
para que as entradas sejam transferidas para o registrador B;

Pulsar TRANSFER para a realizao da operao de adio do contedo do


registrador A com o contedo do registrador B. O resultado da adio est no
registrador A (sadas).

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

114

Aritmtica Digital
8.9.4. Somador Paralelo Integrado
Os circuitos integrados 7483A, 74LS83A, 74283 e 74LS283 so somadores
paralelos de quatro bits.

8.9.5. Ligao em Cascata de Somadores Paralelos


Blocos de somadores podem ser associados em cascata de forma a efetuar
adies de nmeros binrios maiores. Por exemplo, se dois somadores de quatro
bits forem associados em cascata podemos efetuar adies de nmeros com oito
bits.

8.9.6. Circuito Integrados de ULAs


As ULAs so circuitos capazes de realizar diversas operaes lgicas e
aritmticas sobre os dados binrios de entrada. Dentre essas operaes podemos
citar:
-

Operao Clear;

Operao Soma;

Operao Subtrao;

Operao EX-OR;

Operao OR;

Operao AND;

Operao PRESET.

Os circuitos integrados 74LS382 e 74HC382 so ULAs que possuem as


caractersticas acima citadas.
O 74LS181/HC181 uma ULA de quatro bits e tem at 16 operaes
diferentes. O 74LS881/HC881 similar ao circuito integrado 181, mas tem a
capacidade de realizar algumas operaes lgicas adicionais.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

115

Converso Digital-Analgica

9. Converso Digital-Analgica

9.1. Interface com o Mundo Analgico

Quantidade Digital Valor especificado entre duas possibilidades (0 ou 1), alto


ou baixo, verdadeiro ou falso. Para a lgica TTL:
0 V a 0,8 V = 0 Lgico
2 V a 5 V = 1 Lgico

Quantidade Analgica Assume qualquer valor dentro de uma faixa contnua


de valores e, mais importante, seu valor exato significativo.

9.2. Sistema Digital Interfaceando com Grandezas Analgicas

Figura 9.1: Sistema digital interfaceando com grandezas analgicas.


Elementos:
1) Transdutor
2) Conversor A/D
3) Sistema digital (controlador, computador, etc.)
4) Conversor D/A
5) Atuador

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

116

Converso Digital-Analgica
9.3. Converso Digital Analgica (D/A)
Processo pelo qual um valor representado digitalmente convertido para uma
tenso ou corrente, que proporcional ao valor digital.

Figura 9.2: Conversor digital-analgico de 4 bits.


Tabela 9.1: Relao entre os valores digitais e a sada analgica.

Pesos da Entrada

VOUT (V)

10

VOUT (V)

11

12

13

14

15

VREF utilizada para determinar a sada de fundo de escala ou o mximo


valor que o conversor D/A pode produzir. Equacionando temos:
Sada Analgica = K * Entrada Digital
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

117

Converso Digital-Analgica
Onde K = fator de proporcionalidade, normalmente constante para um
conversor D/A em particular conectado a uma tenso de referncia fixa. Para o
exemplo acima:
K=

Sada Analgica 15 V
=
= 1V
Entrada Digital
15

9.3.1. Resoluo (Tamanho do Degrau)


a menor alterao que pode ocorrer na sada analgica como resultado de
uma mudana na entrada digital. Para o exemplo anterior, a resoluo igual a 1 V.

Figura 9.3: Resoluo do conversor digital-analgico de 4 bits.

Resoluo = K =

A FS
2N 1

Onde:
AFS = Sada de fundo de escala
N = nmero de bits

9.3.2. Resoluo Percentual


A resoluo percentual a porcentagem da sada de fundo de escala:
Resoluo(%) =

Tamanho do degrau
* 100
Fundo de escala

Resoluo(%) =

1V
* 100 = 6,67 %
15 V

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

118

Converso Digital-Analgica
9.4. Cdigo de Entrada BCD

Figura 9.4: Conversor digital-analgico BCD de 8 bits.


Tabela 9.2: Peso dos bits de um conversor BCD.
MSD

LSD

D1

C1

B1

A1

D0

C0

B0

A0

8,0

4,0

2,0

1,0

0,8

0,4

0,2

0,1

Cada grupo de cdigo de quatro bits pode variar de 0000 a 1001,


representando de 00 at 99. A tenso mxima na sada do conversor 9,9 V.

9.5. Conversor D/A com Amplificador Operacional

Figura 9.5: Amplificador inversor com operacional.

Ganho G =

OUT

- VOUT R 0
=
VIN
R
1

0 *V
IN
R
1

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

119

Converso Digital-Analgica
9.5.1. Somador

Figura 9.6: Somador com amplificador operacional.


R

R
R
R
VOUT = 0 * V + 0 * V + 0 * V + ... + 0 * V
R n
R 1 R 2 R 3
2
n
3
1

A Figura 9.7 mostra um conversor D/A de quatro bits. As entradas A, B, C, D


possuem valores de 0 ou 5 V.

Figura 9.7: Conversor digital-analgico de 4 bits usando amplificador operacional.


Equao:

V
V
V

VOUT = V + C + B + A
D
2
4
8

Por exemplo, VD = VB = 5 V e VC = VA = 0 V.
0 5 0

VOUT = 5 + + + = 6,25V
2 4 8

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

120

Converso Digital-Analgica

Resoluo = peso do LSB = 5 / 8 = 0,625V

ou Afs / (2N 1) = 9,375 / 15 = 0,625V

Peso de cada bit:

A = 0,625 V
B = 1,25 V
C = 2,5 V
D = 5,0 V
Para Rf = 500 , a sada do fundo de escala reduzida por um fator 2 e cada
peso de entrada ser 2 vezes menor que os valores originais. Sendo assim, a sada
de fundo de escala = -9,375 / 2 = -4,688 V.

9.6. Fatores Importantes na Preciso da Converso


1) Preciso dos resistores de entrada e de realimentao (podem ser facilmente
encontrados);
2) Preciso dos nveis de tenso das entradas (consegue-se com circuitos
auxiliares).

Figura 9.8: Conversor D/A com fonte de referncia de preciso.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

121

Converso Digital-Analgica
9.7. Conversores D/A com Sada em Corrente

Figura 9.9: Conversor D/A com sada em corrente.


Admitindo-se Vref = 10 V, R = 10 K e RL muito menor do que R, temos:
IOUT = VREF / R = 1 mA -> peso do MSB (comandado pelo bit B3). Logo:
B2  I = 0,5 mA
B1  I = 0,25 mA
B0  I = 0,125 mA  resoluo do D/A
Sada de fundo de escala  Iout = 1 + 0,5 + 0,25 + 0,125 = 1,875 mA.

9.8. Rede R/2R


Os conversores D/A que utilizam resistores ponderados tm algumas
limitaes na prtica: os resistores dos bits mais e menos significativos tm grande
diferena de valores e muitas vezes no existem resistores de preciso nas razes
escolhidas.
A rede R/2R arranjada utilizando apenas 2 valores de resistores.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

122

Converso Digital-Analgica

Figura 9.10: Conversor D/A com rede R/2R.


Se analisarmos o circuito veremos que o valor Vout de sada ser:
Vout = -(Vref / 8) * B
Onde B o valor binrio (0 a 15 decimal).

9.9. Especificaes de Conversores D/A

Resoluo - Depende apenas do nmero de bits (10 bits tm maior resoluo do


que 8 bits).

Preciso - Definida a partir dos erros de fundo de escala e linearidade. O erro de


fundo de escala mximo desvio da sada do conversor D/A em relao ao valor
esperado. O erro de linearidade mximo desvio em tamanho do degrau do
tamanho de degrau ideal. Para um conversor D/A com degrau 0,625 V e erro de
linearidade de 0,01% F.S. o tamanho do degrau real poderia estar at 0,9375 mV
do esperado.

Erro de Offset - Em condies ideais, a sada do conversor D/A ser zero volt
quando a entrada binria for zero. Na prtica, pode existir uma tenso muito
pequena que ser somada tenso de sada, ocasionando o erro de offset.
Muitos conversores D/A possuem um ajuste externo de offset que nos permite
zerar o offset.

Tempo de Estabilizao - Tempo necessrio para a sada do conversor D/A ir


de zero at o fundo de escala quando a entrada binria muda todos os bits de 0
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

123

Converso Digital-Analgica
para 1. Tempos de estabilizao variam de 50 ns a 10 s. Sadas em corrente
so mais rpidas do que em tenso.

Monotonicidade - Um conversor D/A monotnico se sua sada aumenta


conforme a entrada binria incrementada de um valor para o prximo.

9.10. Circuito Integrado de Converso D/A AD7524

Figura 9.11: Conversor D/A AD7524.


Caractersticas:
- 8 bits
- rede R/2R
- sada em corrente/tenso
- tempo de estabilizao de 100 ns
- preciso de fundo de escala de 0,2% F.S.
- Vref varia de 0 a +25 V ou 0 a -25 V

9.11. Aplicaes de Conversores D/A

Controle A sada digital de um computador pode ser convertida em um sinal de


controle analgico para ajustar a velocidade de um motor ou a temperatura de
um forno, ou controlar quase qualquer varivel fsica.
Teste Automtico Sinais analgicos podem ser gerados por computadores
para testes de circuitos analgicos, cuja resposta ser convertida para um valor
digital e ser levada a um computador onde ser armazenada e analisada.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

124

Converso Digital-Analgica
-

Reconstruo de Sinais Em vrias aplicaes um sinal analgico


digitalizado (converso A/D) e armazenado. Um conversor D/A pode ser usado
para converter dados digitalizados em sinais analgicos novamente.
Converso A/D Muitos conversores A/D utilizam conversores D/A em seus
circuitos.
Conversores D/A Seriais Muitas destas aplicaes envolvem
microprocessadores, que enviam serialmente um conjunto de bits que define qual
dos conversores D/A sero usados e qual o sinal a ser convertido.

Figura 9.12: Conversor D/A serial com vrias sadas.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

125

Converso Analgico-Digital

10. Converso Analgico-Digital

10.1. Introduo
Um conversor A/D recebe uma tenso analgica de entrada e depois de certo
tempo produz um cdigo digital de sada que representa a entrada analgica. Muitos
tipos importantes de conversores A/D possuem um conversor D/A como parte de
seus circuitos. A Figura 10.1 mostra o esquema bsico de um tipo de conversor A/D.

Figura 10.1: Diagrama em blocos de um conversor analgico-digital.


Funcionamento:
1) Um pulso START inicia a operao;
2) Numa taxa determinada pelo CLOCK, a unidade de controle modifica o valor
armazenado no registrador;
3) O valor binrio armazenado no registrador convertido para uma tenso
analgica, Vax, pelo conversor D/A;
4) O amplificador operacional compara Vax com a entrada analgica Va. Se Vax <
Va, a sada do comparador fica em ALTO. Quando Vax > Va (por, no mnimo,
uma tenso limiar Vt), a sada do comparador vai para BAIXO e pra o processo
de modificar o nmero no registrador. Neste ponto Vax Va, dentro da resoluo
e preciso do sistema;
5) A lgica de controle sinaliza o fim da converso (EOC).

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

126

Converso Analgico-Digital
10.2. Conversor A/D de Rampa Digital
O conversor A/D de rampa digital utiliza um contador como registrador e um
sinal de clock que incrementa esse contador at que Vax Va. A Figura 10.2 mostra
o funcionamento desse tipo de conversor A/D.

Figura 10.2: Conversor analgico-digital tipo rampa digital.

10.3. Preciso e Resoluo de Conversores A/D


Uma fonte de erro no mtodo da rampa digital que o tamanho do degrau ou
resoluo do conversor D/A interno a menor unidade de medida. Mesmo tornando
o tamanho do degrau menor sempre haver uma diferena entre a quantidade
analgica (real) e o valor digital associado a ela. Isto chamado erro de
quantizao.
Esse erro pode ser minimizado aumentando-se o nmero de bits do contador
e do conversor D/A.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

127

Converso Analgico-Digital
10.3.1. Tempo de Converso tc
O tempo de converso corresponde ao intervalo de tempo entre o fim do
pulso START e a ativao da sada EOC . O tempo mximo de converso :
tc (max) = (2N-1) * Perodo de Clock
A desvantagem do mtodo de rampa digital que o tempo de converso
aumenta com o nmero de bits.

10.4. Aquisio de Dados


Em muitas aplicaes, dados analgicos devem ser digitalizados e
transferidos para o microcomputador. Este processo chamado aquisio de dados.
Numa aplicao de armazenamento (por exemplo, udio) os dados so
transferidos para a memria do computador e depois podem ser convertidos
novamente em sinais analgicos. Em aplicaes de controle, esses dados
constituem informaes e, atravs delas, o computador ir acionar ou no suas
sadas de controle.

Figura 10.3: Sistema digital utilizando um conversor A/D para aquisio de dados.

10.5. Reconstruo de Sinais Digitalizados


Sinais digitalizados podem ser recuperados usando-se conversores D/A e
filtros RC passa-baixa. Para sinais em baixa frequncia isso suficiente.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

128

Converso Analgico-Digital

Figura 10.4: Sinal analgico amostrado por um conversor A/D e sinal reconstrudo
por um conversor D/A e filtros passa-baixa.
10.6. Conversor A/D de Aproximaes Sucessivas
Este conversor um dos tipos mais usados, principalmente porque o tempo
de converso muito menor que o tempo do conversor A/D de rampa. Alm disso,
esse tempo fixo e no depende da entrada analgica.

Figura 10.5: Conversor analgico-digital de aproximaes sucessivas.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

129

Converso Analgico-Digital
A principal diferena desse conversor para o conversor A/D de rampa que o
conversor de aproximao sucessiva no usa contador e sim um registrador onde
cada bit modificado at que o dado contido no registrador seja o equivalente digital
da entrada analgica.
Como exemplo, podemos considerar um conversor A/D de aproximaes
sucessivas de 4 bits com resoluo de 1 V e Va = 10,4 V.

10.6.1. Sequncia
A lgica de controle limpa todos os bits no registrador (0000). Com isso, Vax =
0 e ento a sada do comparador est em ALTO. O bit mais significativo colocado
em 1 pela lgica de controle (1000). Esse cdigo produz Vax = 8 V.
Como Vax < Va, ento a sada do comparador continua em ALTO. Este nvel
alto informa para a lgica de controle que o ajuste desse bit (MSB) no fez Vax
exceder Va e, portanto, esse bit deve ser mantido em 1.
Agora o prximo bit colocado em 1 (1100). Isso gera Vax = 12 V e torna Vax
> Va. A sada do comparador vai para BAIXO e esso sinaliza para a lgica de
controle que o valor Vax muito grande e ento a lgica de controle coloca esse bit
em 0. Assim o contedo do registrador volta a 1000 e Vax = 8 V.
O prximo bit colocado em 1 (1010) e Vax vai para 10 V. Ento Vax < Va,
resultando nvel ALTO na sada do comparador, sinalizando para a lgica de
controle para manter esse bit em 1.
O ltimo bit colocado em 1 (1011) gerando Vax = 11 V. Como Vax > Va, a
lgica de controle coloca esse bit em 0. Nesse instante, todos os bits foram testados
e o resultado est no registrador. Esse conversor gera um equivalente digital igual a
10 V, menor que a tenso analgica de entrada.

Figura 10.6: A tenso Vax em funo do tempo.


10.6.2. Tempo de Converso
Como a operao de converso executada bit a bit e o processamento de
cada bit corresponde a um ciclo de clock, o tempo total de converso :
tc = N * (Perodo de clock)
Esse tempo constante, no importando o valor de Va.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

130

Converso Analgico-Digital
10.7. ADC0804 Conversor A/D de Aproximaes Sucessivas

Figura 10.7: Conversor A/D ADC0804.


Caractersticas:

Tem duas entradas analgicas, Vin(+) e Vin(-), para permitir entradas


diferenciais. A entrada analgica real, Vin, a diferena das tenses aplicadas
nestes pinos (Vin = Vin(+) - Vin(-)). Para medies comuns, Vin(-) conectada ao
terra e a entrada analgica Vin(+). Esse conversor utiliza Vcc = +5V como
referncia e entrada analgica de 0 a 5V.

A tenso analgica convertida em uma sada digital de 8 bits. A sada digital


tem um buffer tristate. A resoluo 19,6 mV.

Possui gerador de clock interno onde f =

1
, onde R e C so componentes
1,1.R.C

externos.

Com uma frequncia de 606 kHz, o tempo de converso de aproximadamente


100 s.

Possui conexes de terra separadas para tenses digitais e analgicas. O terra


digital muito ruidoso devido s rpidas mudanas de estado do circuito.

CS (Chip Select - Seleo do Chip) - esta entrada deve estar em nvel BAIXO
para que as entradas RD e WR tenham efeito. Com CS em ALTO, as sadas
digitais ficaro em alta impedncia.

RD (Read - Leitura) - Sinal usado para habilitar os buffers da sada digital. Com
CS = RD = 0, as sadas digitais contero o resultado da ltima converso.

WR (Write - Escrita) - Um pulso para BAIXO neste pino inicia nova converso.

INTR (Interrupt - Interrupo) - Este sinal de sada vai para ALTO no incio da
converso e para BAIXO no fim da converso.

Vref/2 - Usado para mudar a tenso de referncia.


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

131

Converso Analgico-Digital
Tabela 10.1: Relao entre Vref e a faixa de tenso de entrada do ADC0804.
Vref / 2 (V)

Faixa Analgica de Entrada (V)

Resoluo (mV)

Em aberto

0-5

19,6

2,25

0-4,5

17,6

2,0

0-4

15,7

1,5

0-3

11,8

Clock Out - Um resistor conectado neste pino para utilizao do clock interno.

Clock In - Usado como entrada de clock externo ou conexo com capacitor


quando se utiliza clock interno.

10.8. Conversor A/D Flash


o conversor A/D de maior velocidade mas requer um nmero muito maior
de circuitos. Por exemplo, um conversor A/D flash de 6 bits necessita de 63
comparadores analgicos enquanto uma unidade com 8 bits necessita de 255.

Figura 10.8: Conversor A/D Flash.


Os resistores formam um divisor de tenso que sero utilizadas como
referncia para os comparadores analgicos. Se a tenso analgica Va for maior
que a tenso de referncia dos comparadores, estes iro para nvel BAIXO e a
lgica de prioridade gerar o cdigo correspondente.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

132

Converso Analgico-Digital
Para aumentar a resoluo teramos que aumentar o nmero de resistores e
consequentemente dos comparadores e o tamanho do codificador de prioridade. De
um modo geral, o conversor flash o mais rpido porque a converso direta, mas
necessita de 2N-1 comparadores e 2N resistores, alm da lgica do codificador de
prioridade aumentar.

10.9. Tempo de Converso


O conversor flash no usa clock e por isso seu tempo de converso s
depende do atraso dos circuitos (comparadores e codificador). Esse tempo menor
que 20 ns.

10.10. Outros Mtodos de Converso A/D


10.10.1. Conversor A/D de rampa digital crescente/decrescente (conversor A/D
rastreador)
Esse conversor utiliza um contador projetado para contar crescentemente
sempre que Vax < Va e contar decrescentemente se Vax > Va. Assim a sada do
D/A (Vax) sempre ir convergir para Va. Quando houver um cruzamento das tenses
o comparador muda de estado e a lgica de controle indica fim da converso e o
valor digital est no contador. Esse tipo de conversor mais rpido que o conversor
A/D de rampa mas o tempo de converso ainda depende de Va.

10.10.2. Conversor A/D de rampa dupla


O conversor A/D de rampa dupla possui um dos tempos de converso mais
longos. A operao bsica desse conversor envolve a carga e a descarga linear de
um capacitor por meio de correntes constantes.

Figura 10.9: Carga e descarga do capacitor em um conversor A/D de rampa dupla.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

133

Converso Analgico-Digital
Inicialmente, o capacitor carregado num intervalo de tempo fixo T1 por uma
corrente constante derivada da tenso analgica de entrada, Va. No final desse
tempo, a tenso do capacitor ser proporcional a Va.
Agora o capacitor descarregado linearmente por uma corrente constante
derivada de uma tenso de referncia precisa, VREF. O tempo de descarga T2
medido por um contador e quando a descarga termina o contador pra. O valor no
contador proporcional tenso inicial do capacitor, ou Va.
As principais vantagens desse conversor A/D so: baixo custo e baixa
sensibilidade ao rudo e s variaes dos componentes decorrentes s mudanas
de temperatura. Por ter um tempo de converso relativamente alto, no so usados
em aplicaes de aquisio de dados. Esses conversores podem ser encontrados
em voltmetros ou multmetros digitais.

10.10.3. Conversor A/D de tenso-frequncia


O conversor A/D de tenso-frequncia mais simples do que os outros
conversores A/D porque no utiliza um conversor D/A. Em vez disso, ele usa um
oscilador controlado tenso linear (VCO voltage-controlled oscillator) que produz
uma frequncia de sada proporcional sua tenso de entrada.
A tenso analgica a ser convertida aplicada entrada do VCO para gerar
uma frequncia de sada. Essa frequncia levada para um contador para ser
contada por um intervalo de tempo fixo. O valor da contagem final proporcional ao
valor da tenso analgica.
A principal aplicao desse tipo de conversor A/D est em ambientes
industriais ruidosos, onde pequenos sinais analgicos devem ser transmitidos de
circuitos transdutores para um computador de controle.

10.10.4. Conversor A/D sigma-delta (-)


A Figura 10.10 mostra o circuito bsico de um conversor A/D sigma-delta.

Figura 10.10: Diagrama em blocos de um conversor A/D sigma-delta.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

134

Converso Analgico-Digital
A entrada analgica comparada com uma amostra anterior e a diferena
integrada. A sequncia de valores digitais obtidos processada por um filtro digital
complexo e depois de vrias amostragens o valor digital colocado na sada.
Para se ter um valor na sada filtro digital, a frequncia de amostragem desse
conversor A/D deve ser bastante alta, normalmente centenas de vezes a frequncia
mxima de entrada (oversampling). Tipicamente, uma amostra digital pode ter 24
bits de resoluo.
Esse tipo de conversor A/D bastante utilizado em instrumentao,
aplicaes de udio e vdeo, aquisio de dados, processamento digital de sinais
(DSP), etc.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

135

Memria

11. Memrias

11.1. Introduo
A principal vantagem dos sistemas digitais sobre os analgicos a
capacidade de armazenar grandes quantidades de informaes. Esta capacidade
que torna os sistemas digitais to versteis e adaptveis s diversas situaes.
Um dispositivo de memria conhecido o flip-flop. Grupos de flip-flops,
chamados registradores, so elementos de memria de alto desempenho que so
muito usados nas operaes internas de um computador. Outro dispositivo de
memria pode ser um capacitor onde os dados so armazenados como cargas.
Estes dois dispositivos so os principais elementos que formadores das
memrias dos sistemas digitais atuais.

11.2. Definio de Termos Bsicos

Clula de memria dispositivo ou circuito capaz de armazenar um bit. Por


exemplo, um flip-flop, um capacitor, etc.

Palavra de memria grupo de bits (clulas) em uma memria que representa


instrues ou dados.

Byte conjunto de 8 bits.

Capacidade nmero de bits que podem ser armazenados em um dispositivo de


memria.

a) Um chip de memria semicondutora especificado como 2K x 8. Quantas


palavras podem ser armazenadas neste chip? Qual o tamanho da palavra?
Quantos bits esse chip pode armazenar no total?
R: A memria possui capacidade de 2K = 2 x 1024 = 2048 palavras. Cada palavra
tem 8 bits (um byte). O nmero total de bits 2048 x 8 = 16384 bits.
b) Qual das memrias armazena mais bits: uma memria de 5M x 8 ou uma
memria que armazena 1M palavras com um tamanho de palavra de 16 bits?

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

136

Memria
R: 5M x 8 = 5 x 1048576 x 8 = 41943040 bits
1M x 16 = 1048576 x 16 = 16777216 bits
A memria de 5M x 8 armazena mais bits.

Densidade termo relativo capacidade. Se um dispositivo mais denso que


outro ele tem capacidade de armazenar mais bits no mesmo espao.

Endereo nmero que localiza a posio de uma palavra na memria.


Tabela 11.1: Endereo e contedo armazenado em uma memria.

Endereo

Contedo

000

Palavra 0

001

Palavra 1

010

Palavra 2

011

Palavra 3

100

Palavra 4

101

Palavra 5

110

Palavra 6

111

Palavra 7

Leitura ou busca operao na qual uma palavra binria localizada numa


determinada posio (endereo) de memria detectada e transferida para outro
dispositivo.
Escrita ou armazenamento operao na qual uma nova palavra colocada
numa determinada posio de memria.
Tempo de acesso tempo necessrio entre a memria receber uma nova
entrada de endereo e os dados se tornarem disponveis na sada da memria.
Este parmetro usado para medio de desempenho da memria.

Ciclo de Memria intervalo mnimo entre dois acessos sucessivos memria.

Memria voltil tipo de memria que necessita de aplicao de energia para


poder armazenar a informao.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

137

Memria
-

Memria de acesso aleatrio (RAM) memria onde o tempo de acesso o


mesmo para qualquer posio.
Memria de acesso sequencial (SAM) memria onde, para se localizar uma
determinada posio, preciso passar por todos os endereos. Por exemplo,
fitas magnticas.

Memria de leitura e escrita (RWM) memria que pode ser tanto lida como
escrita.

Memria somente de leitura (ROM) Memria onde as informaes


armazenadas s podem ser lidas.

Memria esttica tipo de memria onde os dados permanecem armazenados


enquanto existir energia, sem a necessidade de atualizao peridica da
informao.
Memria dinmica tipo de memria onde os dados permanecem armazenados
enquanto existir energia, mas com peridica atualizao da informao (Refresh).

11.3. Princpios de Operao das Memrias


Independente dos tipos de memrias existentes, o princpio bsico de
operao o mesmo:
-

Selecionar o endereo a ser acessado (leitura ou escrita);

Selecionar o tipo de operao: leitura ou escrita;

Se a operao for escrita, fornecer os dados de entrada;

Se a operao for leitura, os dados estaro disponveis na sada;

Habilitar a memria para que a operao seja concluda e desabilitar a memria


para que ela no responda s entradas de endereo e ao comando de
leitura/escrita.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

138

Memria

Figura 11.1: Diagrama de uma memria de 32 x 4.


11.3.1. Entradas de Endereos
Usando a memria mostrada na Figura 3.1, podemos notar que ela possui 5
entradas de endereo (A0 a A4). Logo existem 32 posies (2N, onde N o n de
bits) de armazenamento que podem ser ocupadas por palavras de 4 bits (D0 a D3).

11.3.2. A Entrada R / W
Esta entrada controla a operao que deve ser realizada na memria: leitura
(R Read) ou escrita (W Write). Quando esta entrada estiver em 1 ocorre a
operao de leitura, quando em 0 ocorre a operao de escrita.
Algumas memrias usam os smbolos W (escrita) ou WE (habilitao de
escrita) para identificar esta entrada.

11.3.3. Habilitao de Memria (ME)


A todo o momento a memria possui nveis lgicos em suas entradas e o pino
de habilitao de memria impede que ela responda a estes nveis lgicos, evitando
assim um acesso errneo nesta memria. Esta entrada pode ser identificada como
CE (chip enable) ou CS (chip select).

Exemplo: Uma determinada memria tem uma capacidade de 4K x 8. Quantas


linhas de entrada/sada de dados ela tem?
R: Oito, pois o tamanho da palavra de oito bits.
Quantas linhas de endereo ela tem?
R: A memria armazena 4K = 4 x 1024 = 4096 palavras. Tendo em vista que 4096 =
212, logo a memria tem 12 bits (linhas) de endereo.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

139

Memria
Qual a sua capacidade em bytes?
R: Um byte tem oito bits, ento esta memria tem uma capacidade de 4096 bytes.

11.4. Conexes da Memria com a CPU


As memrias RAM e ROM so interfaceadas com a CPU atravs de trs
grupos de linhas de sinais ou barramentos: barramentos de endereo, barramento
de dados e barramento de controle.

Figura 11.2: Conexes entre a CPU e as memrias.

Barramento de endereos barramento unidirecional que leva o endereo


proveniente da CPU para a memria para selecionar uma posio de memria.

Barramento de dados barramento bidirecional que transfere dados entre a


CPU e a memria.

Barramento de controle barramento que leva sinais de controle da CPU para


a memria.

Operao de escrita:
-

A CPU coloca o endereo binrio da posio de memria onde o dado deve ser
armazenado no barramento de endereos.

A CPU coloca o dado a ser armazenado no barramento de dados.

A CPU ativa as linhas de controle para a operao de escrita.

A memria decodifica o endereo e localiza a posio onde o dado deve ser


armazenado.

O barramento de dados transferido para a posio de memria.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

140

Memria
Operao de leitura:
-

A CPU coloca o endereo binrio da posio a ser lida da memria no


barramento de endereos.

A CPU ativa as linhas de controle para operao de leitura.

A memria decodifica o endereo e localiza a posio a ser lida.

A memria transfere o dado armazenado nesta posio para o barramento de


dados, onde a CPU vai busc-los.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

141

Memria Somente de Leitura (ROM)

12. Memria Somente de Leitura (ROM)

12.1. Introduo
A memria somente de leitura (ROM) um tipo de memria onde os dados
nela armazenados no so alterados ou no mudam com frequncia.

12.2. Diagrama em Blocos de uma ROM


O diagrama tpico de uma ROM mostrado na Figura 12.1.

Figura 12.1: Diagrama de uma ROM.


O sinal de controle CS (seleo do chip) habilita a operao de leitura da
posio indicada no barramento de endereos. O dado transferido para o
barramento de dados. Quando CS est em ALTO, as sadas da ROM ficam
desabilitadas (alta impedncia).

12.3. Arquitetura de uma ROM


Uma ROM constituda conforme a Figura 12.2.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

142

Memria Somente de Leitura (ROM)

Figura 12.2: Arquitetura interna de uma ROM (16 x 8).

Matriz de registradores onde os dados sero armazenados. Cada registrador


contm um nmero de clulas de memria igual ao tamanho da palavra utilizada.
Cada registrador tem duas entradas de habilitao (E): ambas devem estar em
ALTO para que os dados do registrador sejam colocados no barramento de
dados.
Decodificadores de endereos o barramento de endereo separado em
duas vias: a primeira seleciona a linha e a segunda seleciona a coluna onde o
registrador se localiza.

Exemplo: Qual o registrador que ser habilitado pelo endereo 1101? Que endereo
ir habilitar o registrador 7?

Buffers de sada o registrador que est habilitado pelas entradas de endereo


coloca seu contedo no barramento de dados. Estes dados vo para os buffers
de sada, que colocaro os dados na sada de dados externa, desde que CS
esteja em BAIXO. Se CS estiver em alto, os buffers de sada ficaro em alta
impedncia.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

143

Memria Somente de Leitura (ROM)


12.4. Temporizao de uma ROM
O atraso de propagao entre a aplicao dos sinais de entrada e o
aparecimento dos dados na sada, durante a operao de leitura, chamado tempo
de acesso (tACC). Existe outro parmetro de temporizao chamado tempo de
habilitao da sada (tOE), que representa o atraso entre a entrada CS e a sada de
dados vlidos.

Figura 12.3: Temporizao de uma ROM.

12.5. Tipos de ROM

ROM Programada por Mscara este tipo de ROM tem suas posies escritas
(programadas) pelo fabricante de acordo com as especificaes do cliente. Uma
mscara (tipo de negativo fotogrfico) usada para informar as conexes
eltricas do chip. Este tipo de ROM usado para armazenar tabelas ou
informaes pr-programadas como cdigos geradores de caracteres de
terminais de vdeo.
ROM Programvel (PROM) tipo de memria ROM onde a programao feita
apenas uma nica vez pelo usurio. Esta programao consiste na queima ou
no de um fusvel que corresponde a um bit de informao por um equipamento
chamado programador.
ROM Programvel e Apagvel (EPROM) tipo de memria ROM que pode ser
programada e apagada pelo usurio vrias vezes. O processo de programao
consiste em aplicar certos nveis de tenses que provocam a conduo
permanente ou no conduo de transistores MOS. O apagamento da memria
feito pela exposio dos circuitos internos luz ultravioleta atravs de uma
janela.
PROM Apagvel Eletricamente (EEPROM) uma melhoria em relao s
EPROMs, pois pode ser tanto programada como apagada eletricamente. Assim,
elas podem ser programadas e apagadas no prprio circuito, sem a necessidade
de luz ultravioleta ou um programador especial.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

144

Memria Somente de Leitura (ROM)


-

CD ROM tipo de armazenamento somente para leitura que utiliza tecnologia


laser. Os bits so definidos pela reflexo ou no de um feixe laser apontado para
um ponto do disco.
Memria Flash tipo de memria no-voltil, apagvel eletricamente como a
EEPROM, mas com densidades e custos semelhantes aos da EPROM, com o
mesmo tempo de acesso de ambas.

Figura 12.4: Comparao entre tipos de ROM.


12.5.1. Aplicaes de ROMs

Firmware armazenamento de programas ou dados que devem estar


disponveis no processo de inicializao de sistemas microprocessados. Por
exemplo, produtos como videocassetes, CD players, fornos microondas etc.
Memria de Bootstrap tipo de programa armazenado em uma ROM que trata
da inicializao do hardware de um computador. Aps a inicializao, o programa
de bootstrap chama o sistema operacional e o computador comea a executar o
sistema operacional.
Tabela de Dados as ROMs so bastante utilizadas para armazenar tabelas de
dados que no variam. Por exemplo, tabelas trigonomtricas, cdigos ASCII, etc.
Conversor de Cdigos este tipo de aplicao toma valores expressos em um
determinado tipo de cdigo e produz uma sada expressa em outro cdigo. Por
exemplo, o cdigo BCD pode ser convertido para 7 segmentos por uma ROM.
Gerador de Funes basicamente, um gerador de funes um circuito que
produz formas de onda senides, triangulares e quadradas. Uma ROM com
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

145

Memria Somente de Leitura (ROM)


tabelas de valores armazenados e um conversor D/A podem ser usados para
gerar essas formas de onda.

Armazenamento Auxiliar dados podem ser armazenados em memrias ROM


apagveis (EPROM, EEPROM, FLASH), tornando essas memrias como
alternativa aos discos magnticos de armazenamento.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

146

Memria de Acesso Aleatrio (RAM)

13. Memria de Acesso Aleatrio (RAM)

13.1. Introduo
A memria de acesso aleatrio (RAM) semicondutora um tipo de memria
onde podemos tanto ler como escrever dados.
A principal vantagem de uma RAM o fato de ela poder ser escrita e lida
rapidamente com a mesma facilidade. Uma desvantagem seria o fato da RAM ser
voltil, isto , se a alimentao for desligada ela perde a informao.

13.2. Arquitetura de uma RAM


A arquitetura tpica de uma RAM mostrada na Figura 13.1.

Figura 13.1: Organizao Interna de uma RAM de 64 x 4.


A Figura 13.1 mostra uma RAM que armazena 64 palavras de quatro bits
(memria 64 x 4). Estas palavras tm endereos que vo de 0 a 63. Para selecionar
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

147

Memria de Acesso Aleatrio (RAM)


uma das 64 posies para escrita ou leitura, um endereo binrio fornecido ao
circuito decodificador. Cada endereo ativa uma sada do decodificador, habilitando
o seu registrador correspondente.

13.2.1. Operao de Leitura


A operao de leitura do contedo de um registrador feita da seguinte
maneira:

Coloca-se o endereo da posio de memria a ser lida no barramento de


endereos;

Indica-se a operao de leitura atravs da entrada R / W , colocando essa


entrada em ALTO;

Habilita-se o chip de memria para concluir a operao colocando a entrada CS


em BAIXO.

Quando a memria est habilitada para leitura, os buffers de entrada so


desabilitados e os buffers de sada so habilitados e o contedo da posio de
memria selecionada colocado nas quatro sadas de dados.

13.2.2. Operao de Escrita


A operao de escrita de um dado novo em um registrador selecionado feita
do seguinte modo:

Coloca-se o endereo da posio de memria a ser escrita no barramento de


endereos;

Coloca-se o dado a ser escrito no barramento de dados;

Indica-se a operao de escrita atravs da entrada R / W , colocando essa


entrada em BAIXO;

Habilita-se o chip de memria para concluir a operao colocando a entrada CS


em BAIXO.

Quando a memria est habilitada para escrita, os buffers de entrada so


habilitados e os buffers de sada so desabilitados e o contedo da posio de
memria selecionada perdido com a escrita do novo dado.
Quando a entrada CS (chip select seleo de chip) est em ALTO
(memria desabilitada), tanto suas entradas como suas sadas esto em tri-state
(alta impedncia), evitando assim escrita ou leitura errnea neste chip.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

148

Memria de Acesso Aleatrio (RAM)


13.3. RAM Esttica (SRAM)
Este tipo de memria armazena os dados enquanto for mantida a
alimentao. Suas clulas so compostas de flip-flops, e por isso seu contedo no
perdido enquanto houver alimentao.

13.3.1. Temporizao de uma RAM Esttica


Um computador utiliza RAMs como memrias principais e essas memrias
devem ser rpidas o suficiente para responderem aos comandos de leitura e escrita
que a CPU est constatemente realizando.

13.3.2. Ciclo de Leitura


O ciclo de leitura mostrado na Figura 13.2.

Figura 13.2: Ciclo de leitura de uma RAM esttica.


Onde:

trc = intervalo de durao do ciclo de leitura;


tacc = tempo de acesso RAM;
tco = tempo que a sada da RAM leva para sair de alta impedncia e ter um dado
vlido;
tod = tempo decorrido entre a desabilitao da RAM e o instante que as sadas da
RAM vo para alta impedncia.
Durante o ciclo de leitura, a CPU coloca um endereo no barramento de
endereos ligado RAM. Este endereo corresponde posio de memria que
deve ser lida.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

149

Memria de Acesso Aleatrio (RAM)


A CPU sinaliza a operao de leitura atravs de um nvel ALTO na entrada
R / W . A CPU habilita a memria colocando a entrada CS em nvel BAIXO. A RAM
responde a isso colocando o contedo da posio endereada nas sadas de dados.
Depois disso a memria desabilitada ( CS ALTO) e suas sadas ficam em tristate
(alta impedncia).

13.3.3. Ciclo de Escrita


O ciclo de escrita mostrado na Figura 13.3.

Figura 13.3: Ciclo de escrita de uma RAM esttica.


Onde:

twc = intervalo de durao do ciclo de escrita;


tas = tempo para estabilizao do barramento de endereos, antes de habilitar a
RAM;
tah = intervalo necessrio para que o barramento de endereos permanea estvel;
tw = tempo de escrita, onde CS e R / W ficam em BAIXO;
tds = tempo que os dados devem ser mantidos na entrada antes da desabilitao de
CS e R / W ;
tdh = tempo que os dados devem ser mantidos na entrada depois da desabilitao
de CS e R / W .
No ciclo de escrita, a CPU coloca um endereo estvel no barramento de
endereos. Nesse endereo o dado deve ser escrito. Ela coloca o dado a ser
armazenado no barramento de dados.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

150

Memria de Acesso Aleatrio (RAM)


A CPU sinaliza a operao de escrita, colocando nvel BAIXO na entrada
R / W . A CPU habilita a memria colocando a entrada CS em nvel BAIXO. O dado
transferido para a posio de memria indicada pelo endereo. A memria ,
ento, desabilitada ( CS ALTO) e suas sadas ficam em tristate.

13.3.4. Exemplos de Memrias Estticas

6264 8K x 8

62256 32K x 8

13.4. RAM Dinmica (DRAM)


Nesse tipo de memria a informao armazenada em pequenos
capacitores. Como existe uma tendncia normal dos capacitores se descarregarem,
h a necessidade de uma recarga (refresh refrescamento) desses capacitores. De
tempos em tempos (tipicamente de 2 a 8 ms) o bit armazenado no capacitor
atualizado.
Esse tipo de memria constitui a memria principal de um computador por
causa de sua alta capacidade e baixo consumo. Em relao velocidade, as RAM
estticas so mais rpidas.
A principal vantagem deste tipo de memria a simplicidade na sua
construo, alcanando, assim, alto grau de integrao.

13.4.1. Estrutura e Operao da RAM Dinmica


Simbolicamente uma clula de memria dinmica constituda conforme a
Figura 13.4.

Figura 13.4: Representao simblica de uma clula de memria dinmica.


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

151

Memria de Acesso Aleatrio (RAM)


Para escrever em uma clula, os sinais provenientes da decodificao de
endereos e da lgica de leitura/escrita fecham as chaves SW1 e SW2, mantendo
SW3 e SW4 abertas. Isto conecta a entrada de dados a C. Um nvel lgico 1 carrega
C e um nvel lgico 0 o descarrega. Depois disso todas as chaves so abertas, de
modo que C fica desconectado do resto do circuito. Mesmo desconectado, existe
uma corrente de fuga que causa a descarga gradual do capacitor e por isso o
capacitor deve ser refrescado.
Para ler uma clula, as chaves SW2, SW3 e SW4 so fechadas, e SW1
permanece aberta. Isso conecta a tenso armazenada no capacitor ao amplificador
sensor. Assim, na sada do amplificador teremos o valor armazenado no capacitor,
que atualizado via SW4 no momento da leitura.

13.4.2. Multiplexao de Endereos


A multiplexao de endereos uma tcnica que visa diminuir a quantidade
de entradas de endereos em uma DRAM. Isso permite que DRAMs com altas
capacidades ocupem espaos menores em placas de computadores.
Essa multiplexao consiste em colocar no barramento de endereos a
metade superior do endereo (que localiza a linha) e colocar em BAIXO um sinal
chamado RAS (strobe do endereo da linha). Depois colocado no barramento de
endereos a metade inferior do endereo (que localiza a coluna) e colocar em
BAIXO um sinal chamado CAS (strobe do endereo da coluna). Aps esse
procedimento, a posio de memria localizada e as operaes de leitura ou
escrita podem ser realizadas.

Figura 13.5: Multiplexao de endereos em uma DRAM com 16 linhas de


endereo.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

152

Memria de Acesso Aleatrio (RAM)


13.4.3. Refrescamento da DRAM
O refrescamento de uma DRAM feito por circuitos externos ou no prprio
chip de memria. Existem dois mtodos:

Refresh em rajada a operao normal da memria suspensa e cada linha da


DRAM refrescada em sequncia at que todas tenham sido refrescadas;

Refresh distribudo o refrescamento intercalado com as operaes normais


da DRAM.

13.5. Tecnologia de RAM Dinmica Usada em Computadores


Os tipos de DRAM existentes variam em funo da capacidade, velocidade,
consumo, custo e versatilidade:

SIMM (single-in-line memory module) e DIMM (dual-in-line memory module)


so mdulos de memria que permitem uma instalao rpida e so padres
de diversos tipos de DRAMs. Os mdulos SIMM e DIMM definem apenas como a
DRAM empacotada.

DRAM FPM (fast page module) permite acesso mais rpido a qualquer
posio de memria dentro da pgina corrente. Normalmente, os dados
gravados na memria so sequenciais. Nesse tipo de DRAM o endereo da linha
(RAS) enviado uma vez e o endereo da coluna (CAS) incrementado.

DRAM EDO (extended data output) uma melhoria em relao s FPM. Os


dados so colocados na sada e a DRAM EDO j pode decodificar o prximo
endereo sem que esses dados tenham sido lidos;

DRAM BEDO (burst EDO) Possui uma arquitetura que permite alcanar alta
velocidade ao se acessar dados sequenciais;

SDRAM (synchronous DRAM) so organizadas em dois bancos que so


acessados alternadamente utilizando um sinal de clock sincronizado com a CPU.
Desse modo essas memrias alcanam altas taxas de transferncias.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

153

Memria de Acesso Aleatrio (RAM)


13.6. Memrias com Funes Especiais

Armazenamento de Dados com o Sistema Desligado muitos equipamentos


armazenam seus dados em memrias RAM alimentadas com baterias de reserva
(NVRAM RAM no-voltil);

Memria Cache tipo de memria de alta velocidade e baixa capacidade de


armazenamento que interage diretamente com a CPU. Na cache esto contidos
os dados mais requisitados pelo processador e isso evita um acesso
desnecessrio na RAM.

Memria First-In, First-Out (FIFO) tambm conhecidas como buffers para


armazenamento temporrio. Por exemplo, os dados so transferidos em altas
taxas do PC para a impressora. Como a impresso mais lenta que a
transferncia, esses dados devem ser armazenados em FIFOs e da podem ser
impressos.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

154

Expanso do Tamanho da Palavra e da Capacidade

14. Expanso do Tamanho da Palavra e da Capacidade

14.1. Introduo
Em aplicaes com memrias muitas vezes no dispomos de um chip que
nos fornea o tamanho da palavra ou a capacidade necessria. Para conseguir isso
devemos associar os chips de memria a fim de fornecer o tamanho da palavra ou a
capacidade desejada.

14.2. Expanso do Tamanho da Palavra


Neste tipo de arranjo, as memrias so combinadas de forma a fornecer o
tamanho da palavra desejada. Por exemplo, se determinado projeto necessita de
uma memria de 16 x 8 (16 palavras de 8 bits) e s possumos chips de memria de
16 x 4 (16 palavras de 4 bits) podemos associar duas dessas memrias para obter a
memria desejada, conforme a Figura 14.1.

Figura 14.1: Arranjo com duas RAM de 16 x 4 para fornecer um mdulo de 16 x 8.


Cada memria da Figura 14.1 pode armazenar 16 palavras de 4 bits. Como
queremos armazenar 16 palavras de 8 bits, cada chip armazena metade de cada
palavra. Assim, a RAM0 armazena os 4 bits mais significativos de cada uma das 16
palavras e a RAM1 armazena os 4 bits menos significativos de cada uma das 16
palavras.
Podemos selecionar qualquer uma das 16 palavras aplicando-se o endereo
da palavra no barramento de endereos. As duas memrias localizaro ao mesmo
tempo a mesma posio de memria.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

155

Expanso do Tamanho da Palavra e da Capacidade


Se a operao for leitura, a entrada R / W deve estar em ALTO e CS em
BAIXO. A RAM0 coloca sua palavra de 4 bits na parte alta do barramento de dados
e a RAM1 coloca sua palavra de 4 bits na parte baixa do barramento de dados.
Desse modo o barramento de dados contm a palavra completa de 8 bits.
Se a operao for escrita, a entrada R / W deve estar em BAIXO e CS em
BAIXO. Os 4 bits mais significativos do dado sero escritos na RAM0 e os 4 menos
significativos sero escritos na RAM1.

14.3. Expanso da Capacidade


Neste tipo de arranjo, as memrias so combinadas de forma que possam
armazenar mais palavras. Por exemplo, se precisamos de uma memria que possa
armazenar 32 palavras de 4 bits e temos chips de 16 palavras de 4 bits, podemos
associ-las conforme a Figura 14.2.

Figura 14.2: Arranjo de duas memrias de 16 x 4 para formar uma memria de 32 x


4.
Cada chip de memria armazena 16 palavras de 4 bits, resultando em 32
palavras de 4 bits. O barramento de dados compartilhado entre as duas memrias
e por isso somente um chip de memria poder ser habilitado de cada vez.
Como a capacidade total 32 x 4, devem existir 32 endereos diferentes. Isso
requer 5 linhas de barramento de endereos. A linha de endereos mais significativa
(A4) usada para selecionar qual memria deve ser acionada.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

156

Expanso do Tamanho da Palavra e da Capacidade


Tabela 14.1: Mapa de memria e faixa de endereos usados por cada chip.
A4
0

A3

A2

A1

A0

...

...

...

...

...

...

...

...

Memria selecionada

Capacidade

RAM0

16 palavras

RAM1

16 palavras
Total = 32
palavras

Se desejarmos associar mais chips de memrias devemos tomar o cuidado


de selecionar apenas uma das memrias, j que o barramento de dados
compartilhado. Para isso usado um decodificador de endereos (por exemplo,
74LS138) que, atravs de uma combinao em suas entradas, seleciona apenas
uma sada.
Por exemplo, se desejarmos associar 4 PROMs de 16 x 4 para gerar uma
capacidade de 64 x 4 devemos fazer conforme a Figura 14.3.

Figura 14.3: Uso de 4 PROMs de 16 x 4 para obter uma capacidade de 64 x 4.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

157

Expanso do Tamanho da Palavra e da Capacidade


Tabela 14.2: Faixa de endereos utilizada por cada PROM.
A5
0

A4
0

A3

A2

A1

A0

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Memria selecionada

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

PROM-0

PROM-1

PROM-1

PROM-2

158

Microcontrolador AT90S8515

15. Microcontrolador AT90S8515

15.1. Introduo
15.1.1. Computadores, Microprocessadores e Microcontroladores
O computador qualquer sistema que contm CPU (Unidade Central de
Processamento), memria e unidades de entrada/sada.
O microprocessador um circuito integrado que contm uma CPU de um
computador genrico.
O microcontrolador um circuito integrado que contm CPU, memria,
unidades de entrada/sada e perifricos (conversores A/D, timers, portas de
comunicao etc.), com a finalidade de executar uma tarefa especfica.

Figura 15.1: Diagrama em Blocos de um Sistema Genrico com Microprocessador.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

159

Microcontrolador AT90S8515
15.2. Caractersticas do Microcontrolador AT90S8515
a) Arquitetura AVR RISC:

Possui 118 instrues sendo que a maioria executada em um ciclo de clock;

Possui 32 registradores de uso geral de 8 bits;

At 8 MIPS (milhes de instrues por segundo) a 8 MHz.

b) Memria de Programa e de Dados:

Possui 8 kBytes de Flash (memria de programa) que pode ser programada no


prprio circuito. Possui vida til de 1000 ciclos de escrita/apagamento;

Possui 512 Bytes de SRAM (memria de dados);

Possui 512 Bytes de EEPROM (memria de dados) que pode ser programada no
prprio circuito. Possui vida til de 100000 ciclos de escrita/apagamento;

Possui Lock Bits, que impedem que o programa da Flash e os dados


armazenados na EEPROM possam ser acessados.

c) Perifricos:

Possui 1 Temporizador/Contador de 8 bits com prescaler (divisor de clock);

Possui 1 Temporizador/Contador de 16 bits com prescaler (divisor de clock), com


modos de comparao, captura e duplo PWM (modulao por largura de pulso)
de 8, 9 ou 10 bits;

Possui comparador analgico interno;

Possui Watchdog Timer programvel com oscilador interno separado;

Possui serial UART (transceptor assncrono universal) programvel;

Possui interface serial Master/Slave SPI.

d) Caractersticas Especiais do Microcontrolador:

Modos Low-power Idle e Power Down;

Fontes de interrupes externas e internas.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

160

Microcontrolador AT90S8515
15.3. Encapsulamento

Figura 15.2: Disposio dos pinos nos encapsulamentos DIP e PLCC.

15.4. Descrio Geral


O AT90S8515 um microcontrolador CMOS de 8 bits de baixo consumo
baseado na arquitetura AVR RISC. A execuo de instrues simples em um ciclo
de clock (1 MIPS por MHz) permite que o projeto possa ser otimizado quanto
velocidade ou quanto ao consumo (quanto maior a velocidade, maior o consumo).

15.5. Diagrama em Blocos


O diagrama em blocos mostrado na Figura 15.3.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

161

Microcontrolador AT90S8515

Figura 15.3: Diagrama em blocos do AT90S8515.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

162

Microcontrolador AT90S8515
15.6. Descrio dos Pinos

VCC Alimentao;

GND Terra;

Port A (PA7...PA0) Porta de entrada/sada (bidirecional) de 8 bits. Possui


resistores de pull-up internos (programvel para cada bit). Podem fornecer at 20
mA de corrente. Na condio de reset, o Port A ficar em tri-state (alta
impedncia). Uma segunda funo do Port A como entrada/sada do
barramento multiplexado de endereos/dados usado no acesso SRAM externa;

Port B (PB7...PB0) Porta de entrada/sada (bidirecional) de 8 bits. Possui


resistores de pull-up internos (programvel para cada bit). Podem fornecer at 20
mA de corrente. Na condio de reset, o Port B ficar em tri-state (alta
impedncia). Esse port possui vrias funes especiais que sero vistas
posteriormente;

Port C (PC7...PC0) Porta de entrada/sada (bidirecional) de 8 bits. Possui


resistores de pull-up internos (programvel para cada bit). Podem fornecer at 20
mA de corrente. Na condio de reset, o Port C ficar em tri-state (alta
impedncia). Uma segunda funo do Port C como sada do barramento de
endereos usado no acesso SRAM externa;

Port D (PD7...PD0) Porta de entrada/sada (bidirecional) de 8 bits. Possui


resistores de pull-up internos (programvel para cada bit). Podem fornecer at 20
mA de corrente. Na condio de reset, o Port D ficar em tri-state (alta
impedncia). Esse port possui vrias funes especiais que sero vistas
posteriormente;

RESET Entrada de reset. Um nvel baixo nesse pino reiniciar o


microcontrolador;

XTAL1 Entrada para o amplificador inversor do oscilador e entrada de clock


para o circuito;

XTAL2 Sada do amplificador inversor do oscilador;

ICP Entrada para a funo Timer/Counter1 Input Capture;

OC1B Sada para a funo de Timer/Counter1 Output CompareB;


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

163

Microcontrolador AT90S8515

ALE Adress Latch Enable Sada usada quando uma memria externa est
conectada. Ao acessar externamente a memria, se ALE for alto, no barramento
AD0-7 teremos a parte baixa do endereo e isso habilita o latch para o
barramento de endereos. Quando ALE for baixo isso desabilitar o latch e o
barramento AD0-7 ser usado como barramento de dados.

15.7. Oscilador
A entrada XTAL1 e a sada XTAL2 esto conectadas diretamente em um
amplificador inversor usado como oscilador interno. Nesse caso, externamente deve
ser conectado um cristal de quartzo na frequncia de operao.
Um outro modo de gerar um sinal de clock desconectar a sada XTAL2 e
injetar um sinal de clock na entrada XTAL1.

15.8. Arquitetura
O AT90S8515 contm, internamente, 32 registradores uso geral de 8 bits
cada, que podem ser acessados em um nico ciclo de clock.
Seis desses 32 registradores podem formar trs registradores de 16 bits, que
so usados como ponteiros para endereamento indireto da memria de dados. Um
destes ponteiros de endereos tambm usado como ponteiro de endereo de
tabelas de constantes na memria de programa. Estes registros de 16 bits so
chamados registro-X, registro-Y e registro-Z.
A ULA suporta funes aritmticas e lgicas entre registradores e entre
constantes e registradores.
Os 64 primeiros bytes de endereo da RAM interna so usados como espao
de memria de entrada/sada (I/O Memory). neste espao de memria que esto
localizados os registradores de controle, os temporizadores/contadores e outros
perifricos.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

164

Microcontrolador AT90S8515

Figura 15.4: Arquitetura interna do AT90S8515.


A famlia AVR utiliza o conceito de arquitetura Harvard, que separa a memria
e os barramentos de programa e dados. A memria de programa executada em
um "pipeline" com dois estgios. Enquanto uma instruo est sendo executada, a
prxima est sendo trazida da memria de programa. Isso possibilita a execuo de
instrues em cada ciclo de clock. A memria de programa uma memria Flash
programvel no sistema. A SRAM interna possui 512 bytes.
Todas as interrupes possuem um vetor de interrupo separado e a tabela
de vetores de interrupo comea no incio da memria de programa.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

165

Microcontrolador AT90S8515

Figura 15.5: Memria Flash e memria RAM do AT90S8515.


15.8.1. Registradores de Uso Geral
Os 32 registradores de uso geral (R0-R31) esto localizados nos endereos
00H a 1FH da SRAM interna. Praticamente todas as instrues que acessam esses
registradores so executadas em um ciclo de clock.

15.8.2. Os Registradores X, Y e Z
Os registradores R26...R31 tem outras funes especiais. Esses registradores
so usados como ponteiros de endereos na memria de dados. (R27:R26 = X;
R29:R28 = Y; R31:R30 = Z).

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

166

Microcontrolador AT90S8515
15.8.3. ULA Unidade Lgica e Aritmtica
A ULA tem conexo direta com os 32 registradores de uso geral. Isso permite
que instrues entre registradores sejam executadas em um ciclo de clock. As
operaes da ULA podem ser divididas em trs categorias: operaes aritmticas,
operaes lgicas e operaes de manipulao de bits.

15.8.4. Memria de Programa Flash Programvel no Sistema


O AT90S8515 possui 8 Kbytes de memria de programa Flash interna
programvel no prprio sistema. A Flash organizada como uma memria de 4 K x
16, j que todas as instrues so de 16 ou 32 bits. A Flash possui mais de 1000
ciclos de leitura/apagamento.

15.8.5. Memria de Dados SRAM Interna e Externa

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

167

Microcontrolador AT90S8515

Figura 15.6: Organizao da memria RAM interna e externa.


A SRAM interna compreende os endereos 00H at 25FH. Do endereo 00H
at 1FH esto localizados os registradores de uso geral (R0-R31). Do endereo 20H
at 5FH esto os endereos de perifricos de entrada e sada. Do endereo 60H at
25FH est a memria de dados SRAM interna. A partir do endereo 260H a SRAM
externa acessada, at o endereo FFFFH.
Se o endereo a ser acessado maior que a SRAM interna, a SRAM externa
acessada. Quando isso ocorre os sinais de RD e RW so ativados para o acesso
SRAM.

15.8.6. Memria de Dados EEPROM


O AT90S8515 possui 512 bytes de memria de dados EEPROM. Cada byte
pode ser lido ou escrito individualmente. Possui mais de 100000 ciclos de
escrita/apagamento.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

168

Microcontrolador AT90S8515
15.8.7. Tempos de Acesso Memria e Execuo de Instrues
A CPU dos microcontroladores AVR utiliza o Clock do Sistema , diretamente
gerado do cristal externo para o chip. No feita nenhuma diviso interna desse
Clock.
A Figura 15.7 mostra os ciclos de busca e execuo de instruo habilitadas
pela arquitetura Harvard e o conceito de registro de acesso rpido. Este o conceito
bsico utilizado para se obter at 1 MIPS por MHz.

Figura 15.7: Ciclos de busca e execuo de instrues.


A Figura 15.8 mostra a temporizao interna para os registros. Em um nico
ciclo de Clock uma operao da ALU que usa dois registros como operandos
executada e o resultado armazenado no registro de destino.

Figura 15.8: Temporizao interna nos registros do AT90S8515.


15.8.8. Memria de Entrada/Sada (I/O)

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

169

Microcontrolador AT90S8515
Tabela 15.1: Nomes e endereos dos registradores.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

170

Microcontrolador AT90S8515
Todos os I/Os e perifricos do AT90S8515 esto localizados no espao de
I/O. Os endereos de I/O so acessados pelas instrues IN e OUT, que podem
transferir dados entre os 32 registros de uso geral e o espao de I/O.
Os endereos dos registros de I/O que vo de $00 at $1F so diretamente
acessveis bit a bit usando instrues SBI e CBI. Nestes registros, o valor de um
nico bit pode ser testado usando as instrues SBIS e SBIC. Se as instrues IN e
OUT forem usadas, os endereos dos I/Os vo de $00 at $3F. Se os registros de
I/O forem acessados como uma SRAM, os endereos anteriores devem ser
somados a $20 ($20 - $5F).
neles.

Alguns flags (indicadores) de estado so ZERADOS escrevendo UM lgico

Registrador de Status SREG

Bit 7 I: Global Interrupt Enable O bit de habilitao global de interrupes


deve ser setado (UM) para que as interrupes sejam habilitadas. Se o bit de
habilitao global ZERADO, nenhuma das interrupes sero habilitadas.

Bit 6 T: Bit Copy Storage As instrues de cpia de bit BLD (Bit Load) e
BST (Bit Store) usam o bit T como fonte e destino para o bit manipulado. Um bit
de um registro pode ser copiado para T pela instruo de BST, e um bit em T
pode ser copiado para um bit em um registro pela instruo BLD.

Bit 5 H: Half Carry Flag O flag half carry H indica que um "half carry" ocorreu
em alguma operao aritmtica na ALU.

Bit 4 S: Sign Bit, S = N V O bit S sempre um OU-EXCLUSIVO entre o


flag de negativo N e o flag de overflow do complemento a dois V.

Bit 3 V: Twos Complement Overflow Flag O flag de overflow no


complemento a dois V utilizado em operaes aritmticas que manipulam
nmeros na representao complemento a dois.

Bit 2 N: Negative Flag O flag de negativo N indica que ocorreu um resultado


negativo aps a execuo de uma subtrao aritmtica ou de uma operao
lgica.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

171

Microcontrolador AT90S8515

Bit 1 Z: Zero Flag O flag de zero Z indica que o resultado ZERO ocorreu
depois de uma subtrao aritmtica ou de uma operao lgica.

Bit 0 C: Carry Flag O flag de carry C indica que um carry (vai-um) ocorreu
em uma operao aritmtica ou operao lgica.

Ponteiro de Pilha SP

O Ponteiro de Pilha de 16-bits constitudo de dois registros de 8-bits


localizados no espao de I/O, nos endereos $3E ($5E) e $3D ($5D). Como o
AT90S8515 suporta at 64 kB de SRAM externa, todos os 16-bits so usados.

15.8.9. Tratamento de Reset e Interrupes


O AT90S8515 possui 12 fontes de interrupo diferentes. Estas interrupes
e o RESET possuem um vetor reservado na memria de programa. Todas as
interrupes so individualmente habilitadas pelos bits de controle juntamente com o
bit I no registrador de status SREG.
Os vetores de RESET e Interrupes esto localizados no incio da memria
de programa e podem ser vistos conforme a Tabela 15.2. Esta lista tambm
determina os nveis de prioridade dos diferentes tipos de interrupes. O menor
endereo possui o maior nvel de prioridade: o RESET tem maior prioridade, depois
vem INT0 - Interrupo Externa 0, e assim por diante.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

172

Microcontrolador AT90S8515
Tabela 15.2: Endereos dos vetores de interrupes.

15.8.10. Fontes de Reset


O AT90S8515 tem trs fontes de reset:

Power-On Reset: A MCU reiniciada quando a tenso de alimentao est


abaixo da tenso limiar de alimentao (VPOT);

RESET Externo: A MCU reiniciada quando um nvel baixo colocado no pino


RESET por mais de 50 ns;

Watchdog Reset: A MCU reiniciada quando ocorre o overflow do temporizador


Watchdog (Co de Guarda) e o Watchdog esta habilitado.

Durante o reset, todos os registros de I/O so forados para seus valores


iniciais e o programa comea sua execuo a partir do endereo $000. A instruo
colocada no endereo $000 deve ser um RJMP salto relativo instruo para a
rotina de reset.

15.8.11. Power-On Reset


Um circuito de Power-On Reset (POR) assegura que o dispositivo seja
resetado quando a alimentao for ligada. Um sinal vindo do oscilador interno do
Watchdog Timer impede que a MCU comece durante um certo perodo depois de
VCC alcanou a tenso limiar de Power-On VPOT.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

173

Microcontrolador AT90S8515
15.8.12. Reset Externo
Um reset externo gerado por um nvel baixo pino RESET. Pulsos de reset
maiores do que 50 ns geraro um reset, at mesmo se o Clock estiver parado.
Pulsos com durao menor no garantiro o reset.
Quando o pulso de reset ultrapassar a tenso limiar de reset VRST na
borda de subida, um temporizador contar um perodo tTOUT e ao fim desse tempo, a
MCU ir iniciar a operao.

15.8.13. Reset por Watchdog


Quando o Watchdog expira, um pequeno pulso de reset com a durao de 1
ciclo de XTAL gerado. Na transio de descida deste pulso, um temporizador
contar um perodo tTOUT e ao fim desse tempo, a MCU ir iniciar a operao.

15.8.14. Tratamento de Interrupes


O AT90S8515 tem dois Registradores de Controle de Mscaras de
Interrupes de 8-bits:

GIMSK (General Interrupt Mask register) registrador de mscaras de


interrupes gerais.

TIMSK (Timer/Counter Interrupt Mask register) registrador de mscaras de


interrupes dos temporizadores/contadores.

Quando uma interrupo ocorre o bit I (Global Interruption Enable) ZERADO


e todas as interrupes so desabilitadas. O bit I setado quando uma instruo de
Retorno de Interrupo RETI executada.
Quando o Contador de Programa (PC) carregado com o endereo do vetor
de interrupo atual para executar a rotina de tratamento de interrupo, o hardware
zera o flag correspondente que gerou essa interrupo.
Se uma ou mais interrupes ocorrerem enquanto o bit de habilitao global
de interrupes (I) estiver zerado, os flags de interrupes correspondentes sero
setados e assim permanecero at que o bit de habilitao global de interrupes (I)
seja setado e as interrupes sero executadas por ordem de prioridade.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

174

Microcontrolador AT90S8515
Registrador de Mscaras de Interrupes Gerais GIMSK

Bit 7 INT1: External Interrupt Request 1 Enable


O bit INT1 habilita interrupo externa 1 quando setado.

Bit 6 INT0: External Interrupt Request 0 Enable


O bit INT0 habilita interrupo externa 0 quando setado.

Bits 5..0 Res: Reserved bits


Esses bits so reservados no AT90S8515 e so sempre lidos como zero.

Registrador de Flags de Interrupes Gerais GIFR

Bit 7 INTF1: External Interrupt Flag1


Quando um evento ocorre no pino INT1, um pedido de interrupo requisitado
e o bit INTF1 setado.

Bit 6 INTF0: External Interrupt Flag0


Quando um evento ocorre no pino INT0, um pedido de interrupo requisitado
e o bit INTF0 setado.

Bits 5..0 Res: Reserved bits


Esses bits so reservados no AT90S8515 e so sempre lidos como zero.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

175

Microcontrolador AT90S8515
Registrador de Mscaras de Interrupes dos Temporizadores/Contadores
TIMSK

Bit 7 TOIE1: Timer/Counter1 Overflow Interrupt Enable


O bit TOIE1 habilita interrupo por Overflow do Timer/Counter1 quando setado.

Bit 6 - OCE1A: Timer/Counter1 Output CompareA Match Interrupt Enable


O bit OCE1A habilita interrupo por comparao do valor A com o valor do
Timer/Counter1 quando setado

Bit 5 OCIE1B: Timer/Counter1 Output CompareB Match Interrupt Enable


O bit OCIE1B habilita interrupo por comparao do valor B com o valor do
Timer/Counter1 quando setado.

Bit 4 Res: Reserved bit


Bit reservado no AT90S8515 e sempre lido como zero.

Bit 3 - TICIE1: Timer/Counter1 Input Capture Interrupt Enable


O bit TICIE1 habilita interrupo por evento na entrada de captura do
Timer/Counter1 quando setado.

Bit 2 Res: Reserved bit


Bit reservado no AT90S8515 e sempre lido como zero.

Bit 1 - TOIE0: Timer/Counter0 Overflow Interrupt Enable


O bit TOIE0 habilita interrupo por Overflow do Timer/Counter0 quando setado.

Bit 0 Res: Reserved bit


Bit reservado no AT90S8515 e sempre lido como zero.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

176

Microcontrolador AT90S8515
Registrador de Flags de Interrupes dos Temporizadores/Contadores TIFR

Bit 7 - TOV1: Timer/Counter1 Overflow Flag


O flag TOV1 setado quando um overflow ocorre no Timer/Counter1.

Bit 6 - OCF1A: Output Compare Flag 1A


O bit OCF1A setado quando o valor do Timer/Counter1 e valor contido no
OCR1A Registrador de Comparao de Sada 1A.

Bit 5 - OCF1B: Output Compare Flag 1B


O bit OCF1B setado quando o valor do Timer/Counter1 e valor contido no
OCR1B Registrador de Comparao de Sada 1B.

Bit 4 Res: Reserved bit


Bit reservado no AT90S8515 e sempre lido como zero.

Bit 3 ICF1: Input Capture Flag 1


O bit ICF1 setado para sinalizar que um evento de captura ocorreu no pino ICP
e que o valor do Timer/Counter1 foi transferido para o registrador de captura
ICR1.

Bit 2 Res: Reserved bit


Bit reservado no AT90S8515 e sempre lido como zero.

Bit 1 TOV: Timer/Counter0 Overflow Flag


O bit TOV0 setado quando ocorre um overflow do Timer/Counter0.

Bit 0 Res: Reserved bit


Bit reservado no AT90S8515 e sempre lido como zero.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

177

Microcontrolador AT90S8515
15.8.15. Interrupes Externas
As interrupes externas so ativadas pelos pinos INT1 e INT0. As
interrupes externas podem ser reconhecidas por uma borda de descida ou subida
ou um nvel baixo. Isso configurado no Registrador de Controle da MCU
MCUCR.

Tempo de Resposta de Interrupes


O intervalo de execuo para qualquer uma das interrupes do AT90S8515
habilitadas de, no mnimo, 4 ciclos de clock. Quatro ciclos de clock depois que o
flag de interrupo foi setado, o endereo do vetor de interrupo executado.
Durante estes 4 ciclos de clock, o Contador de Programa PC (2 bytes)
colocado na Pilha (Stack), e o Ponteiro de Pilha (SP) decrementado de 2. O vetor
normalmente um salto relativo rotina de interrupo e este salto leva 2 ciclos de
clock. Se uma interrupo acontece durante execuo de uma instruo de multiciclo, a instruo completada antes da interrupo ser atendida.
O retorno de uma rotina de tratamento de interrupo (ou mesmo uma subrotina) leva 4 ciclos de clock. Durante estes 4 ciclos de relgio, o Contador de
Programa PC (2 bytes) trazido da Pilha (Stack), o Ponteiro de Pilha (SP)
incrementado de 2, e o bit I no SREG setado. Quando o microcontrolador sai de
uma interrupo, ele sempre voltar ao programa principal e executar uma ou mais
instrues antes que qualquer interrupo pendente ser atendida.

Registrador de Controle da Unidade Central Microprocessadora MCUCR


O registrador de controle da MCU contm os bits de controle para funes
gerais da MCU.

Bit 7 SRE: External SRAM Enable


Quando o bit SRE setado, o acesso memria de dados externa (SRAM)
habilitado e os pinos AD0-7 (Port A), A8-15 (Port C), RW e RD (Port D) so
ativados.

Bit 6 SRW: External SRAM Wait State


Quando o bit SRW setado, um estado de espera inserido no ciclo de acesso
SRAM externa.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

178

Microcontrolador AT90S8515

Bit 5 SE: Sleep Enable


O bit SE deve ser setado para fazer a MCU entrar no modo Sleep quando a
instruo SLEEP for executada.

Bit 4 SM: Sleep Mode


O bit SM seleciona os dois modos de Sleep disponveis. Quando SM zerado, o
Modo Idle selecionado como modo Sleep. Quando SM setado, o Modo Power
Down selecionado como modo Sleep.

Bit 3, 2 ISC11, ISC10: Interrupt Sense Control 1 bit 1 and bit 0


Os bits ISC11 e ISC10 definem de que maneira a interrupo externa 1 dever
ser reconhecida:

Tabela 15.3: Eventos reconhecidos pela interrupo externa 1.

Bit 1, 0 ISC01, ISC00: Interrupt Sense Control 0 bit 1 and bit 0


Os bits ISC01 e ISC00 definem de que maneira a interrupo externa 0 dever
ser reconhecida:

Tabela 15.4: Eventos reconhecidos pela interrupo externa 0.

15.8.16. Modos de Sleep


Para entrar nos modos Sleep, o bit SE no MCUCR deve ser setado e uma
instruo de SLEEP deve ser executada. Se uma interrupo ocorre enquanto a
MCU est em um modo Sleep, o MCU acorda, executa a rotina de interrupo, e
retoma a execuo da instruo depois de SLEEP. Os contedos dos registros, da
SRAM e da memria de I/O permanecem inalterados. Se um Reset ocorre durante
modo Sleep, a MCU acorda e executa do vetor RESET.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

179

Microcontrolador AT90S8515
Modo Idle
Se o bit de SM zerado, a instruo SLEEP fora a MCU para o Modo Idle,
que pra a CPU, mas permite que Timer/Counters, Watchdog e Interrupes
continuem operando. Isto permite que a MCU possa acordar com uma interrupo
externa ou overflow dos timers ou reset do Watchdog. Quando o MCU acorda no
modo Idle, a CPU inicia a execuo do programa imediatamente.

Modo Power Down


Quando o bit SM setado, a instruo de SLEEP fora a MCU no modo
Power Down. Neste modo, oscilador externo desligado, enquanto as interrupes
externas e o Watchdog (se habilitado) continuam operando. S um Reset externo ou
um Reset por Watchdog (se habilitado) ou uma interrupo externa por nvel INT0 ou
INT1 podem acordar a MCU. Se uma interrupo externa por nvel usada para
acordar a MCU do modo Power Down, o nvel baixo deve ser mantido durante um
tempo maior do que o perodo de timeout do reset (tOUT). Caso contrrio, a MCU no
acordar.

15.9. Temporizadores/Contadores
O AT90S8515 possui dois Timer/Counters um temporizador/contador de 8
bits e um temporizador/contador de 16 bits. Os temporizadores/contadores possuem
seleo individual de clock, que vem de um mesmo contador de 10 bits (Prescaler).
Ambos os Timer/Counters podem ser usados como temporizadores com um clock
interno como base de tempo ou como contador utilizando o pino externo (T0 ou T1)
como entrada de contagem.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

180

Microcontrolador AT90S8515

Figura 15.9: Circuito lgico dos temporizadores/contadores.


15.9.1. Prescaler (Divisor) dos Temporizadores/Contadores
As quatro selees de razes de clock (vindos do prescaler) so: CK/8,
CK/64, CK/256 e CK/1024 onde CK o clock do oscilador. As razes de clock, como
CK ou uma fonte externa ou parado podem ser as fontes de clock para os dois
Timer/Counters.

15.9.2. Temporizador/Contador0 de 8 bits


As fontes de clock para o Timer/Counter0 (8 bits) podem ser o clock CK, o
clock CK dividido (atravs do prescaler) ou pino externo. Alm disso, o
Timer/Counter0 pode ser parado. Isto pode ser configurado atravs do registrador de
Controle do Timer/Counter0 TCCR0. O flag de overflow encontra-se no registrador
de Flags de Interrupo do Timer/Counter TIFR.
Os bits de controle encontram-se no registro de Controle do Timer/Counter0
TCCR0. O bit de habilitao da interrupo por overflow do Timer/Counter0
encontra-se no registro de Mscaras de Interrupes dos Timer/Counters TIMSK.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

181

Microcontrolador AT90S8515
Registrador de Controle do Temporizador/Contador0 - TCCR0

Bits 7..3 Res: Reserved bits


Esses bits so reservados no AT90S8515 e so sempre lidos como zero.

Bits 2,1,0 - CS02, CS01, CS00: Clock Select0, bit 2,1 and 0
Os bits 2, 1 e 0 da Seleo de Clock definem a fonte de clock do Timer/Counter0,
conforme a Tabela 15.5.

Tabela 15.5: Fontes de clock para o Timer/Counter 0.

A condio de Stop desabilita o Timer/Counter0. As razes de CK so obtidas


diretamente do clock do oscilador. Se o pino externo usado com entrada de clock
do Timer/Counter0, transies em PB0/(T0) iro ser contadas mesmo que o pino
seja configurado como sada.

15.9.3. Temporizador/Contador0 TCNT0

O Timer/Counter0 um registrador com acesso para leitura e escrita. Se o


Timer/Counter0 escrito e uma fonte de clock est presente, o Timer/Counter0
continua contando a partir do ciclo de clock seguinte operao de escrita.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

182

Microcontrolador AT90S8515
15.9.4. Temporizador/Contador1 de 16 bits
As fontes de clock para o Timer/Counter1 (16 bits) podem ser o clock CK, o
clock CK dividido (atravs do prescaler) ou pino externo. Alm disso, o
Timer/Counter1 pode ser parado. Isto pode ser configurado atravs do registrador de
Controle do Timer/Counter1 TCCR1A e TCCR1B. Os diferentes flags de status
(overflow, comparao e captura de evento) encontram-se no registrador de Flags
de Interrupo do Timer/Counter TIFR. Os bits de controle encontram-se no
registro de Controle do Timer/Counter1 TCCR1A e TCCR1B. Os bits de
habilitaes de interrupes Timer/Counter1 encontram-se no registro de Mscaras
de Interrupes dos Timer/Counters TIMSK.
O Timer/Counter1 possui duas funes de comparao que utilizam os
registradores de Sada de Comparao 1 A e B OCR1A e OCR1B como fontes de
dados para serem comparados com o valor do Timer/Counter1. As funes de
Comparao incluem um opcional reincio do contador quando o valor de
comparao A for atingido e aes nos pinos de Sada de Comparao para ambos
os valores de comparao A e B.
O Timer/Counter1 tambm pode ser usado como um Modulador por Largura
de Pulso (PWM) de 8, 9 ou 10 bits. Neste modo, o contador e os registradores
OCR1A/OCR1B so utilizados para formarem um duplo PWM.
A funo de Captura de Eventos do Timer/Counter1 realiza a transferncia do
contedo do Timer/Counter1 para o registrador de Captura ICR1, ocasionado por
um evento externo no pino de Entrada de Captura de Evento ICP. Os bits que
controlam estas funes esto localizados no registrador de Controle do
Timer/Counter1 TCCR1B. Alm disso, o Comparador Analgico tambm pode ser
usado para gerar um evento de captura do Timer/Counter1.

Registrador A de Controle do Temporizador/Contador1 TCCR1A

Bits 7,6 COM1A1, COM1A0: Compare Output Mode1A, bits 1 and 0


Os bits de controle COM1A1 e COM1A0 determinam qual a ao no pino de
sada quando o valor do Timer/Counter1 for igual ao valor de comparao no
registrador de Sada de Comparao OCR1A. Essa ao afetar o pino OC1A
Sada de Comparao A.

Bits 5,4 - COM1B1, COM1B0: Compare Output Mode1B, bits 1 and 0


Os bits de controle COM1B1 e COM1B0 determinam qual a ao no pino de
sada quando o valor do Timer/Counter1 for igual ao valor de comparao no
registrador de Sada de Comparao OCR1B. Essa ao afetar o pino OC1B
Sada de Comparao B.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

183

Microcontrolador AT90S8515
A Tabela 15.6 mostra as configuraes desses bits para o modo de
comparao.

Tabela 15.6: Configurao no modo de comparao.

No modo PWM, estes bits tem funes diferentes.

Bits 3..2 Res: Reserved bits


Esses bits so reservados no AT90S8515 e so sempre lidos como zero.

Bits 1..0 PWM11,PWM10: Pulse Width Modulator Select Bits 1 and 0


Esses bits selecionam o modo PWM, conforme a Tabela 15.7.

Tabela 15.7: Definio do nmero de bits para o modo PWM.

Registrador B de Controle do Temporizador/Contador1 TCCR1B

Bit 7 ICNC1: Input Capture1 Noise Canceler (4 CKs)


Quando o bit ICNC1 for ZERO, o eliminador de rudo da entrada de captura
desabilitado. Uma transio de subida ou descida no pino ICP causar a captura
do Timer/Counter1. Quando o bit ICNC1 for UM, quatro amostras sucessivas
sero amostradas no ICP pino de entrada de captura, e todas as amostras
devem ser iguais conforme a configurao do bit ICES1.

Bit 6 ICES1: Input Capture1 Edge Select


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

184

Microcontrolador AT90S8515
Se o bit ICES1 for zerado, o contedo do Timer/Counter1 transferido para o
registrador de Captura ICR1 na transio de descida no pino de Captura
ICP.
Se o bit ICES1 for setado, o contedo do Timer/Counter1 transferido para o
registrador de Captura ICR1 na transio de subida no pino de Captura ICP.

Bits 5, 4 Res: Reserved bits


Esses bits so reservados no AT90S8515 e so sempre lidos como zero.

Bit 3 CTC1: Clear Timer/Counter1 on Compare Match


Se o bit CTC1 for setado, o Timer/Counter1 forado a $0000 no ciclo de clock
aps o Timer/Counter1 ser igual ao valor de comparao A. Se o bit CTC1 for
zerado, o Timer/Counter1 continua contando e seu valor no alterado.
Dependendo do divisor de clock utilizado, a funo de comparao do valor do
Timer/Counter1 pode se comportar de maneira diferente. Se o divisor de clock for
1, e o registrador de comparao A for carregado com o valor C, a contagem com
CTC1 setado fica:
... | C-2 | C-1 | C | 0 | 1 | ...
Se o divisor for configurado para 8, a contagem ser:
... | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1 | C, 0, 0, 0, 0, 0, 0, 0 | ...
No modo PWM, este bit no tem funo.

Bits 2,1,0 CS12, CS11, CS10: Clock Select1, bit 2,1 and 0
Os bits 2, 1 e 0 da Seleo de Clock definem a fonte de clock do Timer/Counter0,
conforme a Tabela 15.8.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

185

Microcontrolador AT90S8515
Tabela 15.8: Fontes de clock para o Timer/Counter 1.

A condio de Stop desabilita o Timer/Counter1. As razes de CK so obtidas


diretamente do clock do oscilador. Se o pino externo usado com entrada de clock
do Timer/Counter1, transies em PB1/(T1) iro ser contadas mesmo que o pino
seja configurado como sada.

15.9.5. Temporizador/Contador1 TCNT1H e TCNT1L

Este registrador de 16 bits o Timer/Counter1. Para assegurar que ambos os


bytes alto e baixo sejam lidos ou escritos simultaneamente pela CPU, o acesso a
esses registradores feito atravs de um registrador temporrio de 8 bits (TEMP).

Escrita no TCNT1 Timer/Counter1 Quando a CPU escreve no byte alto


TCNT1H, o dado a ser escrito colocado no registrador TEMP. Depois, quando a
CPU escreve o byte baixo TCNT1L, este byte combinado com o byte do
registrador TEMP e todos os 16 bits so escritos simultaneamente no registrador
TCNT1 Timer/Counter1. Dessa forma, o byte alto TCNT1H deve ser acessado
primeiro para uma escrita completa de 16 bits.

Leitura do TCNT1 Timer/Counter1 Quando a CPU l o byte baixo TCNT1L, o


dado do byte baixo TCNT1L enviado para a CPU e o dado do byte alto
TCNT1H colocado no registrador TEMP. Quando a CPU l os dados do byte
alto TCNT1H, a CPU recebe os dados do registrador TEMP. Dessa forma, o byte
baixo TCNT1L deve ser acessado primeiro para uma leitura completa de 16 bits.

O Timer/Counter1 um contador ascendente/descendente (no modo PWM)


com acesso para leitura e escrita. Se o Timer/Counter1 escrito e uma fonte de
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

186

Microcontrolador AT90S8515
clock selecionada, o Timer/Counter1 continua contando no ciclo de clock posterior
escrita do valor.

Registrador de Sada de Comparao do Temporizador/Contador1 OCR1AH e


OCR1AL

Registrador de Sada de Comparao do Temporizador/Contador1 OCR1BH e


OCR1BL

Os registradores de comparao so todos de 16 bits com acessos para


leitura ou escrita. Os registradores de comparao do Timer/Counter1 contm os
valores a serem comparados continuamente com o valor do Timer/Counter1. As
aes que sero executadas quando o valor de comparao for igual ao valor do
Timer/Counter1 esto especificadas no registrador de controle e status do
Timer/Counter1.
O evento de igualdade ir setar o flag de interrupo de comparao no ciclo
de clock seguinte ao evento da comparao.
Os registradores de comparao OCR1A e OCR1B so registradores de
16 bits. Para assegurar que ambos os bytes alto e baixo sejam lidos ou escritos
simultaneamente pela CPU, o acesso a esses registradores feito atravs de um
registrador temporrio de 8 bits (TEMP).

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

187

Microcontrolador AT90S8515
Registrador de Captura de Entrada do Temporizador/Contador1 ICR1H e
ICR1L

O registrador de captura de entrada um registrador de 16 bits com acesso


somente de leitura.
Quando uma transio de subida ou descida (de acordo com a configurao
de transio para captura ICES1) ocorre no pino de captura (ICP), o valor do
Timer/Counter1 transferido para o registrador de captura ICR1. Ao mesmo
tempo, o flag de captura ICF1 setado
O registrador de captura ICR1 registrador de 16 bits. Para assegurar
que ambos os bytes alto e baixo sejam lidos simultaneamente pela CPU, o acesso a
esse registrador feito atravs de um registrador temporrio de 8 bits (TEMP).

15.9.6. Temporizador/Contador1 no modo PWM


Quando o modo PWM selecionado, o Timer/Counter1, o registrador de
comparao 1A OCR1A e o registrador de comparao 1B OCR1B formam um
duplo PWM de 8, 9 ou 10 bits com sadas nos pinos PD5 (OC1A) e OC1B. O
Timer/Counter1 atua com um contador ascendente/descendente que conta de $0000
at TOP e retorna de TOP at $0000, repetindo o ciclo.
Quando o valor do Timer/Counter1 for igual ao contedo de 10 bits do registrador
OCR1A ou OCR1B, os pinos PD5 (OC1A) / OC1B sero setados ou zerados de
acordo com as configuraes dos bits COM1A1/COM1A0 ou COM1B1/COM1B0 no
registrador de Controle do Timer/Counter1 TCCR1A.
A Tabela 15.9 mostra os valores de TOP (valores mximos) do timer e da
frequncia do PWM.

Tabela 15.9: Frequncia do PWM em funo do nmero de bits.

A Tabela 15.10 mostra os bits de controle usados no modo de comparao1 e


no modo PWM.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

188

Microcontrolador AT90S8515
Tabela 15.10: Configurao do PWM.

Quando OCR1 contm $0000 ou TOP, as sadas OCR1A/OCR1B so


atualizadas para BAIXO ou ALTO na comparao seguinte, de acordo com as
configuraes dos bits COM1A1/COM1A0 ou COM1B1/COM1B0.
A Tabela 15.11 mostra a qual a sada PWM para OCR1X = $0000 ou TOP.

Tabela 15.11: Estado da sada OC1X em funo da configurao do PWM.

No modo PWM, o flag de overflow do Timer/Counter1, TOV1, setado quando o


contador chega a $0000. A interrupo por overflow do Timer/Counter1 executada
quando o bit de overflow do Timer/Counter1 (TOV1) setado e os bits de habilitao
de interrupo por overflow do Timer/Counter1 e de interrupo global estejam
setados. Isso tambm se aplica para os flags e interrupes de comparao do
Timer/Counter1.

15.10. Watchdog Timer


O Watchdog Timer utiliza um sinal de clock vindo de um oscilador interno
separado de 1 MHz. Essa a frequncia tpica para uma tenso de alimentao
(VCC) de 5 V. O tempo de reset do Watchdog Timer configurado por um prescaler.
A instruo WDR Watchdog Reset reinicia o Watchdog Timer. At oito perodos
diferentes de clock podem ser selecionados para determinar o perodo de reset do
Watchdog Timer. Se esse perodo expira sem que haja um reset do Watchdog, o
AT90S8515 resetado e o vetor de reset executado.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

189

Microcontrolador AT90S8515
Registrador de Controle do Watchdog Timer WDTCR

Bits 7..5 - Res: Reserved bits


Esses bits so reservados no AT90S8515 e sempre sero lidos como zero.
Bit 4 - WDTOE: Watch Dog Turn-Off Enable
Esse bit deve ser setado quando o bit WDE for zerado. Caso contrrio, o watchdog
no ser desabilitado. Uma vez setado, o hardware ir zerar esse bit depois de
quatro ciclos de clock. Esse bit usado para se evitar a desabilitao acidental do
Watchdog Timer.
Bit 3 - WDE: Watch Dog Enable
Quando o bit WDE for setado, o Watchdog Timer habilitado, e se o bit WDE for
zerado, o Watchdog Timer desabilitado. O bit WDE s pode ser zerado se o bit
WDTOE for setado. O procedimento para desabilitar o Watchdog Timer mostrado a
seguir:
1. Na mesma operao, escrever um UM lgico em WDTOE e WDE. O UM lgico
deve ser escrito em WDE mesmo que o bit esteja setado para iniciar a operao
de desabilitao do Watchdog Timer.
2. Durante os prximos quatro ciclos de clock, escrever um ZERO lgico em WDE.
Isso desabilita o Watchdog Timer.

Bits 2..0 - WDP2, WDP1, WDP0: Watch Dog Timer Prescaler 2, 1 and 0
Os bits WDP2, WDP1 e WDP0 determinam qual a diviso de clock que ser usada
quando o Watchdog Timer estiver habilitado. Os diferentes valores de prescaler e os
perodos de tempo so mostrados na Tabela 15.12.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

190

Microcontrolador AT90S8515
Tabela 15.12: Configurao do tempo de estouro do watchdog timer.

A instruo WDR Watchdog Reset sempre deve ser executada antes que
o Watchdog Timer seja habilitado. Isso assegura que o perodo de reset esteja de
acordo com o perodo que foi configurado. Se o Watchdog Timer for habilitado sem
um reset, ele pode no comear a contar do valor zero.

15.11. Acesso para Leitura/Escrita na EEPROM


Os registradores de acesso EEPROM esto disponveis na memria de I/O.
O tempo de acesso para escrita de 2,5 a 4 ms, dependendo da tenso de
alimentao (VCC). Se o programa contm dados que sero escrita na EEPROM,
algumas precaues devem ser tomadas.
Em fontes de alimentao filtradas, a tenso de alimentao (VCC) demora
certo tempo para estabilizar. Isso pode fazer com que o dispositivo permanea
funcionando com tenses menores do que a tenso especificada como mnima para
o clock usado. Nessas condies, a CPU pode executar saltos (jumps) no programa
e eventualmente executar uma rotina de escrita na EEPROM.
Para garantir a integridade da EEPROM, um circuito externo de reset
(detector de sub-tenso) deve ser usado. Um procedimento especfico de escrita na
EEPROM deve ser seguido para prevenir escritas errneas. Quando a EEPROM
acessada para leitura ou escrita, a CPU parada por dois ciclos de clock antes da
prxima instruo ser executada.

Registrador de Endereos da EEPROM EEARH e EEARL

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

191

Microcontrolador AT90S8515
Os registradores de endereos da EEPROM EEARH e EEARL especificam
qual o endereo a ser acessado na EEPROM (o AT90S8515 possui 512 bytes de
EEPROM). Os 512 bytes so acessados de maneira linear.

Registrador de Dados da EEPROM EEDR

Bits 7..0 - EEDR7..0: EEPROM Data


Para operaes de escrita na EEPROM, o registrador EEDR contm o dado a ser
escrito na EEPROM no endereo dado pelo registrador EEAR. Para operaes de
leitura, o registrador EEDR contm o dado lido da EEPROM no endereo dado pelo
registrador EEAR.

Registrador de Controle da EEPROM EECR

Bit 7..3 - Res: Reserved bits


Esses bits so reservados no AT90S8515 e sempre sero lidos como zero.
Bit 2 - EEMWE: EEPROM Master Write Enable
Se bit EEMWE estiver setado, setando o bit EEWE uma escrita executada na
EEPROM no endereo selecionado. Se o bit EEMWE estiver zerado, setar o bit
EEWE no ter nenhum efeito. Quando o bit EEMWE for setado por software, o
hardware zera o bit depois de quatro ciclos de clock.
Bit 1 - EEWE: EEPROM Write Enable
O bit EEWE um sinal de habilitao da escrita na EEPROM. Quando um endereo
e um dado esto corretamente colocados, o bit EEWE deve ser setado para que o
valor seja escrito na EEPROM. O bit EEMWE deve estar setado quando o UM lgico
for escrito em EEWE, caso contrrio, a escrita na EEPROM no ocorrer. O seguinte
procedimento deve ser seguindo para a execuo de uma escrita na EEPROM:
1. Esperar at que EEWE seja zero.
2. Escrever o novo endereo da EEPROM nos registradores EEARL e EEARH.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

192

Microcontrolador AT90S8515
3. Escrever o dado a ser escrito no registrador EEDR.
4. Escrever UM lgico no bit EEMWE no registrador EECR.
5. Durante os prximos quatro ciclos de clock depois de setar o bit EEMWE,
escrever UM lgico no bit EECR.
Passado o tempo de acesso escrita (tipicamente 2,5 ms com VCC = 5V e 4
ms com VCC = 2,7V), o bit EEWE zerado pelo hardware. O software pode esperar
este bit se tornar zero antes de escrever o prximo byte. Quando o bit EEWE for
setado, a CPU parada por dois ciclos antes da prxima instruo ser executada.

Importante: Uma interrupo dos passos 4 e 5 gerar uma falha no ciclo de escrita.
Se uma rotina de interrupo que acessa a EEPROM interrompida por outro
acesso EEPROM, os registradores EEAR e EEDR sero modificados, causando
uma falha no acesso que foi interrompido. recomendado zerar o bit I (Global
Interrupt Flag SREG) durante os quatro ltimos passos para evitar problemas no
acesso.
Bit 0 - EERE: EEPROM Read Enable
O bit EERE um sinal de habilitao para leitura da EEPROM. Quando o endereo
correto foi colocado no registrador EEAR, o bit EERE deve ser setado. Quando o bit
EERE for zerado pelo hardware, o dado lido est disponvel no registrador EERE. O
acesso para leitura da EEPROM de apenas uma instruo e no necessrio
verificar o bit EERE. Quando o bit EERE estiver setado, a CPU parada por dois
ciclos antes da execuo da prxima instruo. O software poderia verificar o bit
EEWE antes de iniciar uma operao de leitura. Se a operao de escrita estiver
sendo executada quando um novo dado ou endereo escrito nos registradores de
I/O da EEPROM, a operao de escrita ser interrompida e o resultado
imprevisvel.

15.11.1. Preveno de Perdas de Dados na EEPROM


Em condies de baixa tenso de alimentao (VCC), dados na EEPROM
podem ser perdidos porque a tenso de alimentao muito baixa para a CPU e
para a EEPROM operarem de maneira correta.
A perda de dados da EEPROM pode ocorrer de duas maneiras quando a tenso
est muito baixa.
Primeiro, a sequncia de escrita na EEPROM requer uma tenso mnima para
trabalhar corretamente. Segundo, a CPU pode executar instrues de maneira
incorreta se a tenso de alimentao for muito baixa.
Algumas recomendaes para se evitar a perda de dados da EEPROM:
1. Manter o RESET do AVR ativo (nvel baixo) quando a tenso de alimentao
estiver muito baixa. Isso pode ser feito com um circuito externo de reset (BrownOut Detector BOD).
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

193

Microcontrolador AT90S8515
2. Manter o AVR em Power Down Mode quando a tenso de alimentao estiver
muito baixa. Isso evita que a CPU decodifique e execute instrues, protegendo
efetivamente os registradores da EEPROM contra escritas.
3. Armazenar constantes na memria Flash se o software no precisar alterar esse
dado. A memria Flash no pode ser modificada pela CPU e, por isso, o dado
nunca ser perdido.

15.12. UART
O AT90S8515 possui um Receptor e Transmissor Assncrono Universal
(UART) full duplex (com registradores de transmisso e recepo separados). As
principais caractersticas so:

Gerador de baud rate (taxa de transmisso/recepo) pode gerar vrias taxas


(bps).

Altas taxas de baud com cristais de baixa frequncia.

8 ou 9 bits de dados.

Filtro contra rudo.

Deteco de Overrun (perda de dado).

Deteco de Framing Error (falha na deteco do STOP bit).

Deteco de Falso START bit.

Trs interrupes separadas: TX Complete (transmisso completada), TX Data


Register Empty (registrador de dados vazio) e RX Complete (recepo
completada).

15.12.1. Transmisso de Dados


A transmisso de dados iniciada pela escrita do dado a ser transmitido no
registrador de dados da UART UDR.
Se o bit 10 (11) do registrador de deslocamento do transmissor tiver sido
transmitido, um novo dado transferido do UDR para o registrador de deslocamento.
Nesse momento, o bit UDRE (registrador de dados da UART vazio) no registrador de
status da UART USR, setado.
Quando esse bit for UM, o UDR da UART est pronto para receber o prximo
caracter. No momento que um dado transferido do UDR para o registrador de
deslocamento de 10 (11) bits, o bit 0 do registrador de deslocamento zerado (bit
START) e o bit 9 ou 10 setado (bit STOP). Se o dado possui 9 bits (o bit CHR9 no
registrador de controle da UART, UCR, setado), o bit TXB8 no UCR transferido
para o bit 9 do registrador de deslocamento do transmissor.
Depois da transferncia do UDR para o registrador de deslocamento, o bit
START transmitido na frequncia de clock do Baud Rate (taxa de transmisso)
pelo pino TXD. Em seguida, o dado transmitido bit a bit, comeando pelo menos
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

194

Microcontrolador AT90S8515
significativo (LSB). Depois do bit de STOP ser transmitido, o registrador de
deslocamento carregado se qualquer dado tenha sido escrito no UDR durante a
transmisso. Durante a carga, o bit UDRE setado. Se no existir nenhum dado no
UDR a ser enviado, o UDRE permanecer em UM at que UDR contenha um novo
dado. Se nenhum dado foi escrito, e o bit de STOP est presente no pino TXD por
um bit de largura, o flag TX Complete, TXC, no USR setado.
O bit TXEN no UCR habilita o transmissor da UART quando estiver setado.
Se esse bit for zerado, o pino PD1 pode ser usado com um pino de I/O. Quando o bit
TXEN setado, o transmissor da UART ser conectada a PD1, que ser forada a
ser sada independente da configurao do bit 1 do registrador DDRD (registrador de
direo do PORT D).

15.12.2. Recepo de Dados


O circuito lgico do receptor amostra o pino RXD numa frequncia 16 vezes
maior do que a taxa de transmisso. Enquanto a linha inativa, uma nica amostra
em nvel ZERO interpretada como sendo uma transio de descida do bit START e
a sequncia de deteco do bit START iniciada. Depois da transio de descida, o
receptor amostra o pino RXD nas amostras 8, 9 e 10. Se duas ou mais amostras
tiverem nvel lgico UM, o bit START considerado um rudo e o receptor volta a
esperar uma nova transio de descida.
Entretanto, se um bit de START vlido detectado, a amostragem dos bits
seguintes feita tambm nas amostras 8, 9 e 10. O valor lgico encontrado em pelo
menos duas das trs amostras considerado como o valor do bit. Todos os bits so
deslocados para o registrador de deslocamento da maneira como eles so
amostrados.

Figura 15.10: Amostragem dos dados recebidos pela UART.


Quando o bit STOP entra no receptor, a maioria de trs amostras deve ser
UM para que o bit de STOP seja aceito. Se dois ou mais amostras so ZERO, o flag
Framing Error (FE) no registrador de Status da UART (USR) setado. Antes da
leitura de UDR, o usurio deve verificar sempre o bit FE para detectar o Framing
Error.
Mesmo que o bit de STOP no tenha sido detectado no fim da recepo de
um dado, esse dado transferido para o UDR e o flag RXC no USR setado. Na
realidade, UDR corresponde fisicamente a dois registradores, um para transmisso e
outro para recepo de dados. Quando UDR lido, o registrador de recepo de
dados acessado e quando escrito, o registrador de transmisso de dados
acessado.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

195

Microcontrolador AT90S8515
Se a palavra de dados possui 9 bits (o bit CHR9 no registrador de Controle da
UART, UCR, setado), o bit RXB8 no UCR atualizado com o bit 9 do registrador
de deslocamento quando o dado transferido para UDR.
Se UDR no foi lido e um novo dado foi recebido, o flag Overrun (OR)
setado. Isso significa que o ltimo dado deslocado para o registrador de
deslocamento no pde ser transferido para UDR e ser perdido. O bit OR
mantido at que um dado vlido no UDR seja lido
Quando o bit RXEN no registrador UCR zerado, o receptor desabilitado.
Isso significa que o pino PD0 pode ser usado como um pino de I/O. Quando o bit
RXEN setado, o receptor da UART conectado a PD0, que forado a ser uma
entrada, independente da configurao do bit 0 do registrador DDRD (registrador de
direo do PORT D). Se PD0 forado como entrada pela UART, o bit 0 de PORTD
pode ainda ser usado para controlar o resistor de pull-up no pino.
Se o bit CHR9 no registrador UCR setado, os caracteres transmitidos e
recebidos tem 9 bits mais os bits de START e STOP. O 9 bit a ser transmitido o
bit TXB8 no registrador UCR. O 9 bit recebido o bit RXB8 no registrador UCR.

15.12.3. Controle da UART


Registrador de Dados da UART UDR

O registrador UDR fisicamente corresponde a dois registradores separados


que compartilham o mesmo endereo de I/O. Ao escrever no registrador, o
registrador de transmisso da UART escrito. Ao ler do registrador, o registrador de
recepo da UART lida.

Registrador de Status da UART USR

O USR um registrador que contm informaes de status da UART.

Bit 7 RXC: UART Receive Complete


Esse bit setado quando o dado recebido transferido do registrador de
deslocamento para UDR. Esse bit setado mesmo que ocorra um framing error.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

196

Microcontrolador AT90S8515
Se o bit RXCIE no UCR estiver setado, a interrupo de recepo completa da
UART ser executada se o bit RXC estiver setado. RXC zerado com a leitura
de UDR.

Bit 6 TXC: UART Transmit Complete


Esse bit setado quando um dado (incluindo o bit STOP) no registrador de
deslocamento foi transmitido e nenhum novo dado foi escrito no UDR. Quando o
bit TXCIE no UCR setado, se o bit TXC setado, uma interrupo por
transmisso completa na UART executada. TXC zerado por hardware pela
execuo da rotina de tratamento da interrupo.

Bit 5 UDRE: UART Data Register Empty


Esse bit setado quando um dado escrito no UDR transferido para o
registrador de deslocamento do transmissor. Isso indica que o transmissor est
pronto para receber um novo caracter para transmisso. Quando o bit UDRIE no
UCR setado, e o bit UDRE setado, a interrupo por registro de dados da
UART vazio ser executada. Quando uma interrupo ocorre, a rotina de
interrupo por registrador de dados da UART vazio deve escrever no UDR para
zerar o bit UDRE, caso contrrio, uma nova interrupo ir ocorrer quando a
rotina de interrupo terminar. UDRE setado durante o reset para indicar que o
transmissor est pronto.

Bit 4 FE: Framing Error


Esse bit setado quando um Framing Error detectado, ou seja, um bit de
STOP foi amostrado como ZERO. O bit FE zerado quando o bit de STOP de
um dado recebido como UM.

Bit 3 OR: Overrun


Esse bit setado quando um Overrun detectado, ou seja, quando o dado no
UDR no foi lido antes do prximo dado ter sido recebido no registrador de
deslocamento.
O bit OR mantido at que um dado vlido no UDR seja lido. O bit OR zerado
quando um dado recebido e transferido para UDR.

Bits 2..0 Res: Reserved bits


Esses bits so reservados no AT90S8515 e so sempre lidos como zero.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

197

Microcontrolador AT90S8515
Registrador de Controle da UART UCR

Bit 7 RXCIE: RX Complete Interrupt Enable


Quando esse bit setado, se o bit RXC no USR setado, a rotina de interrupo
por recepo completa ser executada se as interrupes estiverem habilitadas
(bit I em SREG).

Bit 6 TXCIE: TX Complete Interrupt Enable


Quando esse bit setado, se o bit TXC no USR setado, a rotina de interrupo
por transmisso completa ser executada se as interrupes estiverem
habilitadas (bit I em SREG).

Bit 5 UDRIE: UART Data Register Empty Interrupt Enable


Quando esse bit setado, se o bit UDRE no USR setado, a rotina de
interrupo por registrador de dados da UART vazio ser executada se as
interrupes estiverem habilitadas (bit I em SREG).

Bit 4 RXEN: Receiver Enable


Quando setado, esse bit habilita o receptor da UART. Se o receptor estiver
desabilitado, os flags de status TXC, OR e FE no sero setados. Se esses flags
estiverem setados, desabilitar o RXEN no ir zerar esses bits.

Bit 3 TXEN: Transmitter Enable


Quando setado, esse bit habilita o transmissor da UART. Se o transmissor
desabilitado durante a transmisso de um dado, a transmisso no desabilitada
at que os dados no registrador de deslocamento e no UDR tenham sido
completamente transmitidos.

Bit 2 CHR9: 9-bit Characters


Quando CHR9 setado, os dados transmitidos e recebidos possuem 9 bits mais
o bit de START e STOP. O 9 bit lido e escrito nos bits RXB8 e TXB8 no UCR,
respectivamente. O 9 bit de dado pode ser usado como um bit de STOP extra ou
um bit de Paridade.

Bit 1 RXB8: Receive Data Bit 8


Quando o bit CHR9 est setado, RXB8 o 9 bit do dado recebido.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

198

Microcontrolador AT90S8515

Bit 0 TXB8: Transmit Data Bit 8


Quando o bit CHR9 est setado, TXB8 o 9 bit do dado a ser transmitido.

15.12.4. Gerador de BAUD Rate


O gerador de baud rate um divisor de frequncia que gera taxas de
transmisso de acordo com a seguinte equao:

Figura 15.11: Equao que relaciona a frequncia do oscilador com o baud rate.
Registrador de BAUD Rate da UART - UBRR

O registrador UBRR um registrador de leitura/escrita que especifica o baud


rate de acordo com a equao anterior.

15.13. Comparador Analgico


O comparador analgico compara tenses da entrada positiva PB2 (AIN0) e
da entrada negativa PB3 (AIN1). Quando a tenso na entrada positiva PB2 (AIN0)
maior do que a tenso na entrada negativa PB3 (AIN1), a sada do comparador
analgico, ACO, setado. A sada do comparador pode ser usada para disparar a
funo de entrada de captura do Timer/Counter1. O comparador tambm pode
disparar uma interrupo separada, exclusiva para o comparador analgico. O
usurio pode selecionar a ocorrncia da interrupo na borda de subida, descida ou
inverso da sada do comparador.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

199

Microcontrolador AT90S8515
Registrador de Controle e Status do Comparador Analgico ACSR

Bit 7 ACD: Analog Comparator Disable


Quando esse bit setado, o comparador analgico desligado. Caso contrrio, o
comparador analgico ficar ligado.

Bit 6 Res: Reserved bit


Esse bit reservado no AT90S8515 e sempre lido como zero.

Bit 5 ACO: Analog Comparator Output


O bit ACO est diretamente conectado sada do comparador analgico.

Bit 4 ACI: Analog Comparator Interrupt Flag


Esse bit setado quando um evento definido por ACIS1 e ACIS0 ocorre na sada
do comparador. A rotina de interrupo do comparador analgico executada se
o bit ACIE est setado e o bit I no SREG est setado.

Bit 3 ACIE: Analog Comparator Interrupt Enable


Quando o bit ACIE setado e o bit I no registrador de Status (SREG) est
setado, a interrupo do comparador analgico est ativada. Se for zerado, a
interrupo ser desabilitada.

Bit 2 ACIC: Analog Comparator Input Capture Enable


Se esse bit for setado, isso habilita a funo de captura do Timer/Counter1 a ser
disparada pelo comparador analgico. Neste caso, a sada do comparador
conectada diretamente na lgica da entrada de captura, fazendo com que o
comparador utilize o redutor de rudo e as caractersticas de seleo de transio
da interrupo de captura do Timer/Counter1. Se esse bit for zerado, a conexo
entre o comparador analgico e a funo de entrada de captura no ser feita.

Bits 1,0 ACIS1, ACIS0: Analog Comparator Interrupt Mode Select


Esses bits determinam qual evento no comparador ir disparar a interrupo do
comparador analgico. As configuraes de ACIS1/ACIS0 so mostradas na
Tabela 15.13.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

200

Microcontrolador AT90S8515
Tabela 15.13: Configurao de eventos no comparador analgico.

15.14. Interface com SRAM Externa


A interface com uma SRAM consiste:

Port A: Barramento multiplexado entre a parte baixa do barramento de endereo


e o barramento de dados;

Port C: Parte alta do barramento de endereos;

Pino ALE: Address latch enable Habilitao do Latch de Endereos;

Pinos RD e WR : Sinais de controle de Leitura e Escrita.

A SRAM de dados externa habilitada quando o bit SRE bit de habilitao


da SRAM externa no registrador de controle da MCU, o MCUCR setado e as
definies de direo do registrador DDRA sero anuladas. Quando o bit SRE
zerado, a SRAM externa desabilitada e as configuraes de direo dos pinos
podem ser usadas.
Quando ALE vai de ALTO para BAIXO, um endereo vlido est no Port A.
ALE se mantm em BAIXO durante a transferncia de dados. RD e WR so
ativados apenas durante o acesso SRAM externa. A Figura 15.12 mostra como
conectar uma SRAM externa usando um AVR e 8 latches que so habilitados com G
em ALTO. Tipicamente, a SRAM externa acessada em trs ciclos. Se um estado
de espera (WAIT STATE) for necessrio, o bit SRW no registrador MCUCR deve ser
setado.
Note que o PORTA s um barramento de dados em um ciclo. Assim que o
acesso aos dados termina, PORTA volta a ser o barramento baixo de endereos.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

201

Microcontrolador AT90S8515

Figura 15.12: Conexo de uma SRAM Externa com um AVR.

15.15. Portas de Entrada/Sada


Todos os ports tm a funcionalidade de Ler-Modificar-Escrever como um port
digital I/O. Isso significa que a direo de um pino do port pode ser trocada sem que
a direo de outro pino seja trocada com as instrues SBI e CBI. O mesmo se
aplica para a troca do valor do drive (se configurado como sada) ou
habilitando/desabilitando o resistor de pull-up (se configurado como entrada).

15.15.1. Port A
O port A um port bidirecional de 8 bits. Trs endereos na memria de I/O
so usados para alocar o Port A, um para o registrador de dados PORTA,
$1B($3B), registrador de direo dos dados DDRA, $1A($3A) e os pinos de
entrada do port A PINA, $19($39). O endereo dos pinos de entrada do port A
apenas de leitura, enquanto o registrador de dados e de direo de dados so de
leitura/escrita.
Todos os pinos do port possuem resistores de pull-up individualmente
selecionveis. Os buffers de sada do port A podem fornecer 20 mA e assim acionar
diretamente display de LED. Quando os pinos PA0 at PA7 so usados como
entradas e so externamente colocadas em ZERO, elas se tornaro fontes de
corrente se o resistor de pull-up interno est ativado.
Os pinos do port A podem ser usados para o acesso uma SRAM de dados
externa. O port A pode ser configurado para ser um barramento multiplexado entre a
parte baixa dos endereos e dados durante o acesso memria de dados externa.
Nesse modo, o port A possui resistores de pull-up internos.
Quando o port A usado para a acessar a SRAM externa pelo bit SRE
External SRAM Enable no registrador MCUCR registrador de controle da MCU, a
configurao dos bits no registrador de direo de dados DDRA anulada.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

202

Microcontrolador AT90S8515
Registrador de Dados do Port A PORTA

Registrador de Direo de Dados do Port A DDRA

Endereo dos Pinos de Entrada do Port A PINA

O endereo dos pinos do port A PINA no um registrador e esse


endereo habilita o acesso ao valor fsico em cada pino do port A. Ao ler o PORTA, o
latch de dados do port A lido e ao ler PINA, o valor lgico nos pinos lido.

Port A como Entrada/Sada Digital


PAn, pino de I/O: o bit DDAn no registrador DDRA seleciona a direo desse
pino. Se DDAn for UM, PAn configurado como um pino de sada. Se DDAn for
ZERO, PAn configurado como um pino de entrada. Se PORTAn for UM quando o
pino foi configurado como uma entrada, o resistor de pull-up MOS ativado. Para
desligar o resistor de pull-up, o PORTAn deve ser zerado ou o pino deve ser
configurado como uma sada. Os pinos do port A estaro em tri-state quando um
reset ocorre, sempre se o clock no est ativo.
A Tabela 15.14 mostra a configurao de DDAn e PORTAn.

Tabela 15.14: Configurao de cada pino do PORTA.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

203

Microcontrolador AT90S8515
15.15.2. Port B
O port B um port bidirecional de 8 bits. Trs endereos na memria de I/O
so usados para alocar o Port B, um para o registrador de dados PORTB,
$18($38), registrador de direo dos dados DDRB, $17($37) e os pinos de entrada
do port B PINB, $16($36). O endereo dos pinos de entrada do port B apenas de
leitura, enquanto o registrador de dados e de direo de dados so de leitura/escrita.
Todos os pinos do port possuem resistores de pull-up individualmente
selecionveis. Os buffers de sada do port B podem fornecer 20 mA e assim acionar
diretamente display de LED. Quando os pinos PB0 at PB7 so usados como
entradas e so externamente colocadas em ZERO, elas se tornaro fontes de
corrente se o resistor de pull-up interno est ativado.
A Tabela 15.15 mostra as funes alternativas dos pinos do port B.

Tabela 15.15: Funes alternativas dos pinos do PORTB.

Quando os pinos so usados com outra funo, os registradores DDRB e


PORTB devero ser configurados conforme a descrio da funo.

Registrador de Dados do Port B PORTB

Registrador de Direo de Dados do Port B DDRB

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

204

Microcontrolador AT90S8515
Endereo dos Pinos de Entrada do Port B PINB

O endereo dos pinos do port B PINB no um registrador e esse


endereo habilita o acesso ao valor fsico em cada pino do port B. Ao ler o PORTB, o
latch de dados do port B lido e ao ler PINB, o valor lgico nos pinos lido.

Port B como Entrada/Sada Digital


PBn, pino de I/O: o bit DDBn no registrador DDRB seleciona a direo desse
pino. Se DDBn for UM, PBn configurado como um pino de sada. Se DDBn for
ZERO, PBn configurado como um pino de entrada. Se PORTBn for UM quando o
pino foi configurado como uma entrada, o resistor de pull-up MOS ativado. Para
desligar o resistor de pull-up, o PORTBn deve ser zerado ou o pino deve ser
configurado como uma sada. Os pinos do port B estaro em tri-state quando um
reset ocorre, sempre se o clock no est ativo.
A Tabela 15.16 mostra a configurao de DDBn e PORTBn.

Tabela 15.16: Configurao de cada pino do PORTB.

Outras Funes do Port B


As funes alternativas dos pinos do port B so as seguintes:

SCK Port B, Bit 7


SCK: pino de sada de clock no modo master, pino de entrada de clock no modo
slave da SPI. Quando a SPI habilitada como slave, esse pino configurado
como uma entrada, anulando as definies de DDB7. Quando a SPI habilitada
como master, a direo dos dados desse pino controlada por DDB7. Quando o
pino forado a ser uma entrada, o resistor de pull-up controlado pelo bit
PORTB7.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

205

Microcontrolador AT90S8515

MISO Port B, Bit 6


MISO: pino de entrada de dados no modo master, pino de sada de dados no
modo slave da SPI. Quando a SPI habilitada como master, esse pino
configurado como entrada, anulando as definies de DDB6. Quando a SPI
habilitada como slave, a direo dos dados desse pino controlada por DDB6.
Quando o pino forado a ser uma entrada, o resistor de pull-up controlado
pelo bit PORTB6.

MOSI Port B, Bit 5


MOSI: pino de sada de dados no modo master, pino de entrada de dados no
modo slave da SPI. Quando a SPI habilitada como slave, esse pino
configurado como uma entrada, anulando as definies de DDB5. Quando a SPI
habilitada com o master, a direo dos dados desse pino controlada por
DDB5. Quando o pino forado a ser uma entrada, o resistor de pull-up
controlado pelo bit PORTB5.

SS Port B, Bit 4

SS : pino de entrada de seleo do slave. Quando a SPI habilitada como slave,


esse pino configurado como uma entrada, anulando as definies de DDB4.
Como slave, a SPI habilitada quando esse pino colocado em BAIXO. Quando
a SPI for habilitada como master, a direo dos dados desse pino controlada
por DDB4. Quando o pino forado a ser uma entrada, o resistor de pull-up
controlado pelo bit PORTB4.

AIN1 Port B, Bit 3


AIN1: entrada negativa do comparador analgico. Quando esse pino
configurado como uma entrada (DDR3 zerado) e com o resistor MOS de pull-up
desligado (PB3 zerado), esse pino tambm usado como a entrada negativa
do comparador analgico.

AIN0 Port B, Bit 2


AIN0: entrada positiva do comparador analgico. Quando esse pino
configurado como uma entrada (DDR2 zerado) e com o resistor MOS de pull-up
desligado (PB2 zerado), esse pino tambm usado como a entrada posiva do
comparador analgico.

T1 Port B, Bit 1
T1: entrada da fonte de clock do Timer/Counter1.

T0 Port B, Bit 0
T0: entrada da fonte de clock do Timer/Counter0.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

206

Microcontrolador AT90S8515
15.15.3. Port C
O port C um port bidirecional de 8 bits. Trs endereos na memria de I/O
so usados para alocar o Port C, um para o registrador de dados PORTC,
$15($35), registrador de direo dos dados DDRC, $14($34) e os pinos de entrada
do port C PINC, $13($33). O endereo dos pinos de entrada do port C apenas de
leitura, enquanto o registrador de dados e de direo de dados so de leitura/escrita.
Todos os pinos do port possuem resistores de pull-up individualmente
selecionveis. Os buffers de sada do port C podem fornecer 20 mA e assim acionar
diretamente display de LED. Quando os pinos PC0 at PC7 so usados como
entradas e so externamente colocadas em ZERO, elas se tornaro fontes de
corrente se o resistor de pull-up interno est ativado.
Os pinos do port C podem ser usados para o acesso uma SRAM de dados
externa. O port C pode ser configurado para ser o barramento da parte alta dos
endereos durante o acesso memria de dados externa.
Quando o port C usado para a acessar a SRAM externa pelo bit SRE
External SRAM Enable no registrador MCUCR registrador de controle da MCU, a
configurao dos bits no registrador de direo de dados DDRC anulada.

Registrador de Dados do Port C PORTC

Registrador de Direo de Dados do Port C DDRC

Endereo dos Pinos de Entrada do Port C PINC

O endereo dos pinos do port C PINC no um registrador e esse


endereo habilita o acesso ao valor fsico em cada pino do port C. Ao ler o PORTC,
o latch de dados do port C lido e ao ler PINC, o valor lgico nos pinos lido.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

207

Microcontrolador AT90S8515
Port C como Entrada/Sada Digital
PCn, pino de I/O: o bit DDCn no registrador DDRC seleciona a direo desse
pino. Se DDCn for UM, PCn configurado como um pino de sada. Se DDCn for
ZERO, PCn configurado como um pino de entrada. Se PORTCn for UM quando o
pino foi configurado como uma entrada, o resistor de pull-up MOS ativado. Para
desligar o resistor de pull-up, o PORTCn deve ser zerado ou o pino deve ser
configurado como uma sada. Os pinos do port C estaro em tri-state quando um
reset ocorre, sempre se o clock no est ativo.
A Tabela 15.16 mostra a configurao de DDCn e PORTCn.

Tabela 15.17: Configurao de cada pino do PORTC.

15.15.4. Port D
O port D um port bidirecional de 8 bits. Trs endereos na memria de I/O
so usados para alocar o Port D, um para o registrador de dados PORTD,
$12($32), registrador de direo dos dados DDRD, $11($31) e os pinos de entrada
do port D PIND, $10($30). O endereo dos pinos de entrada do port D apenas de
leitura, enquanto o registrador de dados e de direo de dados so de leitura/escrita.
Todos os pinos do port possuem resistores de pull-up individualmente
selecionveis. Os buffers de sada do port D podem fornecer 20 mA e assim acionar
diretamente display de LED. Quando os pinos PD0 at PD7 so usados como
entradas e so externamente colocadas em ZERO, elas se tornaro fontes de
corrente se o resistor de pull-up interno est ativado.
A Tabela 15.18 mostra as funes alternativas dos pinos do port D.

Tabela 15.18: Funes alternativas dos pinos do PORTD.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

208

Microcontrolador AT90S8515
Registrador de Dados do Port D PORTD

Registrador de Direo de Dados do Port D DDRD

Endereo dos Pinos de Entrada do Port D PIND

O endereo dos pinos do port D PIND no um registrador e esse


endereo habilita o acesso ao valor fsico em cada pino do port D. Ao ler o PORTD,
o latch de dados do port D lido e ao ler PIND, o valor lgico nos pinos lido.

Port D como Entrada/Sada Digital


PDn, pino de I/O: o bit DDDn no registrador DDRD seleciona a direo desse
pino. Se DDDn for UM, PDn configurado como um pino de sada. Se DDDn for
ZERO, PDn configurado como um pino de entrada. Se PORTDn for UM quando o
pino foi configurado como uma entrada, o resistor de pull-up MOS ativado. Para
desligar o resistor de pull-up, o PORTDn deve ser zerado ou o pino deve ser
configurado como uma sada. Os pinos do port D estaro em tri-state quando um
reset ocorre, sempre se o clock no est ativo.
A Tabela 15.19 mostra a configurao de DDDn e PORTDn.

Tabela 15.19: Configurao de cada pino do PORTD.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

209

Microcontrolador AT90S8515
Outras Funes do Port D

RD Port D, Bit 7
RD o sinal de controle para leitura da memria de dados externa.

WR Port D, Bit 6

WR o sinal de controle para escrita da memria de dados externa.

OC1A Port D, Bit 5


OC1A, sada de comparao do Timer/Counter1: o pino PD5 pode ser usado
como uma sada externa quando o valor de comparao igual ao
Timer/Counter1. O pino PD5 deve ser configurado como uma sada (DDD5 deve
ser setado).

INT1 Port D, Bit 3


INT1, entrada de interrupo externa 1: o pino PD3 serve como entrada para a
interrupo externa 1 para a MCU.

INT0 Port D, Bit 2


INT0, entrada de interrupo externa 0: o pino PD2 serve como entrada para a
interrupo externa 0 para a MCU.

TXD Port D, Bit 1


Transmisso de dados (pino de sada de dados da UART). Quando o transmissor
da UART est habilitado, esse pino configurado como sada.

RXD Port D, Bit 0


Recepo de dados (pino de entrada de dados da UART). Quando o receptor da
UART est habilitado, esse pino configurado como entrada. Quando a UART
fora esse pino ser uma entrada, um nvel lgico UM em PORTD0 ir acionar o
resistor de pull-up interno.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

210

Guia para Uso do Assembler AVR

16. Guia para Uso do Assembler AVR

16.1. Introduo
O Assembler AVR converte um cdigo fonte feito em assembly para um
cdigo objeto que ser utilizado em microcontroladores da famlia AT90S Atmel.
Esse cdigo objeto gerado pode ser usado em um simulador ou emulador (In-Circuit
Emulator). O Assembler tambm gera um cdigo objeto de programao da
memria de programa (FLASH) dos microcontroladores AVR.

16.2. Cdigo Fonte do Assembler


O Assembler utiliza arquivos fonte que contm mnemnicos de instrues,
labels e diretivas. Os mnemnicos de instrues e as diretivas necessitam de
operados.
Cada linha de cdigo limitada em 120 caracteres. Cada linha pode ter um
label, que uma seqncia de letras ou nmeros terminada com :. Esses labels
so usados como alvos para instrues de pulo ou desvio ou como nome de
variveis na memria de Programa ou na RAM.
Uma linha do cdigo fonte pode ter as seguintes formas:
1. [label:] diretiva [operandos] [Comentrios]
2. [label:] instrues [operandos] [Comentrios]
3. Comentrios
4. Linha em branco
Um comentrio feito da seguinte maneira:

; [texto]
Os itens colocados em colchetes [] so opcionais. O texto colocado entre o
delimitador de comentrios (;) e o caracter fim de linha (EOL) ignorado pelo
Assembler.

Exemplos:
label: .EQU var1=100
.EQU var2=200

; Faz var1 igual 100 (Diretiva)


; Faz var2 igual 200

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

211

Guia para Uso do Assembler AVR

test:

rjmp test

; Loop Infinito (Instruo)

; Linha comentada
; Outra linha comentada

16.3. Registradores da Memria de I/O do AT90S8515


Tabela 16.1: Registradores na Memria de I/O.
Endereo

Nome

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

$3F ($5F)

SREG

$3E ($5E)

SPH

SP15

SP14

SP13

SP12

SP11

SP10

SP9

SP8

$3D ($5D)

SPL

SP7

SP6

SP5

SP4

SP3

SP2

SP1

SP0

$3C ($5C) Reserved


$3B ($5B)

GIMSK

INT1

INT0

$3A ($5A)

GIFR

INTF1

INTF0

$39 ($59)

TIMSK

TOIE1

OCIE1A

OCIE1B

TICIE1

TOIE0

$38 ($58)

TIFR

TOV1

OCF1A

OCF1B

ICF1

TOV0

SRE

SRW

SE

SM

ISC11

ISC10

ISC01

ISC00

CS02

CS01

CS00

PWM11

PWM10

CTC1

CS12

CS11

CS10

$37 ($57) Reserved


$36 ($56) Reserved
$35 ($55)

MCUCR

$34 ($54) Reserved


$33 ($53)

TCCR0

$32 ($52)

TCNT0

...

Reserved

Timer/Counter0 (8 Bit)

$2F ($4F) TCCR1A COM1A1 COM1A0 COM1B1 COM1B0


$2E ($4E) TCCR1B

ICNC1

ICES1

$2D ($4D) TCNT1H

Timer/Counter1 - Counter Register High Byte

$2C ($4C) TCNT1L

Timer/Counter1 - Counter Register Low Byte

$2B ($4B) OCR1AH

Timer/Counter1 - Output Compare Register A High Byte

$2A ($4A) OCR1AL

Timer/Counter1 - Output Compare Register A Low Byte

$29 ($49) OCR1BH

Timer/Counter1 - Output Compare Register B High Byte

$28 ($48)

OCR1BL

Timer/Counter1 - Output Compare Register B Low Byte

...

Reserved

$25 ($45)

ICR1H

Timer/Counter1 - Input Capture Register High Byte

$24 ($44)

ICR1L

Timer/Counter1 - Input Capture Register Low Byte

...

Reserved

$21 ($41)

WDTCR

WDTOE

WDE

WDP2

WDP1

WDP0

$20 ($40) Reserved


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

212

Guia para Uso do Assembler AVR


$1F ($3F)

EEARH

$1E ($3E)

EEARL

EEPROM Address Register Low Byte

$1D ($3D)

EEDR

EEPROM Data Register

$1C ($3C)

EECR

$1B ($3B)

PORTA

$1A ($3A)

DDRA

DDA7

DDA6

DDA5

DDA4

DDA3

DDA2

DDA1

DDA0

$19 ($39)

PINA

PINA7

PINA6

PINA5

PINA4

PINA3

PINA2

PINA1

PINA0

$18 ($38)

PORTB

$17 ($37)

DDRB

DDB7

DDB6

DDB5

DDB4

DDB3

DDB2

DDB1

DDB0

$16 ($36)

PINB

PINB7

PINB6

PINB5

PINB4

PINB3

PINB2

PINB1

PINB0

$15 ($35)

PORTC

$14 ($34)

DDRC

DDC7

DDC6

DDC5

DDC4

DDC3

DDC2

DDC1

DDC0

$13 ($33)

PINC

PINC7

PINC6

PINC5

PINC4

PINC3

PINC2

PINC1

PINC0

$12 ($32)

PORTD

$11 ($31)

DDRD

DDD7

DDD6

DDD5

DDD4

DDD3

DDD2

DDD1

DDD0

$10 ($30)

PIND

PIND7

PIND6

PIND5

PIND4

PIND3

PIND2

PIND1

PIND0

$0F ($2F)

SPDR

$0E ($2E)

SPSR

SPSE

WCOL

$0D ($2D)

SPCR

SPIE

SPE

DORD

MSTR

CPOL

CPHA

SPR1

SPR0

$0C ($2C)

UDR

$0B ($2B)

USR

RXC

TXC

UDRE

FE

OR

$0A ($2A)

UCR

RXCIE

TXCIE

UDRIE

RXEN

TXEN

CHR9

RXB8

TXB8

$09 ($29)

UBRR

$08 ($28)

ACSR

ACIC

ACIS1

ACIS0

Reserved

EEMWE

EEAR8

EEWE

EERE

PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0

PORTB7 PORTB6 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0

PORTC7 PORTC6 PORTC5 PORTC4 PORTC3 PORTC2 PORTC1 PORTC0

PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0

SPI Data Register

UART I/O Data Register

UART Baud Rate Register


ACD

ACO

ACI

ACIE

$00 ($20) Reserved

Bits reservados devem ser escritos com zero, se forem acessados. Endereos
de memria de I/O reservados nunca devem ser escritos. Alguns flags de status so
zerados com a escrita do valor lgico UM neles.
As instrues CBI e SBI operaro em todos os bits dos registradores de I/O,
escrevendo um UM lgico no flag lido como UM lgico e assim zerando o flag. As
instrues CBI e SBI operam com os registradores de $00 a $1F apenas.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

213

Guia para Uso do Assembler AVR


16.4. Tabela de Instrues
Rd: Registrador de destino (e origem)
Rr: Registrador de origem
b: Constante (0-7), pode ser uma expresso constante
s: Constante (0-7), pode ser uma expresso constante
P: Constante (0-31/63), pode ser uma expresso constante
k: Constante, faixa de valores depende da instruo. Pode ser uma expresso
constante
q: Constante (0-63), pode ser uma expresso constante
Rdl: R24, R26, R28, R30. Usados nas instrues ADIW e SBIW
X,Y,Z: Registradores para endereamento indireto (X=R27:R26, Y=R29:R28,
Z=R31:R30)
Tabela 16.2: Instrues aritmticas e lgicas.
INSTRUES ARITMTICAS E LGICAS
Mnemnicos Operandos

Descrio

Operao

Flags

N de
Clock

Rd Rd + Rr

Z,C,N,V,H

Rd Rd + Rr + C

Z,C,N,V,H

Rdh:Rdl Rdh:Rdl + K

Z,C,N,V,S

ADD

Rd, Rr

Soma dois registradores

ADC

Rd, Rr

Soma com Carry dois


registradores

ADIW

Rdl,K

Soma valor imediato a uma


palavra

SUB

Rd, Rr

Subtrai dois registradores

Rd Rd Rr

Z,C,N,V,H

SUBI

Rd, K

Subtrai uma constante de um


registrador

Rd Rd K

Z,C,N,V,H

SBC

Rd, Rr

Subtrai com Carry dois


registradores

Rd Rd Rr C

Z,C,N,V,H

SBCI

Rd, K

Subtrai com Carry constante de


registrador

Rd Rd K C

Z,C,N,V,H

SBIW

Rdl,K

Subtrai valor imediato de uma


palavra

Rdh:Rdl Rdh:Rdl K

Z,C,N,V,S

AND

Rd, Rr

E lgico entre registradores

Rd Rd Rr

Z,N,V

ANDI

Rd, K

E lgico entre registrador e


constante

Rd Rd K

Z,N,V

OR

Rd, Rr

OU lgico entre registradores

Rd Rd v Rr

Z,N,V

ORI

Rd, K

OU lgico entre registrador e


constante

Rd Rd v K

Z,N,V

EOR

Rd, Rr

OU Exclusivo entre
registradores

Rd Rd Rr

Z,N,V

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

214

Guia para Uso do Assembler AVR

COM

Rd

Complemento de um

Rd $FF Rd

Z,C,N,V

NEG

Rd

Complemento de dois

Rd $00 Rd

Z,C,N,V,H

SBR

Rd,K

Faz bit(s) no registrador = 1

Rd Rd v K

Z,N,V

CBR

Rd,K

Faz bit(s) no registrador = 0

Rd Rd ($FF K)

Z,N,V

INC

Rd

Incrementa

Rd Rd + 1

Z,N,V

DEC

Rd

Decrementa

Rd Rd 1

Z,N,V

TST

Rd

Testa registrador por zero ou


negativo

Rd Rd Rd

Z,N,V

CLR

Rd

Faz registrador = $00

Rd Rd Rd

Z,N,V

SER

Rd

Faz registrador = $FF

Rd $FF

None

Operao

Flags

N de
Clock

PC PC + k + 1

None

PC Z

None

PC PC + k + 1

None

PC Z

None

Tabela 16.3: Instrues de desvio.


INSTRUES DE DESVIO
Mnemnicos Operandos

RJMP

IJMP
RCALL

Descrio

Salto relativo
Salto indireto a (Z)

ICALL

Chamada relativa a sub-rotina


Chamada indireta a (Z)

RET

Retorno de sub-rotina

PC STACK

None

RETI

Retorno de interrupo

PC STACK

se (Rd = Rr) PC PC + 2
ou 3

None

1/2/
3

Rd Rr

Z, N,V,C,H

Rd Rr C

Z, N,V,C,H

Rd K

Z, N,V,C,H

CPSE

Rd,Rr

Compara, salta instruo se for


igual

CP

Rd,Rr

Compara

CPC

Rd,Rr

Compara com Carry

CPI

Rd,K

Compara registrador com valor


imediato

SBRC

Rr, b

Salta instruo se bit no


registrador zero

se (Rr(b)=0) PC PC + 2
ou 3

None

1/2/
3

SBRS

Rr, b

Salta instruo se bit no


registrador um

se (Rr(b)=1) PC PC + 2
ou 3

None

1/2/
3

SBIC

P, b

Salta instruo se bit no reg. de


I/O zero

se (P(b)=0) PC PC + 2
ou 3

None

1/2/
3

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

215

Guia para Uso do Assembler AVR

SBIS

P, b

Salta instruo se bit no reg. de


I/O um

se (P(b)=1) PC PC + 2
ou 3

None

1/2/
3

BRBS

s, k

Desvia se flag de status um

se (SREG(s)=1) ento PC
PC+ k + 1

None

1/2

BRBC

s, k

Desvia se flag de status zero

se (SREG(s)=0) ento PC
PC+ k + 1

None

1/2

BREQ

Desvia se igual

se (Z = 1) ento PC PC
+k+1

None

1/2

BRNE

Desvia se no igual

se (Z = 0) ento PC PC
+k+1

None

1/2

BRCS

Desvia se Carry um

se (C = 1) ento PC PC
+k+1

None

1/2

BRCC

Desvia se Carry zero

se (C = 0) ento PC PC
+k+1

None

1/2

BRSH

Desvia se maior ou igual

se (C = 0) ento PC PC
+k+1

None

1/2

BRLO

Desvia se menor

se (C = 1) ento PC PC
+k+1

None

1/2

BRMI

Desvia se negativo

se (N = 1) ento PC PC
+k+1

None

1/2

BRPL

Desvia se positivo

se (N = 0) ento PC PC
+k+1

None

1/2

BRGE

Desvia se maior ou igual,


sinalizado

se (N V = 0) ento PC
PC + k + 1

None

1/2

BRLT

Desvia se menor do que zero,


sinalizado

se (N V = 1) ento PC
PC + k + 1

None

1/2

BRHS

Desvia se Half Carry um

se (H = 1) ento PC PC
+k+1

None

1/2

BRHC

Desvia se Half Carry zero

se (H = 0) ento PC PC
+k+1

None

1/2

BRTS

Desvia se flag T um

se (T = 1) ento PC PC
+k+1

None

1/2

BRTC

Desvia se flag T zero

se (T = 0) ento PC PC
+k+1

None

1/2

BRVS

Desvia se flag de Overflow um

se (V = 1) ento PC PC
+k+1

None

1/2

BRVC

Desvia se flag de Overflow


zero

se (V = 0) ento PC PC
+k+1

None

1/2

BRIE

Desvia se interrupes esto


habilitadas

se ( I = 1) ento PC PC
+k+1

None

1/2

BRID

Desvia se interrupes esto


desabilitadas

se ( I = 0) ento PC PC
+k+1

None

1/2

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

216

Guia para Uso do Assembler AVR


Tabela 16.4: Instrues de transferncia de dados.
INSTRUES DE TRANSFERNCIA DE DADOS
Mnemnicos Operandos

Descrio

Operao

Flags

N de
Clock

MOV

Rd, Rr

Move contedo de registrador


para outro

Rd Rr

None

LDI

Rd, K

Carrega valor imediato

Rd K

None

LD

Rd, X

Carrega valor indireto

Rd (X)

None

LD

Rd, X+

Carrega valor indireto com ps


incremento

Rd (X), X X + 1

None

LD

Rd, - X

Carrega valor indireto com pr


decremento

X X 1, Rd (X)

None

LD

Rd, Y

Rd (Y)

None

LD

Rd, Y+

Carrega valor indireto com ps


incremento

Rd (Y), Y Y + 1

None

LD

Rd, - Y

Carrega valor indireto com pr


incremento

Y Y 1, Rd (Y)

None

LDD

Rd,Y + q

Rd (Y + q)

None

LD

Rd, Z

Rd (Z)

None

LD

Rd, Z+

Carrega valor indireto com ps


incremento

Rd (Z), Z Z+1

None

LD

Rd, -Z

Carrega valor indireto com pr


decremento

Z Z 1, Rd (Z)

None

LDD

Rd, Z+q

Rd (Z + q)

None

LDS

Rd, k

Carrega valor direto da SRAM

Rd (k)

None

ST

X, Rr

Armazena valor indireto

(X) Rr

None

ST

X+, Rr

Armazena valor indireto com


ps inc.

(X) Rr, X X + 1

None

ST

-X, Rr

Armazena valor indireto com pr


dec.

X X 1, (X) Rr

None

ST

Y, Rr

Armazena valor indireto

(Y) Rr

None

ST

Y+, Rr

Armazena valor indireto com


ps inc.

(Y) Rr, Y Y + 1

None

ST

-Y, Rr

Armazena valor indireto com pr


dec.

Y Y 1, (Y) Rr

None

STD

Y + q, Rr

(Y + q) Rr

None

ST

Z, Rr

(Z) Rr

None

Carrega valor indireto

Carrega valor indireto com


deslocamento
Carrega valor indireto

Carrega valor indireto com


deslocamento

Armazena valor indireto com


deslocamento
Armazena valor indireto

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

217

Guia para Uso do Assembler AVR

ST

Z+, Rr

Armazena valor indireto com


ps inc.

(Z) Rr, Z Z + 1

None

ST

-Z, Rr

Armazena valor indireto com pr


dec.

Z Z 1, (Z) Rr

None

STD

Z+q, Rr

(Z + q) Rr

None

STS

k, Rr

Armazena direto na SRAM

(k) Rr

None

Carrega valor da memria de


programa

R0 (Z)

None

LPM

Armazena valor indireto com


deslocamento

IN

Rd, P

Port de entrada

Rd P

None

OUT

P, Rr

Port de sada

P Rr

None

PUSH

Rr

Guarda valor na pilha

STACK Rr

None

POP

Rd

Busca valor da pilha para o


registrador

Rd STACK

None

Tabela 16.5: Instrues de teste bit a bit.


INSTRUES DE TESTE BIT A BIT
Mnemnicos Operandos

Descrio

Operao

Flags

N de
Clock

SBI

P,b

Faz bit no registrador de I/O = 1

I/O(P,b) 1

None

CBI

P,b

Faz bit no registrador de I/O = 0

I/O(P,b) 0

None

LSL

Rd

Deslocamento lgico para a


esquerda

Rd(n+1) Rd(n), Rd(0)


0

Z,C,N,V

LSR

Rd

Deslocamento lgico para da


direita

Rd(n) Rd(n+1), Rd(7)


0

Z,C,N,V

ROL

Rd

Rotao para a esquerda com


Carry

Rd(0) C,Rd(n+1)
Rd(n),CRd(7)

Z,C,N,V

ROR

Rd

Rotao para a direita com


Carry

Rd(7)C,Rd(n)
Rd(n+1),CRd(0)

Z,C,N,V

ASR

Rd

Deslocamento aritmtico para a


direita

Rd(n) Rd(n+1), n=0..6

Z,C,N,V

SWAP

Rd

Troca nibbles

Rd(3..0)
Rd(7..4),Rd(7..4)Rd(3..0)

None

BSET

Faz flag = 1

SREG(s) 1

SREG(s)

BCLR

Faz flag = 0

SREG(s) 0

SREG(s)

BST

Rr, b

Armazena bit do reg. no flag T

T Rr(b)

BLD

Rd, b

Carrega bit no reg. com o flag T

Rd(b) T

None

C1

SEC

Faz Carry = 1

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

218

Guia para Uso do Assembler AVR

CLC

Faz Carry = 0

C0

SEN

Faz flag Negative = 1

N1

CLN

Faz flag Negative = 0

N0

SEZ

Faz flag Zero = 1

Z 1

CLZ

Faz flag Zero = 0

Z0

SEI

Habilita interrupes

I1

CLI

Desabilita interrupes

I0

SES

Faz flag Signed Test = 1

S1

CLS

Faz flag Signed Test = 0

S0

SEV

Faz flag Twos Complement


Overflow = 1

V1

CLV

Faz flag Twos Complement


Overflow = 0

V0

SET

Faz flag T no SREG = 1

T1

CLT

Faz flag T no SREG = 0

T0

SEH

Faz flag Half Carry no SREG = 1

H1

CLH

Faz flag Half Carry no SREG = 0

H0

NOP

Nenhuma operao

None

Sleep

None

Reinicia Watchdog

None

SLEEP
WDR

16.5. Diretivas no Assembler


As diretivas no so convertidas diretamente em opcodes (cdigos de
operao). Elas so usadas para corrigir endereos do programa na memria, definir
macros, inicializar memria, dentre outras funes. A Tabela 16.6 mostra a lista de
diretivas suportadas pelo Assembler.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

219

Guia para Uso do Assembler AVR


Tabela 16.6: Diretivas utilizadas no Assembler AVR.
Diretiva

Descrio

BYTE

Reserva bytes para uma varivel

CSEG

Segmento de cdigo

DB

Define constantes de um byte

DEF

Define um nome simblico para um registrador

DEVICE

Define o componente para o Assembler

DSEG

Segmento de dados

DW

Define constantes de dois bytes (word)

ENDMACRO

Finaliza de uma macro

EQU

Substitui uma expresso por um nome simblico

ESEG

Segmento da EEPROM

EXIT

Sai do arquivo

INCLUDE

L o fonte de outro arquivo

LIST

Habilita a criao de um arquivo de descrio (list file)

LISTMAC

Habilita a expanso de macro

MACRO

Inicia uma macro

NOLIST

Desabilita a criao de um arquivo de descrio (list file)

ORG

Posiciona o programa no endereo dado

SET

Substitui uma expresso por um nome simblico

Todas as diretivas devem ser precedidas por um ponto (.).

BYTE Reserva bytes para uma varivel


A diretiva BYTE reserva posies de memria na SRAM. A diretiva BYTE deve ser
precedida por um label (nome da varivel). A diretiva recebe como parmetro o
nmero de bytes a serem reservados para a varivel na SRAM. Por isso, essa
diretiva deve ser usada apenas dentro das definies do segmento de dados
(DSEG). Os bytes reservados no sero inicializados.
Sintaxe:
LABEL: .BYTE expresso
Exemplo:
.DSEG
var1: .BYTE 1

; reserva 1 byte para var1

table: .BYTE tab_size

; reserva tab_size bytes para table

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

220

Guia para Uso do Assembler AVR


.CSEG
ldi r30,low(var1)

; Carrega o registrador BAIXO de Z

ldi r31,high(var1)

; Carrega o registrador ALTO de Z

ld r1,Z

; Carrega VAR1 para o registrador 1

CSEG Segmento de cdigo


A diretiva CSEG define o incio do Segmento de Cdigo. Um arquivo pode conter
vrios segmentos de cdigo, que sero concatenados em um nico segmento de
cdigo quando o Assembler for executado. A diretiva BYTE no pode ser usada
dentro de um segmento de cdigo. A diretiva ORG pode ser usada para especificar
endereos de cdigos ou constantes na memria de programa. Esta diretiva no
requer nenhum parmetro.
Sintaxe:
.CSEG
Exemplo:
.DSEG

; Incio do segmento de dados

vartab: .BYTE 4

; Reserva 4 bytes na SRAM para vartab

.CSEG

; Incio do segmento de cdigo

const: .DW 2

; Escreve o valor 0x0002 (16 bits) na memria de


; programa

mov r1,r0

; Faz qualquer coisa

DB Define constantes de um byte na memria de programa ou na EEPROM


A diretiva DB armazena bytes na memria de programa ou na EEPROM. A diretiva
DB deve ser precedida por um label (nome de uma constante). A diretiva recebe
como parmetro um byte ou uma sequncia de bytes.
A diretiva DB deve ser usada dentro do segmento de cdigo ou segmento de
EEPROM. Os bytes da lista devem ser separados por vrgulas (,). Cada valor deve
ser um nmero entre 128 e 255. Se o valor for negativo, a representao
complemento a dois de 8 bits do valor ser armazenada na memria de programa ou
na EEPROM.
Se a diretiva DB usada no segmento de cdigo e o nmero de valores maior do
que um, os dados so armazenados a cada dois bytes em cada endereo da
memria de programa.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

221

Guia para Uso do Assembler AVR


Sintaxe:
LABEL: .DB listadevalores
Exemplo:
.CSEG
consts: .DB 0, 255, 0b01010101, -128, 0xaa
.ESEG
eeconst: .DB 0xff

DEF Define um nome simblico para um registrador


A diretiva DEF permite que os registradores possam ser chamados por nomes
simblicos. Um nome definido usado pelo programa para chamar um registrador.
Um registrador pode ter vrios nomes associados a ele. Um nome pode ser
redefinido mais tarde dentro do programa.
Sintaxe:
.DEF Nome=Registrador
Exemplo:
.DEF temp=R16
.DEF ior=R0
.CSEG
ldi

temp,0xf0

; Carrega o valor 0xf0 no registrador temp

in

ior,0x3f

; Le SREG e o armazena no registrador ior

eor

temp,ior

; Ou Exclusivo entre temp e ior

DEVICE Define qual componente ser usado pelo programa


A diretiva DEVICE indica para o Assembler qual componente que o cdigo ser
executado. Se esta diretiva usada e o cdigo possui uma instruo no suportada
pelo componente, uma mensagem de aviso mostrada de Assembler. Se o
tamanho do segmento de cdigo ou do segmento da EEPROM maior do que o
suportado pelo componente especificado, um aviso tambm ocorrer. Se a diretiva
DEVICE no for usada, o Assembler assume que todas as instrues so
suportadas e no h restries de tamanho de memria.
Sintaxe:
.DEVICE AT90S1200 | AT90S2313 | AT90S4414 | AT90S8515
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

222

Guia para Uso do Assembler AVR

Exemplo:
.DEVICE AT90S1200
AT90S1200

; Especifica que o componente a ser usado o

.CSEG
push r30

; Essa instruo ir gerar um mensagem de aviso, j que o


; componente especificado no suporta esta instruo

DSEG Segmento de dados


A diretiva DSEG define o incio do segmento de dados. Um arquivo pode conter
vrios segmentos de dados, que sero concatenados em um nico segmento de
dados quando o Assembler for executado. Um segmento de dados consistir,
basicamente, de diretivas BYTE (e labels). A diretiva ORG pode ser usada para
enderear variveis na SRAM. A diretiva no requer nenhum parmetro.
Sintaxe:
.DSEG
Exemplo:
.DSEG

; Incio do segmento de dados

var1: .BYTE 1

; reserva 1 byte para var1

table: .BYTE tab_size

; reserva tab_size bytes

.CSEG
ldi r30,low(var1)

; Carrega o registrador baixo de Z

ldi r31,high(var1)

; Carrega o registrador alto de Z

ld r1,Z

; Carrega var1 para registrador 1

DW Define constantes de dois bytes (word) na memria de programa ou na


EEPROM
A diretiva DW reserva words memria de programa ou na EEPROM. A diretiva DW
deve ser precedida por um label (nome de uma constante). A diretiva recebe como
parmetro uma word ou uma sequncia de words.
A diretiva DW deve ser usada dentro do segmento de cdigo ou segmento de
EEPROM. As words da lista devem ser separadas por vrgulas (,). Cada valor deve
ser um nmero entre 32768 e 65535. Se o valor for negativo, a representao
complemento a dois de 16 bits do valor ser armazenada na memria de programa
ou na EEPROM.
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

223

Guia para Uso do Assembler AVR

Sintaxe:
LABEL:

.DW listadevalores

Exemplo:
.CSEG
varlist: .DW 0,0xffff,0b1001110001010101,-32768,65535
.ESEG
eevar: .DW 0xffff

ENDMACRO Finaliza uma macro


A diretiva ENDMACRO indica o fim de uma definio de macro. Esta diretiva no
requer parmetros.
Sintaxe:
.ENDMACRO
Exemplo:
.MACRO

SUBI16

; Inicia uma definio de macro

subi r16,low(@0)

; Subtrai o byte baixo

sbci r17,high(@0)

; Subtrai o byte alto

.ENDMACRO

; Fim da definio de macro

EQU Substitui uma expresso por um nome simblico


A diretiva EQU associa um nome (label) a um valor. Esse nome pode ser usado em
expresses posteriores. Um nome associado a um valor pela diretiva EQU uma
constante e no pode ser mudado ou redefinido.
Sintaxe:
.EQU label = expresso
Exemplo:
.EQU io_offset = 0x23
.EQU porta = io_offset + 2
.CSEG

; Incio do segmento de cdigo


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

224

Guia para Uso do Assembler AVR


clr r2

; Zera o registrador 2

out porta,r2

; Escreve o valor do registrador 2 no Port A

ESEG Segmento de EEPROM


A diretiva ESEG define o incio do segmento de EEPROM. Um arquivo pode conter
vrios segmentos de EEPROM, que sero concatenados para um nico segmento
de EEPROM quando o Assembler for executado. A diretiva BYTE no pode ser
usada em um segmento de EEPROM. A diretiva ORG pode ser usada para localizar
constantes na EEPROM. Esta diretiva no requer parmetros.
Sintaxe:
.ESEG
Exemplo:
.DSEG

; Inicia o segmento de dados

vartab: .BYTE 4

; Reserva 4 bytes na SRAM

.ESEG
eevar: .DW 0xff0f

; Inicializa uma word na EEPROM

.CSEG

; Inicia o segmento de cdigo

const: .DW 2

; Escreve o valor 0x0002 na memria de programa

mov r1,r0

; Faz qualquer coisa

EXIT Sai deste arquivo


A diretiva EXIT para a execuo do Assembler. Normalmente, o Assembler
executado at encontrar o fim de arquivo (EOF). Se a diretiva EXIT aparece em um
arquivo que foi includo, o Assembler continua da linha seguinte da diretiva
INCLUDE.
Sintaxe:
.EXIT
Exemplo:
.EXIT

; Sai deste arquivo

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

225

Guia para Uso do Assembler AVR


INCLUDE Inclui outro arquivo
A diretiva INCLUDE indica para o Assembler comear a leitura do arquivo
especificado. O Assembler ento executado at encontrar o fim de arquivo (EOF)
ou uma diretiva EXIT. Um arquivo includo pode conter tambm outras diretivas
INCLUDE.
Sintaxe:
.INCLUDE nomedoarquivo
Exemplo:
; iodefs.asm:
.EQU sreg=0x3f

; Registrador de Status

.EQU sphigh=0x3e ; Registrador Alto do Ponteiro de Pilha (Stack pointer)


.EQU splow=0x3d ; Registrador Baixo do Ponteiro de Pilha (Stack pointer)
; incdemo.asm
.INCLUDE iodefs.asm

; Inclui definies de I/O

in r0,sreg

; Le registrador de status

LIST Habilita a criao do arquivo de descrio (listfile)


A diretiva LIST indica para o Assembler criar um arquivo de descrio (listfile). Esse
arquivo uma combinao do cdigo fonte, endereos e opcodes (cdigos de
instrues). A criao deste arquivo, por default, est habilitada. Esta diretiva pode
ser usada junto com a diretiva NOLIST para gerar um listfile de partes do programa
fonte.
Sintaxe:
.LIST
Exemplo:
.NOLIST

; Desabilita a criao do listfile

.INCLUDE macro.inc

; Os arquivos includos no sero mostrados o listfile

.INCLUDE const.def
.LIST

; Habilita novamente a criao do listfile

LISTMAC Habilita expanso de macro

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

226

Guia para Uso do Assembler AVR


A diretiva LISTMAC informa para o Assembler que, quando uma macro chamada,
a expanso da macro deve ser mostrada no listfile gerado pelo Assembler. Por
default, apenas as chamadas de macros com parmetros so mostradas no listfile.
Sintaxe:
.LISTMAC
Exemplo:
.MACRO MACX

; Define um exemplo de macro

add r0,@0

; Faz qualquer coisa

eor r1,@1

; Faz qualquer coisa

.ENDMACRO

; Fim da definio da macro

.LISTMAC

; Habilita expanso da macro

MACX r2,r1

; Chama a macro, mostra a expanso

MACRO Inicia uma macro


A diretiva MACRO informa para o Assembler o incio de uma macro. A diretiva
MACRO usa o nome da macro como parmetro. Quando o nome da macro escrito
posteriormente no programa, a definio da macro expandida no local onde ela foi
usada. Uma macro suporta at 10 parmetros. Esses parmetros so chamados
como @0-@9 dentro da definio da macro. Na chamada de uma macro, os
parmetros so passados em forma de lista, separados por vrgulas (,). Uma
definio de macro finalizada por uma diretiva ENDMACRO. Por default, apenas
as chamadas a uma macro so mostradas no listfile gerado pelo Assembler. Para
incluir uma expanso de macro no listfile, a diretiva LISTMAC deve ser usada. Uma
macro marcada com um + no campo do opcode no listfile.
Sintaxe:
.MACRO

nomedamacro

Exemplo:
.MACRO

SUBI16

; Inicia uma definio de macro

subi @1,low(@0)

; Subtrai o byte baixo

sbci @2,high(@0)

; Subtrai o byte alto

.ENDMACRO

; Fim da definio da macro

.CSEG

; Incio do segmento de cdigo

SUBI16 0x1234,r16,r17

; Subtrai 0x1234 de r17:r16

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

227

Guia para Uso do Assembler AVR


NOLIST Desabilita a criao do arquivo de descrio (listfile)
A diretiva NOLIST informa que o Assembler no deve criar o arquivo de descrio
listfile. Normalmente, o Assembler gera um listfile que uma combinao de cdigo
fonte, endereos e opcodes. Por default, a criao do listfile habilitada, mas pode
ser desabilitada usando a diretiva NOLIST. Esta diretiva pode ser usada junto com a
diretiva LIST para gerar um listfile de partes do programa fonte.
Sintaxe:
.NOLIST

; Habilita a gerao de listfile

Exemplo:
.NOLIST

; Desabilita a gerao de listfile

.INCLUDE macro.inc

; Os arquivos includos no sero mostrados no


; listfile

.INCLUDE const.def

.LIST

; Habilita novamente a gerao de listfile

ORG Posiciona o programa no endereo dado


A diretiva ORG posiciona o programa no endereo dado. Se a diretiva ORG for
usada no segmento de dados, um valor ser armazenado a partir do endereo
especificado. Se a diretiva ORG for usada no segmento de cdigo, um valor ser
armazenado a partir do endereo especificado. Se a diretiva OR for usada no
segmento de EEPROM, um valor ser armazenado a partir do endereo
especificado. Se a diretiva for precedida por um label (na mesma linha do cdigo
fonte), o label ser tomado como parmetro. O valor default inicial dos endereos de
memria de cdigo e EEPROM zero, enquanto para a SRAM 32 (a partir dos
registradores R0-R31). O endereo da EEPROM e a SRAM dado em bytes
enquanto o endereo da memria de programa dado em words.
Sintaxe:
.ORG expresso
Exemplo:
.DSEG

; Inicia a memria de dados

.ORG 0x67

; Aponta para o endereo 0x67 da SRAM

variable:.BYTE 1

; Reserva um byte no endereo 0x67 da SRAM

.ESEG

; Inicia do segmento da EEPROM

.ORG 0x20

; Aponta para o endereo 0x20 da EEPROM

eevar: .DW 0xfeff

; Inicializa uma word

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

228

Guia para Uso do Assembler AVR


.CSEG
.ORG 0x10

; Aponta para o endereo 0x10 da memria de


; programa

mov r0,r1

; Faz qualquer coisa

EQU Substitui uma expresso por um nome simblico


A diretiva EQU associa um nome (label) a um valor. Esse nome pode ser usado em
expresses posteriores. Um nome associado a um valor pela diretiva EQU uma
constante e no pode ser mudado ou redefinido.

SET Substitui uma expresso por um nome simblico


A diretiva SET associa um nome (label) a um valor. Esse nome poder ser usado em
expresses posteriores. Um nome associado a um valor pela diretiva SET pode ser
alterado no programa.
Sintaxe:
.SET label = expresso
Exemplo:
.SET io_offset = 0x23
.SET porta = io_offset + 2
.CSEG

; Inicia o segmento de cdigo

clr r2

; Zera o registrador 2

out porta,r2

; Escreve o contedo do registrador 2 no Port A

16.6. Expresses
O Assembler pode manipular expresses. Expresses consistem de
operandos, operadores e funes. Todas as expresses, internamente, so de 32
bits.

Operandos
Os seguintes operandos podem ser usados:

Labels definidos pelo usurio para um endereo da memria


FACENS ELETRNICA II Prof. Sidney Jos Montebeller

229

Guia para Uso do Assembler AVR

Variveis definidas pela diretiva SET

Variveis definidas pela diretiva QUE

Constantes inteiras: constantes de vrios tipos:


a) Decimal (default): 10, 255
b) Hexadecimal (duas notaes): 0x0a, $0a, 0xff, $ff
c) Binrio: 0b00001010, 0b11111111

PC o valor atual do contador de endereos da memria de programa

Funes
As seguintes funes so definidas:

LOW(expresso) retorna o primeiro byte de uma expresso

HIGH(expresso) retorna o segundo byte de uma expresso

BYTE2(expresso) tem a mesma funo de HIGH

BYTE3(expresso) retorna o terceiro byte de uma expresso

BYTE4(expresso) retorna o quarto byte de uma expresso

LWRD(expresso) retorna os bits de 0 a 15 (low word) de uma expresso

HWRD(expresso) retorna os bits de 16 a 31 (high word) de uma expresso

PAGE(expresso) retorna os bits de 16 a 21 de uma expresso

EXP2(expresso) retorna 2^expresso

LOG2(expresso) retorna a parte inteira de log2(expresso)

Operadores
O Assembler suporta vrios operadores, onde o de maior precedncia possui
a maior prioridade.

No Lgico
Smbolo: !
Descrio: Operador unrio que retorna 1 se a expresso for zero e retorna 0 se a
expresso for diferente de zero.
Precedncia: 14
Exemplo: ldi r16,!0xf0 ; Carrega r16 com 0x00

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

230

Guia para Uso do Assembler AVR


No bit a bit
Smbolo: ~
Descrio: Operador unrio que retorna todos os bits invertidos de uma expresso.
Precedncia: 14
Exemplo: ldi r16,~0xf0 ; Carrega r16 com 0x0f

Negao
Smbolo: Descrio: Operador unrio que retorna a negao aritmtica de uma expresso.
Precedncia: 14
Exemplo: ldi r16,-2 ; Carrega -2(0xfe) em r16

Multiplicao
Smbolo: *
Descrio: Operador binrio que retorna o produto de duas expresses.
Precedncia: 13
Exemplo: ldi r30,label*2

; Carrega r30 com label*2

Diviso
Smbolo: /
Descrio: Operador binrio que retorna o quociente inteiro da expresso da
esquerda dividida pelo expresso da direita.
Precedncia: 13
Exemplo: ldi r30,label/2

; Carrega r30 com label/2

Adio
Smbolo: +
Descrio: Operador binrio que retorna a soma de duas expresses
Precedncia: 12
Exemplo: ldi r30,c1+c2

; Carrega r30 com c1+c2

Subtrao
Smbolo: Descrio: Operador binrio que retorna a expresso da esquerda menos a
expresso da direita.
Precedncia: 12
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

231

Guia para Uso do Assembler AVR


Exemplo: ldi r17,c1-c2

; Carrega r17 com c1-c2

Deslocamento para a esquerda


Smbolo: <<
Descrio: Operador binrio que retorna a expresso da esquerda deslocada para a
esquerda um nmero de vezes igual expresso da direita.
Precedncia: 11
Exemplo: ldi r17,1<<bitmask ;Carrega r17 com 1 deslocado para a esquerda bitmask
vezes

Deslocamento para a direita


Smbolo: >>
Descrio: Operador binrio que retorna a expresso da esquerda deslocada para a
direita um nmero de vezes igual expresso da direita.
Precedncia: 11
Exemplo: ldi r17,c1>>c2

;Carrega r17 com c1 deslocado para a direita c2 vezes

Menor do que
Smbolo: <
Descrio: Operador binrio que retorna 1 se a expresso sinalizada da esquerda for
menor do que a expresso sinalizada da direita, caso contrrio, retorna 0.
Precedncia: 10
Exemplo: ori r18,bitmask*(c1<c2)+1 ; Ou entre r18 e uma expresso

Menor ou igual
Smbolo: <=
Descrio: Operador binrio que retorna 1 se a expresso sinalizada da esquerda for
menor ou igual expresso da direita, caso contrrio, retorna 0.
Precedncia: 10
Exemplo: ori r18,bitmask*(c1<=c2)+1 ; Ou entre r18 e uma expresso

Maior do que
Smbolo: >
Descrio: Operador binrio que retorna 1 se a expresso sinalizada da esquerda for
maior do que a expresso da direita, caso contrrio, retorna 0.
Precedncia: 10
Exemplo: ori r18,bitmask*(c1>c2)+1 ; Ou entre r18 e uma expresso
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

232

Guia para Uso do Assembler AVR


Maior ou igual
Smbolo: >=
Descrio: Operador binrio que retorna 1 se a expresso sinalizada da esquerda for
maior ou igual expresso da direita, caso contrrio, retorna 0.
Precedncia: 10
Exemplo: ori r18,bitmask*(c1>=c2)+1 ; Ou entre r18 e uma expresso

Igual
Smbolo: ==
Descrio: Operador binrio que retorna 1 se a expresso sinalizada da esquerda for
igual expresso da direita, caso contrrio, retorna 0.
Precedncia: 9
Exemplo: andi r19,bitmask*(c1==c2)+1 ; E entre r19 e uma expresso

Diferente
Smbolo: !=
Descrio: Operador binrio que retorna 1 se a expresso sinalizada da esquerda for
diferente da expresso sinalizada da direita, caso contrrio, retorna 0.
Precedncia: 9
Exemplo: .SET flag=(c1!=c2) ; Faz flag igual a 1 ou 0

E bit a bit
Smbolo: &
Descrio: Operador binrio que retorna a operao E bit a bit entre duas
expresses.
Precedncia: 8
Exemplo: ldi r18,High(c1&c2) ; Carrega r18 com uma expresso

Ou Exclusivo bit a bit


Smbolo: ^
Descrio: Operador binrio que retorna a operao de Ou Exclusivo bit a bit entre
duas expresses.
Precedncia: 7
Exemplo: ldi r18,Low(c1^c2) ; Carrega r18 com uma expresso

Ou bit a bit
Smbolo: |
FACENS ELETRNICA II Prof. Sidney Jos Montebeller

233

Guia para Uso do Assembler AVR


Descrio: Operador binrio que retorna a operao Ou bit a bit entre duas
expresses.
Precedncia: 6
Exemplo: ldi r18,Low(c1|c2) ; Carrega r18 com uma expresso

E lgico
Smbolo: &&
Descrio: Operador binrio que retorna 1 se a ambas expresses forem diferentes
de zero, caso contrrio, retorna 0.
Precedncia: 5
Exemplo: ldi r18,Low(c1&&c2) ; Carrega r18 com uma expresso

Ou lgico
Smbolo: ||
Descrio: Operador binrio que retorna 1 se uma ou ambas expresses forem
diferentes de zero, caso contrrio, retorna 0.
Precedncia: 4
Exemplo: ldi r18,Low(c1||c2) ; Carrega r18 com uma expresso

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

234

Referncias Bibliogrficas e Internet

16. Referncias Bibliogrficas e Internet

1- TOCCI, R. J.; WIDMER, N.S.; Sistemas Digitais: Princpios e Aplicaes.


Rio de Janeiro: LTC, 2003.
2- MALVINO, A. P.; LEACH, D. P.; Eletrnica Digital: Princpios e Aplicaes.
So Paulo: McGraw-Hill, 1988.
3- TAUB, H.; Circuitos Digitais e Microprocessadores. So Paulo: McGrawHill, 1984.
4- LOURENO, A. C.; Circuitos Digitais. So Paulo: rica, 1996.
5- CAPUANO, F. G.; IDOETA, I. V.; Elementos de Eletrnica Digital. So
Paulo: rica, 1988.
6- MELO, M.; Eletrnica Digital. So Paulo: Makron Books, 1993.
7- TOKHEIM, R. L.; Princpios Digitais. So Paulo: McGraw-Hill, 1996.
8- ALTERA http://www.altera.com/ Dispositivos de Lgica Programvel.
9- XILINX http://www.xilinx.com/ Dispositivos de Lgica Programvel.
10- ATMEL http://www.atmel.com/ Microcontroladores (AVR) e Componentes
Discretos.
11- MICROCHIP http://www.microchip.com/ Microcontroladores (PIC) e
Componentes Discretos.
12- NATIONAL http://www.national.com/ Microcontroladores (COP8) e
Componentes Discretos.
13- TEXAS INSTRUMENTS http://www.ti.com/ Microcontroladores (MSP430)
e Componentes Discretos.

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

235

Referncias Bibliogrficas e Internet


14- BURR-BROWN http://www.burrbrown.com/ Conversores A/D e D/A e
Amplificadores Operacionais.
15- INTEL http://www.intel.com/ Microcontroladores (8051) e Componentes
Discretos.
16- ANALOG DEVICES http://www.analog.com/ Conversores A/D e D/A e
Componentes Discretos.
17- MOTOROLA http://e-www.motorola.com/ Microcontroladores (M68HC) e
Componentes Discretos.
18- ZILOG http://www.zilog.com/ Microcontroladores (Z80) e Componentes
Discretos.
19- Site pessoal http://alfa.facens.br/~sidney/
20- Site recomendado http://www.cseg.eng.br/

FACENS ELETRNICA II Prof. Sidney Jos Montebeller

236