

































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
APOSTILA DE MICROPROCESSADORES
Tipologia: Notas de estudo
1 / 73
Esta página não é visível na pré-visualização
Não perca as partes importantes!


































































b) RS Assíncrono (Construído com portas NE)
A simbologia e a Tabela Verdade permanecem iguais, modificando apenas o circuito interno.
Circuito Interno:
A seguir, vamos analisar o funcionamento deste biestável (RS assíncrono) através do “Diagrama de Tempos”, que é um dos processos mais importantes utilizados na tecnologia digital pela facilidade de compreensão do funcionamento do circuito.
Diagrama de Tempos:
c) RS Síncrono (Nível Alto)
Simbologia: Circuito Interno:
Diagrama de Tempos:
Ck
Ck
No biestável sincronizado em nível lógico alto, só é alterada a saída, respeitando a tabela verdade do tipo RS, enquanto o clock estiver em NL1, conforme pode ser verificado no diagrama de tempos anterior.
d) RS Síncrono (Nível Baixo)
No biestável sincronizado em nível lógico baixo, só é alterada a saída, respeitando a tabela verdade do tipo RS, enquanto o clock estiver em NL0.
Simbologia: Circuito Interno:
e) RS Síncrono (Borda de Subida)
O biestável de borda de subida só tem a sua saída alterada conforme as condições de entrada E na transição do clock (de NL0 para NL1), ou seja, mesmo que o clock esteja em nível lógico alto, a saída não se altera independente do que foi colocado em suas entradas.
A diferença do circuito de nível alto para o de borda de subida consiste no acréscimo de um circuito diferenciador colocado na entrada do clock fazendo com que o funcionamento do mesmo após o diferenciador seja exatamente igual ao de nível alto.
Verifique pela ilustração ao lado que no instante em que o clock vai a nível lógico alto, após o diferenciador (ponto X) vai de 0 para 1 e instantaneamente volta para 0, permitindo assim apenas uma leitura das entradas do biestável, ou seja, mesmo que o clock se mantenha em nível lógico alto a saída não se altera mesmo modificando as entradas do flip-flop.
A seguir temos o circuito completo do biestável síncrono funcionando à borda de subida. Na representação simbólica do flip-flop, aparece um pequeno triângulo que significa “sincronismo à borda”. No diagrama de tempos, podemos analisar o funcionamento deste flip-flop.
Simbologia: Circuito Interno:
Ck
Ck
relógio estiver na transição o flip-flop faz apenas uma única leitura das condições de entrada, portanto só inverte a saída uma vez.
Simbologia: Tabela Verdade:
J K Q
0 0 Mantém 0 1 0 1 0 1 1 1 Inverte
Diagrama de Tempos:
Ck
O biestável tipo T só existe na configuração borda de subida ou descida, pelo mesmo motivo justificado no biestável tipo JK. Para melhor compreensão, vide abaixo o símbolo lógico, sua tabela verdade e um diagrama de tempos como exemplo.
Simbologia: Tabela Verdade:
T Q
0 Mantém 1 Inverte
Diagrama de Tempos:
Ck
O flip-flop tipo D é o mais fácil dos biestáveis, pois o sinal que estiver em sua entrada (D) é o mesmo que vai parar na saída (Q). Pode ser encontrado com ou sem clock. O flip-flop tipo D assíncrono não tem muita utilidade, pois uma vez que a saída copia a entrada instantaneamente (não tem clock), o seu funcionamento deixa de ter sentido a menos que a intenção seja o de gerar um pequeno “delay” (atraso).
Simbologia: Circuito Interno: Tabela Verdade;
Diagrama de Tempos:
b) D Síncrono (Nível Alto)
A tabela verdade permanece igual, mudando a simbologia e o diagrama de tempos. Também existe o biestável tipo D funcionando em nível baixo.
Simbologia:
Diagrama de Tempos:
Ck
Tabela Verdade:
Pr Cl R S Q
0 0 X X Proibido 0 1 X X 1 1 0 X X 0 1 1 0 0 Mantém 1 1 0 1 1 1 1 1 0 0 1 1 1 1 Proibido
Um biestável mestre-escravo (master-slave) é uma combinação de dois flip-flops sincronizados, onde o primeiro é o mestre e o segundo é o escravo. A figura a seguir mostra o circuito e um diagrama de tempos que representa o funcionamento deste tipo de biestável.
Circuito Interno:
Q
Q
J Qm
K Qm
Ck
MESTRE ESCRAVO
Diagrama de Tempos:
Ck
Qm
Na subida do pulso de clock, os valores introduzidos nas entradas J e K acionam o circuito do mestre. Logo após a descida do pulso do clock, o circuito do escravo é acionado copiando a mesma saída ocorrida no mestre Qm.
Quando o clock assume nível lógico alto, as portas lógicas do mestre modificam sua saída (Qm) conforme os valores introduzidos nas entradas J e K. Neste momento, o escravo fica desabilitado devido a porta inversora do circuito elétrico, fazendo com que a saída do circuito (saída do escravo) fique inalterada.
Quando o clock assume nível lógico baixo, as portas lógicas do mestre ficam desabilitadas, o que impede o acesso dos valores introduzidos nas entradas J e K. Neste momento as portas lógicas do escravo são habilitadas permitindo a ação do mestre sobre o escravo, ou seja, as saídas do mestre passam a ser as entradas do escravo, garantindo assim a execução do funcionamento do biestável conforme previsto.
Para o circuito executar corretamente a tabela verdade do biestável JK, as entradas J e K não devem mudar enquanto o clock estiver em nível lógico alto. Por exemplo: se J = 0, K = 0 e Q = 1, é esperado que a saída não mude após a aplicação de um pulso de clock. Contudo, se enquanto o clock estiver em nível lógico alto ocorrer um transitório na entrada K, ou seja, K assume o valor 1 e volta em seguida para 0, então ocorrerá mudança na saída após a descida do pulso do clock. Isto significa que não devemos usar esse tipo de flip-flop em ambientes nos quais as entradas J e K possam mudar enquanto o clock estiver em NL1. Neste caso, devemos usar o biestável comum.
Exercício 1: Dado o circuito, desenhe as formas de onda nas saídas Q0, Q1 e Q2, considerando que inicialmente estas saídas estão em nível lógico baixo.
E T
Q
Q
J Q
K Q
R Q
S Q
Ck
Exemplo: A partir do flip-flop tipo RS transformar no flip-flop tipo T.
O primeiro passo é desenhar as tabelas verdade do flip-flop que se tem e o desejado. Estas tabelas representam o que acontecerá com a saída conforme as condições das entradas, por exemplo: na tabela do tipo T, quando a saída QN = 0 e na entrada do flip-flop T for colocado T = 0, a saída futura será QN+1 = 0.
Flip-Flop Desejado Flip-Flop Atual
T (^) QN →→→→ QN+1 R S (^) QN →→→→ QN+
(^0 0) → 0 0 0 0 → 0
(^0 1) → 1 0 0 1 → 1 (^1 0) → 1 0 1 0 → 1
(^1 1) → 0 0 1 1 → 1
(^1 0 0) → 0 (^1 0 1) → 0
(^1 1 0) → X
(^1 1 1) → X
A partir das tabelas verdade obtemos as equações que vão representar as entradas do flip-flop (que se tem), da seguinte maneira:
Para preencher os valores internos dos Mapas de Karnaugh, deve-se analisar de forma independente cada célula, por exemplo: verifique que a primeira célula de cada um dos Mapas de Karnaugh representa que a saída QN = 0 e será colocado na entrada T = 0; assim, consultando a tabela verdade do flip-flop (desejado) nota-se que a saída vai de 0 para 0 (QN = 0 → QN+1 = 0). Procura-se então na outra tabela verdade (flip-flop atual) o mesmo efeito, concluindo-se que isto ocorre em duas oportunidades: para R = 0 e S = 0 e também para R = 1 e S = 0. Portanto R é irrelevante (já que pode ser R = 0 ou R = 1) enquanto que S com certeza é “0”.
Repare então que na primeira célula do Mapa de Karnaugh da esquerda (representa a equação da entrada R) foi preenchida com irrelevância “X”, enquanto que na primeira célula do Mapa de Karnaugh da direita (representa a equação da entrada S) foi preenchida com “0”. As demais células seguem o mesmo raciocínio para preenchimento.
Uma vez que os dois Mapas de Karnaugh foram inteiramente preenchidos, devem-se obter as equações. Obtidas as equações, basta implementar o circuito com o flip- flop que se tem, conforme ilustra a figura ao lado.
Ck
Flip-Flop Tipo T
Exercício 4: A partir do flip-flop tipo JK transformar no flip-flop tipo D.
Resposta:
Exercício 5: A partir do flip-flop tipo RS transformar no flip-flop tipo JK.
Resposta:
Uma combinação binária presente nas saídas do contador é denominada de “estado do contador”. A seqüência das combinações binárias assumidas pelas saídas do contador em função dos pulsos do clock pode ser natural ou não. Por exemplo: podemos projetar um contador para assumir uma seqüência de estados que corresponde a decimais consecutivos crescentes (0, 1, 2, 3, ...) ou decrescentes (..., 3, 2, 1, 0), ou ainda, para assumir uma seqüência não natural (7, 3, 1, 4, 0, 2). Para melhor entendermos o procedimento a ser seguido para executar uma contagem qualquer que se fizer necessário, vamos adotar um exemplo e a partir deste poderemos desenvolver qualquer outra contagem.
Exemplo: Implemente o circuito "contador síncrono" de acordo com a seqüência abaixo, utilizando apenas flip- flops do tipo RS.
Uma vez definida a ordem da contagem através de um fluxograma denominado de “Diagrama de Estados”, devemos agora construir a “Tabela de Transição” do biestável escolhido. Neste caso, devemos partir da tabela verdade do biestável RS, conforme explicação a seguir.
0 0 Mantém (^0) → 0
(^0 1 1 0) → 1
(^1 0 0 1) → 0
1 1 Proibido (^1) → 1
O preenchimento da tabela de transição é feito a partir da análise feita na tabela verdade do biestável a ser utilizado. A primeira coluna da tabela de transição refere-se à passagem da saída atual para a saída futura quando se introduzir um valor para as entradas R e S do flip-flop em questão. Por exemplo: analisando a primeira linha da tabela de transição, pergunta-se:
“Qual valor devemos introduzir nas entradas R e S do flip-flop de tal maneira que a saída atual vá de NL0 para uma saída futura também igual a NL0?”.
Resposta: Existem duas possibilidades: “R = 0 e S = 0” ou “R = 1 e S = 0”. Portanto, como a entrada R uma vez é NL0 e a outra vez é NL1, então tanto faz seu nível lógico, ou seja, é irrelevante (don’t care X); enquanto que a entrada S em ambas as situações é NL0, então com certeza essa entrada tem que ser NL0. Desenvolvendo esse mesmo raciocínio, podemos então preencher toda a tabela de transição do biestável
Diagrama de Estados
6, 1
4, 1
5, 1
0, 1 2, 1
7, 0 1, 0
3, 0
facilmente. Obviamente podemos concluir que cada biestável tem a sua própria tabela de transição. Concluída a tabela de transição, o próximo passo é a construção da “Tabela Lógica de Contagem”, conforme mostrado abaixo.
A coluna de “ESTADOS” é colocada na ordem crescente independente da ordem da contagem. Vamos analisar a primeira linha da tabela:
Verifique que na primeira linha o estado representativo em decimal é o “0”, ou seja, QA = 0, QB = 0 e QC = 0 e a partir daí verifica-se no diagrama de estados qual é o próximo estado pretendido após o pulso de clock. No caso do nosso exemplo vai do estado “0” para o estado “4”. A situação a seguir é verificar que para ir do estado “0” para o “4”, o QA vai de NL0 para NL1, ou seja, de “0 → 1”. Com essa informação, deve-se ir até a tabela de transição do biestável RS e observar o que acontece se a saída for de “0” para “1”. Nesse caso o R = 0 e S = 1, portanto concluímos que na primeira linha (estado 0) o RA fica igual a “0” e o SA igual a “1”, devendo ser preenchido na “Tabela Lógica de Contagem”.
Para preencher a coluna do RB e SB segue-se a mesma lógica, ou seja, verifica-se que para ir do estado “0” para o estado “4” o QB vai de NL0 para NL0 (0 → 0). Consultando então a tabela de transição do flip-flop RS verifica-se que nesse caso o R = X e o S = 0, portanto RB = X e SB = 0. Finalmente em relação ao RC e SC verifica-se que para ir do estado “0” para o estado “4” o QC vai de NL0 para NL0 (0 → 0). Consultado a tabela de transição verifica-se que o R é igual à irrelevância e o S igual a 0, portanto RC = X e SC = 0. A coluna SAÍDA é preenchida com relação ao estado em que se está analisando, por exemplo, no estado “0” verifica-se no diagrama de estados que a saída desejada é NL1. Portanto, no estado “0” temos SAÍDA = 1. As demais linhas da tabela lógica de contagem seguem o mesmo raciocínio. O próximo passo é a obtenção das equações de cada entrada dos flip-flops (RA, SA, RB, SB, RC, SC e SAÍDA). Para isso, basta transpor os dados de cada entrada de cada biestável para as tabelas de Veitch-Karnaugh a seguir.
Pulsos Contador Crescente Contador Decrescente (Clock) D C B A D C B A
0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 2 0 0 1 0 1 1 0 1 3 0 0 1 1 1 1 0 0 4 0 1 0 0 1 0 1 1 5 0 1 0 1 1 0 1 0 6 0 1 1 0 1 0 0 1 7 0 1 1 1 1 0 0 0 8 1 0 0 0 0 1 1 1 9 1 0 0 1 0 1 1 0 10 1 0 1 0 0 1 0 1 11 1 0 1 1 0 1 0 0 12 1 1 0 0 0 0 1 1 13 1 1 0 1 0 0 1 0 14 1 1 1 0 0 0 0 1 15 1 1 1 1 0 0 0 0
Ck
Ck
Ck
Ck
A B C D
1
1
1
1
1
1
1
1
Clock
Ck
Ck
Ck
Ck
A B C D
1
1
1
1
1
1
1
1
Clock
Nos circuitos eletrônicos das figuras anteriores, devemos considerar que o estado inicial é igual a “0” no contador crescente (DCBA = 0000) enquanto que o estado inicial é igual a “15” no contador decrescente (DCBA = 1111).
Simulando os circuitos, verifica-se que a cada pulso de clock (automático ou manual) os biestáveis mudam de estado de forma crescente ou decrescente. Observa-se que a diferença de um circuito para outro se encontra apenas nos clocks dos biestáveis B, C e D, ou seja, enquanto que no contador crescente os clocks estão ligados nas saídas normais (Q) do biestável anterior, no contador decrescente estão ligados nas saídas invertidas (/Q) do biestável anterior.
Exercício 1: Implemente o circuito "contador síncrono" de acordo com a seqüência abaixo, utilizando apenas flip-flops do tipo RS.
2, 0
3, 1
0, 0
1, 1
Resposta: