Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

DESCRIÇÃO
Os circuitos sequenciais clássicos e o projeto de máquinas de estado síncronas.
PROPÓSITO
Conhecer os circuitos sequenciais clássicos e projetar máquinas de estado síncronas, objetivando a compreensão da
estrutura de sistemas digitais utilizados para “comandar” muitos dos dispositivos que usamos diariamente.
OBJETIVOS
MÓDULO 1
Descrever o funcionamento dos circuitos sequenciais clássicos
MÓDULO 2
Projetar máquinas de estado síncronas
APRESENTAÇÃO
Vamos estudar, neste tema, contadores, registradores de deslocamentos e multivibradores monoestáveis.
O que todos esses circuitos têm em comum?
 RESPOSTA
Todos eles possuem memória, ou seja, suas saídas podem depender, além da entrada atual, das entradas passadas.
Também iremos aprender a projetar circuitos sequenciais síncronos para aplicações específicas, igualmente
conhecidas como máquinas de estado síncronas.
As máquinas de estado realizam função parecida com a do cérebro no corpo humano. Elas controlam os dispositivos a
partir de suas entradas e seu estado atual, calculando os próximos estados e saídas. Máquinas de estado podem ser
encontradas em diversos itens do nosso cotidiano, como televisores, fornos micro-ondas e até nos processadores dos
computadores.
MÓDULO 1
 Descrever o funcionamento dos circuitos sequenciais clássicos
INTRODUÇÃO
Não estudaremos aqui como todos os circuitos sequenciais são construídos, no entanto é importante ter em mente que
o elemento central de tais circuitos são flip-flops.
Os flip-flops são utilizados para armazenar o estado do circuito, provendo a capacidade de memória que caracteriza
esse tipo de circuito.
Não se preocupe! A utilização dos flip-flops na construção dos circuitos sequenciais será estudada no próximo módulo.
CONTADORES
Os contadores são circuitos sequenciais que a cada pulso do relógio mudam seu estado de acordo com uma
sequência predeterminada (contagem). Podemos dividir os contadores em dois tipos: síncronos e assíncronos.
SÍNCRONOS
Nos contadores síncronos o relógio (clock) é comum a todos os flip-flops.

ASSÍNCRONOS
Nos contadores assíncronos os flip-flops são “cascateados”.
 ATENÇÃO
O sinal de relógio é utilizado apenas pelo primeiro flip-flop, os demais utilizam a saída do flip-flop anterior como sinal de
relógio.
CONTADORES ASSÍNCRONOS
Os contadores assíncronos são comumente utilizados quando a sequência de estados utilizada é a binária.
Nesse caso, o projeto do circuito é bastante simplificado. Veja o circuito a seguir:
Fonte: EnsineMe
 Figura 1: Contador assíncrono de 4 bits crescente
Primeiramente, notamos que as entradas
e
estão conectadas no nível alto. Dessa forma, os flip-flops executam toggle sempre que houver um bordo de descida em
suas respectivas entradas de
.
Note também que o preset fica permanentemente desativado, enquanto o clear está ativo se o sinal
estiver em nível baixo, fazendo a saída de todos os flip-flops ficarem em nível baixo.
Se
, então a cada bordo de subida de
o primeiro flip-flop (
) irá alterar seu estado. Assim temos:
Fonte: EnsineMe
 Figura 2: Saída
do contador assíncrono de 4 bits crescente
Repare que
será o sinal de relógio do segundo flip-flop e assim por diante. Logo, a saída completa do contador é:
J
K
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
¯̄¯̄¯̄¯̄¯̄¯̄
CLR
¯̄¯̄¯̄¯̄¯̄¯̄
CLR = 1
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
QA
QA
QA
Fonte: EnsineMe
 Figura 3: Saída completa do contador assíncrono de 4 bits crescente
Sendo que, os números abaixo dos sinais indicam a ordem do ciclo do sinal de relógio com o sinal de clear em nível
alto, considerando que os ciclos terminam no bordo de descida.
Assim, a tabela de saída do contador síncrono apresentado é:
Pulso de
com
Número formado por
1° 0 0 0 0 0
2° 0 0 0 1 1
3° 0 0 1 0 2
4° 0 0 1 1 3
5° 0 1 0 0 4
6° 0 1 0 1 5
7° 0 1 1 0 6
8° 0 1 1 1 7
9° 1 0 0 0 8
10° 1 0 0 1 9
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
¯̄¯̄¯̄¯̄¯̄¯̄
CLR = 1
QD QC QB QA
QDQCQBQA
Pulso de
com
Número formado por
11° 1 0 1 0 10
12° 1 0 1 1 11
13° 1 1 0 0 12
14° 1 1 0 1 13
15° 1 1 1 0 14
16° 1 1 1 1 15
17° 0 0 0 0 0
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
 Tabela 1: Saída do contador assíncrono de 4 bits crescente. Fonte: EnsineMe
Pela Tabela 1 vemos que o número formato por
corresponde à quantidade de pulsos completos do sinal de relógio desde que a entrada de clear foi desativada.
Contudo, como o contador só possui 4 bits, ele só pode contar até 15. Após esse valor ele reinicia a contagem do zero.
Devido a essa característica, tal circuito é conhecido também como “contador de pulsos”.
Um fato interessante sobre esse circuito é que, como podemos ver na Figura 3, o período do sinal
é o dobro do sinal
. Portanto, a frequência do sinal
é metade da frequência do sinal
. Essa relação se repete entre
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
¯̄¯̄¯̄¯̄¯̄¯̄
CLR = 1
QD QC QB QA
QDQCQBQA
QDQCQBQA
QA
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
QA
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
QB
e
,
e
. Então, se
for a frequência do sinal do relógio e
,
,
e
as frequências dos sinais de saída, temos a seguinte relação:
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
Generalizando para um contador de pulsos com
bits, temos:
. Logo, um contador de pulso pode ser utilizado para dividir a frequência do sinal de relógio por uma potência de 2.
Como visto, o contador apresentado realiza a contagem de 0 a
, sendo
o número de flip-flops utilizados. Porém, utilizando as entradas de preset e clear e uma porta NAND, podemos fazer
QA
QC
QD
f¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
fA
fB
fC
fD
f¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
= 2fA = 4fB = 8fC = 16fD
N
fN = f¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
/2N
2N − 1
N
com que o contador inicie a contagem em um número diferente de 0 e que tenha valor máximo diferente de
. Veja o exemplo a seguir:
EXEMPLO
Projete um contador assíncrono que conte de 2 a 5.
SOLUÇÃO
O primeiro passo é determinar quantos flip-flops serão necessários. Para representar 5 precisamos de 3 dígitos
binários (5 = 101b). Logo, serão necessários 3 flip-flops.
Como para o contador só estamos interessados na operação toggle, então podemos usar flip-flops
, com a entrada
em nível alto.
Para que o contador conte até 5, devemos possibilitar que o próximo estágio, no caso 6 (110b), retorne para o valor
inicial da contagem, no caso 2. Com essa finalidade, utilizamos uma porta NAND que, quando
, ative o clear dos flip-flops
e
e o preset do
.
Isto é, assim que
assumirem o valor de 110 serão acionados os preset e clear necessários para que
tornem-se 010 (2, em decimal). Desse modo, o estado 110 é um estado instável, pois o circuito irá imediatamente, e
sem necessidade de nenhuma entrada, modificar seu estado. O circuito proposto é mostrado a seguir:
2N − 1
T
T
QCQBQA = 110
C
A
B
QCQBQA
QCQBQA
javascript:void(0)
Fonte: EnsineMe
 Figura 4: - Contador assíncrono de 2 a 5
Considerando que seu estado inicial seja 2 (
), apresenta a seguinte tabela de funcionamento nos primeiros 6 pulsos de relógio:
Pulso de Número formado por
1° 0 1 0 2
2° 0 1 1 3
3° 1 0 0 4
4° 1 0 1 5
Estado instável 1 1 0 6
5° 0 1 0 2
6° 0 1 1 3
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
 Tabela 2: Tabela do contador assíncrono crescente de 2 a 5. Fonte: EnsineMe
Se quisermos fazer um contador assíncrono de 4 bits decrescente, ele deverá seguir a seguinte tabela:
QCQBQA = 010
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
QC QB QA
QCQBQA
Pulso de Número formado por
1° 1 1 1 1 15
2° 1 1 1 0 14
3° 1 1 0 1 13
4° 1 1 0 0 12
5° 1 0 1 1 11
6° 1 0 1 0 10
7° 1 0 0 1 9
8° 1 0 0 0 8
9° 0 1 1 1 7
10° 0 1 1 0 6
11° 0 1 0 1 5
12° 0 1 0 0 4
13° 0 0 1 1 3
14° 0 0 1 0 2
15° 0 0 0 1 1
16° 0 0 0 0 0
17° 1 1 1 1 15
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
¯̄¯̄¯̄¯̄¯̄¯̄¯
CLK
QD QC QB QA
QDQCQBQA
 Tabela 3: Saída do contador assíncrono de 4 bits decrescente. Fonte: EnsineMe
Comparando as Tabelas 1 e 2, podemos perceber que as saídas da segunda são a negação da primeira, dessa formapodemos esquematizar o contador decrescente:
Fonte: EnsineMe
 Figura 5: Contador assíncrono de 4 bits decrescente
Como exercício, sugiro que você verifique que o circuito a seguir implementa um contador assíncrono decrescente de 3
bits:
Fonte: EnsineMe
 Figura 6: Contador assíncrono de 3 bits decrescente
Sabemos que os circuitos reais não mudam de estado instantaneamente de acordo com as entradas. Eles levam um
tempo (em geral pequeno) para atualizar o valor das saídas. Este tempo é chamado de atraso.
 ATENÇÃO
Tal como no contador assíncrono, os flip-flops estão cascateados, o atraso na mudança do estado dos flip-flops vai se
acumulando conforme mais afastados eles estão do primeiro.
Para entender melhor esse fenômeno, iremos analisar a transição de
no circuito da Figura 1. Repare que o flip-flop
só pode iniciar sua mudança de estado após o flip-flop
b
7 (0111)  →  8 (1000)
B
A
ter terminado a sua mudança. Essa relação repete-se entre o flip-flop
e
, e entre o
e o
.
Considerando que o atraso de flip-flop
seja
, o diagrama de sinais da transição entre o
é representado na Figura 7, que deixa claro que o atraso em relação ao sinal do relógio vai se somando conforme nos
distanciamos do flip-flop
. Por exemplo, o atraso do flip-flop
é
.
Fonte: EnsineMe
C
B
D
C
JK
t
0111  →  1000
A
D
4t
 Figura 7: Zoom na transição entre os estados 7 e 8 de um contador crescente assíncrono
PROJETO DE UM CONTADOR BINÁRIO ASSÍNCRONO
CONTADOR SÍNCRONO
No contador síncrono, o sinal de relógio entra em todos os flip-flops. Assim, todos eles mudam de estado ao mesmo
tempo, eliminando o problema de soma dos atrasos que ocorre no contador assíncrono.
Em contrapartida, é necessário que todos os flip-flops saibam qual o próximo estado, o que normalmente torna o
circuito mais complexo.
O circuito genérico de um contador síncrono utilizando flip-flops
sensíveis a bordo de descida é indicado a seguir:
JK
Fonte: EnsineMe
 Figura 8: Contador síncrono genérico
Apesar de termos visto até agora apenas contadores que seguem a sequência binária, existem outros que seguem
códigos diferentes. Além disso, os contadores podem ser classificados de acordo com diversas características. A seguir
citamos as mais importantes:
Sincronismo
Assíncrono
Síncrono
Polaridade do relógio, a qual bordo o clock dos flip-flops é sensível:
A bordo de subida
A bordo de descida
Modo de operação, o sentido da contagem:
Crescente
Crescente
Crescente/Decrescente, também conhecido como Up/Down Counter, pode operar nos dois modos, com o
controle sendo realizado por uma entrada de controle.
Número de bits, quantidade de bits utilizada na sequência de contagem.
Código, o código da sequência utilizada.
Binário, por exemplo, de 3 bits:
;
BCD,
Entre outros, como código Gray e Código 9876543210.
Módulo, quantidade de estados estáveis da sequência de estados. Por exemplo, um contador com código BCD
possui módulo 10, já o contador assíncrono de 2 a 5 possui módulo 4, como pode ser visto na Tabela 2.
Tipo de clear/preset:
clear/preset síncrono: para o contador reiniciar é necessário que o clear ou preset esteja ativo no momento
que houver o bordo designado do clock;
clear/preset assíncrono: assim que clear ou preset são ativados o contador reinicia o seu estado.
 Atenção! Para visualização completa da tabela utilize a rolagem horizontal
REGISTRADORES DE DESLOCAMENTO
O registrador de deslocamento, também conhecido como shift-register, é um circuito que pode armazenar determinada
quantidade de bits (palavra) e permitir o deslocamento desses bits para esquerda ou direita a cada pulso do relógio.
Para entender o deslocamento, veja o exemplo:
Um registrador de deslocamento de 4 bits e deslocamento para direita é inicializado com o valor 1010. Ao realizar um
deslocamento para a direita ele insere o valor 0 no espaço do bit mais significativo.
A sequência que esse registrador de deslocamento segue em 4 pulsos de relógio é:
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
→  000  → 001 → 010 → 011  → 110 → 111 → 000 →
→  0000  → 0001 → 0010 → 1000  → 1001 →;
1010 → 0101 → 0010 → 0001 → 0000
Como a ideia por trás do registrador de deslocamento é a passagem de bits entre flip-flops vizinhos, é natural utilizar
flip-flops
na implementação. Vejamos o esquema de um registrador de deslocamento de 4 bits que faz o deslocamento para a
direita.
Fonte: EnsineMe
 Figura 9: Registrador de deslocamento de 4 bits que faz o deslocamento à direita
Analisando o circuito, percebemos que a cada bordo de descida do relógio o estado é atualizado de acordo com a
seguinte lógica:
.
 SAIBA MAIS
Os registradores de deslocamento comerciais muitas vezes permitem outras funções, como executar o deslocamento à
direita ou à esquerda em função de um sinal de entrada e permitir o carregamento de uma palavra de uma vez (load).
Como exemplo, mostraremos o 74194, um registrador de deslocamento de 4 bits bidirecional, sensível a bordo de
subida e com clear assíncrono. Destaca-se que, diferentemente do usual, neste componente, o bit mais significativo
(MSB) é
e o menos significativo (LSB) é
.
D
Q3Q2Q1Q0 →  INQ3Q2Q1
QA
QD
Fonte: EnsineMe
 Figura 10: Representação do registrador de deslocamento 74194
Próximo estado Operação
0 0 hold
0 1 Deslocamento para direita (shift right)
1 0 Deslocamento para esquerda (shift left)
1 1 Carregamento (load)
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
 Tabela 4: Tabela de funcionamento do registrador de deslocamento 74194. Fonte: EnsineMe
Uma das aplicações mais importantes do registrador de deslocamento é como conversor série-paralelo.
TRANSMISSÃO PARALELA
Todos os bits da palavra são transmitidos simultaneamente.

S1 S0
QA QB QC  QD
SRSI QA QB QC
QB QC  QD SLSI
A B C D
TRANSMISSÃO EM SÉRIE
Os bits são transmitidos sequencialmente.
Veja a transmissão do nibble 0101 nos modos série e paralelo:
Fonte: EnsineMe
 Figura 11: Transmissão a) paralelo b) série
Conversão de série para paralelo
Para converter uma palavra de 4 bits de série para paralelo utilizando o 74194, fazemos a entrada transpor a entrada
e realizamos deslocamento à direita (shift right). Após 4 pulsos do relógio, a saída
será a palavra no modo série, pronta para o armazenamento ou transmissão paralela.
Conversão de paralelo para série
Para converter uma palavra de 4 bits de paralelo para série utilizando o 74194, devemos fazer, inicialmente, carregar
a palavra que se deseja transmitir (load). Em seguida, são realizados deslocamentos à direita (shift right). O sinal de
saída em série é obtido pela saída
do 74194.
MULTIVIBRADORES
Circuitos multivibradores são capazes de operar em estados estáveis e/ou instáveis. Um estado é considerado estável,
caso o circuito o mantenha indefinidamente se não houver nenhum sinal de entrada, incluindo o relógio. Um estado é
instável caso, mesmo sem nenhuma entrada, ele mude de estado após determinado tempo.
Como em eletrônica digital, o bit pode valer 0 ou 1, então há 3 tipos de multivibradores digitais:
MULTIVIBRADORES BIESTÁVEIS
MULTIVIBRADORES MONOESTÁVEIS
MULTIVIBRADORES ASTÁVEIS
SRSI
QAQBQCQD
QD
MULTIVIBRADORES BIESTÁVEIS
Como o nome sugere, possuem dois estados estáveis. Latches e flip-flops são exemplos de multivibradores biestáveis.
MULTIVIBRADORES MONOESTÁVEIS
Apresentam apenas um estágio estável, podendo ser tanto o 0 como o 1. Estudaremos mais a fundo esse tipo de
multivibrador.
MULTIVIBRADORES ASTÁVEIS
Nesses circuitos não existem estados estáveis, o circuito muda de estado constantemente. Como geralmente os
multivibradores astáveis não possuem entradas, normalmente eles não são circuitos sequenciais. Os osciladores que
geram o sinal de relógio são exemplos de multivibradores astáveis digitais, assim como os sinais de trânsito, comuns
em nosso cotidiano.
 SAIBA MAIS
Os osciladores que geram o sinal de relógio são exemplos de multivibradoresastáveis digitais, assim como os sinais
de trânsito, comuns em nosso cotidiano.
O funcionamento do multivibrador monoestável, ou simplesmente monoestável, segue a seguinte lógica: quando um
sinal de gatilho (G) sensível a bordo é ativado, o monoestável muda do estado estável para o instável e permanece por
um tempo
até retornar ao estado estável. Na figura a seguir, o gatilho é ativado no nível alto e o estado estável é o 0.
Fonte: EnsineMe
 Figura 12: Funcionamento de um monoestável
τ
Normalmente, o tempo que o monoestável fica no estado instável (
) é definido por uma associação de resistor e capacitor conectados externamente ao monoestável, permitindo a
configuração de
de acordo com a aplicação.
Se ocorrer um novo bordo do gatilho enquanto a saída ainda está no estado instável, como o monoestável se
comporta?
Para responder a esse questionamento precisamos saber qual é o tipo do monoestável. Existem dois tipos:
MONOESTÁVEIS REGATILHÁVEIS
A contagem do tempo
é reiniciada a cada novo bordo de subida do gatilho.
MONOESTÁVEIS NÃO REGATILHÁVEIS:
Quando no estado instável, o monoestável “ignora” o gatilho até retornar para o estado estável.
Fonte: EnsineMe
 Figura 13: Monoestável regatilhável e não regatilhável
VERIFICANDO O APRENDIZADO
1. UM CONTADOR BINÁRIO SÍNCRONO CRESCENTE DE 4 BITS, COM CLEAR ASSÍNCRONO
ATIVADO EM NÍVEL BAIXO, TEM SAÍDA
. SABENDO QUE O CLEAR RECEBE
τ
τ
τ
QDQCQBQA
javascript:void(0)
javascript:void(0)
, QUAL O MÓDULO DESTE CONTADOR?
A) 10
B) 11
C) 9
D) 4
E) 15
2. QUAIS TIPOS DE MULTIVIBRADORES PODEM COMPOR OS SEGUINTES EQUIPAMENTOS:
UMA CAMPAINHA MUSICAL QUE TOCA UM TRECHO DE MÚSICA;
UM SISTEMA QUE LIGA A ILUMINAÇÃO AUTOMATICAMENTE AO DETECTAR
MOVIMENTO;
UM INTERRUPTOR DIGITAL DE LÂMPADA QUE MIMETIZA UM INTERRUPTOR
TRADICIONAL.
A) I – Biestável; II – Monoestável não regatilhável; III – Astável
B) I – Biestável; II – Astável; III – Biestável
C) I – Monoestável; II – Monoestável regatilhável; III – Biestável
D) I – Astável; II – Biestável; III – Monoestável
E) I – Monoestável; II – Monoestável não regatilhável; III – Biestável
GABARITO
1. Um contador binário síncrono crescente de 4 bits, com clear assíncrono ativado em nível baixo, tem saída
. Sabendo que o clear recebe
, qual o módulo deste contador?
A alternativa "A " está correta.
¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯
QD .QB
QDQCQBQA
¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯
QD .QB
O contador seguirá a contagem até que
, quando será ativado o clear. Assim, temos a seguinte tabela:
Estado
0 0 0 0 0 1
Fonte: EnsineMe
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 0 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 1 0 0 1
9 1 0 0 1 1
10 1 0 1 0 0
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Ao alcançar o estado 10, o clear é ativado. Como o clear é assíncrono, o estado vai diretamente para o estado 0.
Dessa forma, o estado 10 não é estável, os estados estáveis são de 0 a 9, totalizando 10 estados estáveis. Logo, o
contador possui módulo 10.
2. Quais tipos de multivibradores podem compor os seguintes equipamentos:
uma campainha musical que toca um trecho de música;
um sistema que liga a iluminação automaticamente ao detectar movimento;
um interruptor digital de lâmpada que mimetiza um interruptor tradicional.
¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯
QD .QB = 0
QD QC QB QA clear = ¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯̄¯
QD .QB
A alternativa "C " está correta.
Equipamento I: A campainha deve permanecer desligada (estado estável). Ao ser pressionada, deve tocar música por
um tempo predeterminado (estado instável) e, então, retornar a ficar desligada. Como o equipamento tem um estado
instável, então deve ser usado um multivibrador monoestável.
Equipamento II: A luz deve permanecer desligada (estado estável). Ao ser detectado movimento, a luz deve ser ligada
(estado instável) e assim permanecer (característica regatilhável). Ao passar certo tempo sem movimento, a luz deve
ser desligada. Logo, o equipamento II pode usar um monoestável regatilhável.
Equipamento III: Cada vez que o interruptor é pressionado, o estado da lâmpada deve ser modificado e assim se
manter até que o interruptor seja acionado novamente. Portanto, os dois estados são estáveis e o circuito III pode usar
um multivibrador biestável.
MÓDULO 2
 Projetar máquinas de estado síncronas
INTRODUÇÃO
Máquinas de estado finitas são aquelas com uma quantidade de estados predefinidos e finitos. O conceito de máquinas
de estado finitas é utilizado tanto em eletrônica digital, quanto em programação. Por simplicidade, iremos suprimir o
termo “finitas”, chamando as máquinas de estado finitas simplesmente de máquinas de estado.
Neste módulo, estudaremos as máquinas de estado síncronas, ou seja, aquelas na qual os relógios de todos os flip-
flops são conectados juntamente, de forma que o estado só pode ser modificado em momentos específicos
determinados pela entrada de relógio da máquina.
MODELO DE MÁQUINAS DE ESTADO SÍNCRONAS
As máquinas de estado síncronas são compostas de três blocos principais:
BLOCO DE MEMÓRIA
O coração da máquina de estados armazena o estado atual da máquina de estados, geralmente implementado com
flip-flops.

LÓGICA COMBINACIONAL DE PRÓXIMO ESTADO
Circuito combinacional que, baseado no estado atual e nas entradas, calcula as entradas dos flip-flops do bloco de
memória para realizar a correta transição entre estados.

LÓGICA COMBINACIONAL DE SAÍDA
Circuito combinacional que calcula as saídas do circuito. Ele pode usar apenas o estado atual (Modelo Moore) ou o
estado atual e as entradas (Modelo Mealy).
Como em máquinas de estados trabalhamos com agrupamento de bits — os bits de estado, os bits de entrada e os bits
de saída — usaremos barramentos. Um barramento é um conjunto de fios utilizados para transferir informação no
modo paralelo. É usual utilizar uma seta no final do barramento para indicar o fluxo da informação.
Fonte: EnsineMe
 Figura 14: Notações de barramento de n fios onde a informação flui da esquerda para a direita
Os modelos genéricos de uma máquina de estado síncrona, modelo Mealy e de Moore, podem ser vistos nas Figura 15
e 16, respectivamente.
O modelo Mealy utiliza o estado presente e as entradas do circuito no cálculo da saída, portanto, a saída pode ser
alterada. Mesmo sem haver variação no estado da máquina, a saída não é obrigada a seguir os bordos do sinal do
relógio.
Dessa forma, dizemos que as máquinas de estado síncronas modelo Mealy possuem saída assíncrona. Já no modelo
Moore, a lógica combinacional de saída só utiliza o estado presente. Como o estado só pode mudar nos bordos
designados do sinal de relógio, a saída do modelo Moore é síncrona.
Fonte: EnsineMe
 Figura 15: Máquina de estados síncrona Modelo de Mealy genérica
Fonte: EnsineMe
 Figura 16: Máquina de estados síncrona Modelo de Moore genérica
DIAGRAMAS DE ESTADO E TABELA DE TRANSIÇÃO E
DE SAÍDA
O diagrama de estados é um diagrama com todos os estados utilizados pela máquina de estado, todas as transições
possíveis e as saídas.
Por exemplo, uma máquina de Moore com 4 estados (
,
,
,
), uma entrada (
) e uma saída (
) poderia apresentar o seguinte diagrama de estados:
E0
E1
E2
E3
H
F
Fonte: EnsineMe
 Figura 17: Exemplo de diagrama de estados de uma máquina modelo Moore
A leitura desse diagrama é feita da seguinte forma:
No estado
a saída
é
e o próximo estado é
se
e
se
;
No estado
a saída
é
E0
F
1
E1
H = 0
E3
H = 1
E1
F
0
e o próximo estado é
se
e
se
;
No estado
a saída
é
e o próximo estado é
se
e
se
;
No estado
a saída
é
e o próximo estado é
E2
H = 0
E1
H = 1
E2
F
1
E3
H = 0
E1
H = 1
E3
F
0
E3
se
e
se
.
Note que o código atribuído a cada estado não influencia na lógica de funcionamento da máquina de estados, portando
pode ser omitida quando quisermos analisar apenas o funcionamento da máquina de estado. Contudo, essa
informação é fundamental para a implementação da máquina de estados.
A partir do diagrama deestados podemos montar uma tabela com todos eles, suas saídas e prever o próximo estado
em função da entrada. Essa tabela é chamada de tabela de transição de estado e de saída (MENDONÇA;
ZELENOVSKY, 2007, p. 179) e podemos montá-la em função da designação de cada estágio (E0, E1, E2 ou E3 ) ou do
código de cada estágio (00, 01, 10 ou 11).
Estado atual
Próximo estado se Próximo estado se
Saída
00 01 11 1
01 10 01 0
10 11 01 1
11 11 00 0
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
 Tabela 5: Tabela de transição de estado e de saída do diagrama de estados da Figura 17. Fonte: EnsineMe
O diagrama de estados de máquina de estados modelo Mealy usa a notação “próximo estado/saída do estado
presente com essa entrada”. Por exemplo, podemos ter uma máquina de Mealy com 4 estados (
,
,
,
H = 0
E0
H = 1
H = 0 H = 1
E0
E1
E2
E3
), duas entradas (
e
) e uma saída (
) com o seguinte diagrama de estados:
Fonte: EnsineMe
 Figura 18: Exemplo de diagrama de estados de uma máquina Modelo Mealy
 ATENÇÃO
É importante compreender que a notação do tipo “
”, “
” indica a condição para a transição para o próximo estado apontado pela seta, enquanto “
” é a saída do estado atual se
.
H
D
F
HD/0
HD
0
HD = 1
Estado
atual
Próximo estado / saída
se
Próximo estado / saída
se
Próximo estado / saída
se
Próximo estado / saída
se
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
 Tabela 6: Tabela de transição de estado e de saída do diagrama de estados da Figura 18. Fonte: EnsineMe
Para que um diagrama de estados seja válido, ele precisa cumprir dois requisitos básicos:
REQUISITO 1
Nenhuma combinação de estado atual e entradas pode corresponder à transição para mais de um próximo estado. A
máquina de estados não pode “ficar em dúvida” de qual deve ser o próximo estado.
REQUISITO 2
Toda combinação de estado atual e entradas precisa corresponder a um próximo estado. A máquina não pode “ficar
sem saber para onde ir”.
Observe a figura abaixo:
Fonte: EnsineMe
 Figura 19: Diagrama de estados mal projetado
Ao observar um diagrama de estados como o da figura anterior, podemos achar que está tudo normal, porém ao
montar a tabela de transição de estado e de saída obtemos:
HD = 00 HD = 01 HD = 10 HD = 11
E0 E0/1 E2/0 E1/0 E3/0
E1 E1/0 E3/0 E0/1 E2/1
E2 E2/1 E1/1 E2/1 E1/1
E3 E3/1 E3/1 E0/1 E0/1
javascript:void(0)
javascript:void(0)
Estado
atual
Próximo estado / saída
se
Próximo estado / saída
se
Próximo estado / saída
se
Próximo estado / saída
se
-
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
 Tabela 7: Tabela de transição de estado e de saída do diagrama de estados da Figura 19. Fonte: EnsineMe
Na tabela de transição de estado e de saída, fica claro que há dois problemas no diagrama de estado proposto:
O estado
possui mais de um próximo estado para a entrada
;
O estado
não prevê o próximo estado para a entrada
.
OBTENÇÃO DA LÓGICA COMBINACIONAL DE
PRÓXIMO ESTADO
A obtenção da lógica combinacional de próximo estado está intimamente ligada ao flip-flop utilizado, sendo,
geralmente, o flip-flop
HD = 00 HD = 01 HD = 10 HD = 11
E0
E0
E1
E0 E1 E1
E1 E2 E0 E1
E2 E2 E0 E0 E0
E0
HD = 00
E1
HD = 10
D
ou
, mas pode ser usado qualquer tipo.
Assim que estabelecido o tipo de flip-flop a ser utilizado, montamos a sua tabela de excitação. Observe a tabela de
excitação dos flip-flops
,
,
e
:
Flip-flop
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Flip-flop
JK
JK
SR
D
T
JK
Qn → Qn+1 J K
0 → 0 0 X
0 → 1 1 X
1 → 0 X 1
1 → 1 X 0
RS
Qn → Qn+1 S R
0 → 0 0 X
Flip-flop
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Flip-flop
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Flip-flop
RS
0 → 1 1 0
1 → 0 0 1
1 → 1 X 0
D
Qn → Qn+1 D
0 → 0 0
0 → 1 1
1 → 0 0
1 → 1 1
T
Qn → Qn+1 T
0 → 0 0
0 → 1 1
Flip-flop
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Com a tabela de excitação e a tabela de próximo estado, podemos montar a tabela-verdade da lógica combinacional
de próximo estado. Por exemplo, utilizando flip-flops
e a Tabela 5 podemos montar a seguinte tabela-verdade:
Estado atual Entrada
Mudança de estado
Flip-flop Flip-flop
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
T
1 → 0 1
1 → 1 0
JK
B A
QB QA H JB KB JA KA
0 0 0 00 → 01 0 X 1 X
0 0 1 00 → 11 1 X 1 X
0 1 0 01 → 10 1 X X 1
0 1 1 01 → 11 0 X X 0
1 0 0 10 → 11 X 0 1 X
1 0 1 10 → 01 X 1 1 X
1 1 0 11 → 11 X 0 X 0
1 1 1 11 → 00 X 1 X 1
 Tabela 8: Tabela verdade da lógica combinacional de próximo estado. Fonte: EnsineMe
Após montar a tabela-verdade, extraímos as funções booleanas. Utilizando mapa de Karnaugh:
MAPA DE KARNAUGH
Tipo de mapeamento biunívoco que tem como ponto de partida uma tabela-verdade da função que está sendo
analisada
Fonte: EnsineMe
Veja mais detalhes no vídeo a seguir:
javascript:void(0)
OBTENÇÃO DA LÓGICA COMBINACIONAL DE SAÍDA
Note que, para as saídas, a tabela de transição de estado e de saída já corresponde à tabela-verdade. Se estivermos
projetando uma máquina de estado no modelo Mealy, a saída é função do estado presente e das entradas. Caso a
máquina de estado use o modelo Moore, a saída é função exclusiva do estado presente.
De acordo com a Tabela 5, podemos escrever os mintermos em que a saída é ativa:
MINTERMOS
Método de reescrição de função lógica com intuito de reduzir o número de portas do circuito lógico que
implementa tal função.
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
Fazendo a simplificação por álgebra booleana:
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
F = ¯̄¯̄¯̄¯̄
QB .  
¯̄¯̄¯̄¯
QA +QB .  
¯̄¯̄¯̄¯
QA
F = ¯̄¯̄¯̄¯̄
QB .  
¯̄¯̄¯̄¯
QA +QB .  
¯̄¯̄¯̄¯
QA =  ¯̄¯̄¯̄¯QA (
¯̄¯̄¯̄¯̄
QB +QB) = ¯̄¯̄¯̄¯
QA  .  1
F = ¯̄¯̄¯̄¯
QA
javascript:void(0)
PROJETO DE MÁQUINA DE ESTADOS SÍNCRONA
Fazer o projeto de uma máquina de estados é um processo complexo que, em geral, depende bastante da experiência
do engenheiro para obter o resultado ótimo, seja ele visto por um critério de custo de implementação, confiabilidade ou
outro, de acordo com a finalidade do circuito.
 EXEMPLO
Em um equipamento médico de suporte a vida são inclusas redundâncias e circuitos de segurança adicionais, haja
vista que falhas não são toleradas. Já em acessórios de baixo custo, procura-se projetar o dispositivo mais barato
possível de produzir que cumpra sua função.
Veja a seguir as etapas que compõem o projeto de uma máquina de estado síncrona. Clique nos títulos para ver, por
meio de exemplos simples, como funcionam essas etapas:
ESPECIFICAR O PROJETO
Nesta etapa você deve se perguntar: qual a finalidade do seu circuito, quais são as entradas e as saídas? Como ele
deve se comportar nos diferentes cenários?
Exemplo:
Deseja-se um dispositivo que faça o controle de uma bomba d´água automática para uma caixa d’água.
Entradas:
Dois sensores de nível de água: um colocado no nível baixo e o segundo no nível alto, respectivamente,
e
. Esses sensores apresentam saída
se encontrando com a água e
, caso contrário;
Indicador, se está chegando água na bomba d’água:
está chegando água,
caso contrário.
A
B
1
0
C = 1
C = 0
Saída:
Controle da bomba d’água:
ativa a bomba d’água,
desativa a bomba.
Funcionamento desejado:
Quando a água estiver abaixo do nível baixo, a bomba deve ser ligada até que a água ative o nível alto,
então ela é desligada;
Para evitar a queima da bomba, ela nunca deve ser ligada caso não esteja recebendo água;
Caso o indicador de nível alto esteja ativo e o baixo esteja desativado (
). Como essa seria uma situação fisicamente impossível, a máquina deve parar de funcionar devido ao mau
funcionamento dos sensores de nível água.
ESCOLHER MODELO: MOORE OU MEALY
Esse passopode ser feito já pensando no seguinte: a elaboração da máquina de estado. Algumas perguntas simples
podem nos ajudar a decidir qual modelo utilizar:
O sistema tem alguma restrição a saídas assíncronas/síncronas?
Utilizar o modelo de Mealy proporcionará um diagrama de estados com uma menor quantidade de estados?
No nosso exemplo, caso a bomba não esteja recebendo água, ela não deve ser ativada de forma alguma. Essa
restrição é um indicativo de que o modelo de Mealy pode ser uma boa alternativa.
Note que também poderíamos utilizar o Modelo de Moore, mas seria necessário utilizar mais estados no diagrama,
gerando um circuito de maior complexidade e, consequentemente, mais caro de ser implementado.
ELABORAR O DIAGRAMA DE ESTADOS
Nesse passo, é preciso muito cuidado para não violar as regras dos diagramas de estados apresentadas em
Diagramas de estado e tabela de transição e de saída. Para o nosso exemplo, propomos o seguinte diagrama de
estados:
H = 1
H = 0
BA = 10
Fonte: EnsineMe
No estado
, a bomba está desligada e esperamos até que a água caia abaixo do nível do sensor
para ir para o estado
, no qual a bomba, dado que esteja chegando água na bomba (
), é ativada até a água atingir o sensor
. Então, a máquina volta ao estado
.
No caso de
, que indicaria um mau funcionamento de um dos sensores, a máquina vai para o estado
, e permanece travada, necessitando de intervenção para fazer os reparos necessários nos sensores e, então, reiniciar
a máquina de estados.
ASSOCIAR CÓDIGOS BINÁRIOS A CADA ESTADO
A forma como associamos os códigos binários a cada um dos estados impacta diretamente na complexidade da lógica
combinacional de próximo estado, principalmente quando trabalhando com uma máquina com maior quantidade de
E0
A
E1
C
B
E0
BA = 10
E2
estados. Infelizmente, não existe maneira prática de achar a melhor forma de designar os estados, este é um dos
passos muito influenciado pela experiência do projetista.
Em nosso exemplo, temos 3 estados, então precisamos usar pelo menos 2 bits. Escolhemos
,
e
.
ESCREVER A TABELA DE TRANSIÇÃO DE ESTADOS E SAÍDA
Nesse passo, aproveitamos para checar se não cometemos algum erro no diagrama de estados, seja ele em relação
às regras de construção apresentadas em Diagramas de estado e tabela de transição e de saída, ou em relação à
lógica pensada para cumprir o que foi especificado no projeto.
Em nosso exemplo, notamos que
não influencia a mudança de estados, assim temos:
Estado atual
Próximo estado / saída
se
Próximo estado / saída
se
Próximo estado / saída
se
Próximo estado / saída
se
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Pela tabela, fica claro que todos os estados preveem os próximos estados para todas as entradas, e não ocorre de
nenhum par de estado atual/entradas resultar em mais de um próximo estado previsto. Dessa forma, o diagrama de
estados proposto está OK!
ESCOLHER O TIPO DE FLIP-FLOP A SER UTILIZADO
Quando tiver liberdade para escolher qual tipo de flip-flop utilizar, recomendamos que escolha o tipo
. Como nesse flip-flop, a saída simplesmente copia a entrada. A lógica de próximo estado é simplesmente o próprio
estado, facilitando o projeto.
E0 = 01
E1 = 11
E2 = 00
C
BA = 00 BA = 01 BA = 10 BA = 11
E0 = 01 11/0 01/0 00/0 01/0
E1 = 11 11/C 11/C 00/0 01/0
E2 = 00 00/0 00/0 00/0 00/0
D
Em nosso exemplo utilizaremos o flip-flop
.
OBTER A LÓGICA COMBINACIONAL DE PRÓXIMO ESTADO
Como estamos utilizando flip-flops
, podemos montar diretamente os mapas de Karnaugh, dado que a lógica combinacional de próximo estado é o próprio
estado futuro. Designando os flip-flops de 2 e 1, de forma que o estado é dado por
:
Fonte: EnsineMe
Repare que no estado não utilizado
utilizamos don’t care, o que favorece a minimização da lógica de próximo estado. Essa abordagem é conhecida como
Projeto Modo Mínimo. Em circuitos críticos, como os de suporte de vida, os estados não utilizados são direcionados
para um estado utilizado predeterminado.
Desse modo, se por alguma interferência externa a máquina for para um estado não previsto, garante-se que ela
retorne para um estado conhecido. Essa abordagem é conhecida como Projeto Risco Mínimo.
OBTER A LÓGICA COMBINACIONAL DE SAÍDA
Em nosso exemplo, a saída só está ativa em dois casos, assim é fácil extraí-la direto da tabela de transição estado e
saída:
D
D
Q2Q1
Q2.Q1 = 10
H = Q2 .Q1 .
¯̄¯̄
B . ¯̄¯̄A .C +Q2.Q1.
¯̄¯̄
B .A . C = Q2 .Q1 .
¯̄¯̄
B .C . (¯̄¯̄A +A)
H = Q2 .Q1 .
¯̄¯̄
B . C
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
Por último, note que precisamos ligar o clear e o preset dos flip-flops de forma a criar uma entrada para inicialização da
máquina de estado. Nesse exemplo, é uma boa ideia iniciar no estado
.
VERIFICANDO O APRENDIZADO
1. (PROVA DE ENGENHEIRO DE EQUIPAMENTOS JÚNIOR – ELETRÔNICA, 2014.
PETROBRAS).
SEJA A SEQUÊNCIA DE ESTADOS A SEGUIR, REPRESENTADA PELOS BITS
, IMPLEMENTADA POR 4 FLIP-FLOPS
.
FONTE: ENSINEME
A LÓGICA MÍNIMA, EM TERMOS DE SOMA DE PRODUTOS, QUE IMPLEMENTA A ENTRADA
É:
A)
B)
C)
E0 = 01
Q3Q2Q1Q0
D
D2
Q1
Q1Q0
Q2Q1
D)
E)
2. ASSINALE A ALTERNATIVA QUE COMPLETA CORRETAMENTE AS LACUNAS. NA
MÁQUINA DE ESTADOS SÍNCRONA OS ESTADOS SÓ PODEM MUDAR NOS MOMENTOS
DEFINIDOS PELO BORDO DESIGNADO DO RELÓGIO. CONTUDO, NO MODELO _________ A
SAÍDA DEPENDE ___________________, PODENDO VARIAR DE FORMA ASSÍNCRONA.
A) Assíncrono, do estado futuro.
B) Mealy, apenas das entradas.
C) Moore, apenas do estado presente.
D) Mealy, estado presente e das entradas.
E) Moore, estado presente e das entradas.
GABARITO
1. (Prova de Engenheiro de Equipamentos Júnior – Eletrônica, 2014. Petrobras).
Seja a sequência de estados a seguir, representada pelos bits
, implementada por 4 flip-flops
.
Fonte: EnsineMe
A lógica mínima, em termos de soma de produtos, que implementa a entrada
é:
A alternativa "B " está correta.
¯̄¯̄
Q2Q1Q0
¯̄¯̄
Q3
¯̄¯̄
Q2Q1Q0
Q3Q2Q1Q0
D
D2
Montando a tabela-verdade de
:
Estado atual Próximo estado
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
Q2
Q3 Q2 Q1 Q0 Q2
X
X
X
X
X
X
X
X
Estado atual Próximo estado
1 1 0 1
1 1 1 0
1 1 1 1
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Como o flip-flop utilizado é o
Utilizando o mapa de Karnaugh:
Fonte: EnsineMe
2. Assinale a alternativa que completa corretamente as lacunas. Na máquina de estados síncrona os estados só
podem mudar nos momentos definidos pelo bordo designado do relógio. Contudo, no Modelo _________ a
saída depende ___________________, podendo variar de forma assíncrona.
A alternativa "D " está correta.
No Modelo Mealy, a saída depende do estado atual e das entradas. Dessa forma, mesmo sem mudar de estado, a
saída da máquina de estados pode variar devido a uma mudança nas entradas. Assim, no Modelo de Mealy a saída
pode variar de maneira assíncrona.
CONCLUSÃO
X
X
X
D,D2 = Q2
D2 = Q1Q0
CONSIDERAÇÕES FINAIS
Neste tema estudamos os contadores assíncronos e síncronos, multivibradores monoestáveis e registradores de
deslocamento. São estes os circuitos sequenciais clássicos, sendo amplamente utilizados.
Também aprendemos sobre diagramas de estado, cuja aplicação ultrapassa a fronteira da Eletrônica Digital, e os
passos básicos para podermos projetar máquinas de estado síncronas.
O conhecimento adquirido neste tema será fundamental para a compreensão dos sistemas digitais modernos, tais
como os microprocessadores. Agora, somos capazes de projetar circuitos para finalidades específicas!
AVALIAÇÃO DO TEMA:
REFERÊNCIAS
CAPUANO, F. G. Sistemas digitais circuitos combinacionais e sequenciais. São Paulo: Érica, 2014.
DACHI, E. P; HAUPT, A. G. Eletrônica digital. São Paulo: Blucher, 2018.
IDOETA, I.V.; CAPUANO, F. G. Elementos de Eletrônica Digital. 41. ed. São Paulo: Érica, 2012.
MENDONÇA, A.; ZELENOVSKY, R. EletrônicaDigital: curso prático e exercícios. 2. ed. Rio de Janeiro: MZ, 2007.
EXPLORE+
O capítulo 8 do livro Eletrônica Digital, 2ª ed, de Alexandre Mendonça e Ricardo Zelenovsky. Ele apresenta os mais
populares circuitos integrados sequenciais.
CONTEUDISTA
Felipe Gonçalves Serrenho
 CURRÍCULO LATTES
javascript:void(0);
javascript:void(0);

Mais conteúdos dessa disciplina