Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


APOSTILA DE MICROPROCESSADORES, Notas de estudo de Engenharia Elétrica

APOSTILA DE MICROPROCESSADORES

Tipologia: Notas de estudo

2011

Compartilhado em 22/08/2011

atleta-de-jesus-1
atleta-de-jesus-1 🇧🇷

3.9

(18)

100 documentos

1 / 73

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Microprocessadores
Eng. Elétrica
Prof. Sandro Rodrigo G. Bastos
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49

Pré-visualização parcial do texto

Baixe APOSTILA DE MICROPROCESSADORES e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

Microprocessadores

Eng. Elétrica

Prof. Sandro Rodrigo G. Bastos

SUMÁRIO

    1. BIESTÁVEIS
    • 1.1. Flip-Flop RS
    • 1.2. Flip-Flop JK
    • 1.3. Flip-Flop T
    • 1.4. Flip-Flop D........................................................................................................................................
    • 1.5. Preset e Clear...................................................................................................................................
    • 1.6. Flip-Flop JK Mestre-Escravo...........................................................................................................
    • 1.7. Transformação de Biestáveis..........................................................................................................
    • 1.8. Circuito Anti-Ruído (Debounce)
    1. CONTADOR SÍNCRONO..........................................................................................................
    1. MODELO SEQÜENCIAL
    1. PAL – ARRANJO LÓGICO PROGRAMÁVEL..........................................................................
    1. MICROPROCESSADOR X MICROCONTROLADOR...............................................................
    1. O MICROCONTROLADOR 8051..............................................................................................
    • 6.1. A Família
    • 6.2. Descrição da Pinagem....................................................................................................................
    • 6.3. Oscilador Interno
    • 6.4. Reset..............................................................................................................................................
    • 6.5. A Estrutura de Memória
    • 6.6. Memória de Programa
    • 6.7. Memória de Dados
    • 6.8. Registradores de Função Especial..................................................................................................
    1. CONJUNTO DE INSTRUÇÕES DO
    • 7.1. Modos de Endereçamento
    • 7.2. Instruções de Transferência de Dados............................................................................................
    • 7.3. Instruções Aritméticas.....................................................................................................................
    • 7.4. Instruções Lógicas..........................................................................................................................
    • 7.5. Instruções Booleanas
    • 7.6. Instruções de Desvio
    1. KIT DIDÁTICO SDM 9431.........................................................................................................
    • 8.1. Operação do Kit Didático
    1. ANEXO A: TABELA DE INSTRUÇÕES DO
    1. ANEXO B: SISTEMA MÍNIMO COM O
    1. BIBLIOGRAFIA

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:

R
S
Q

c) RS Síncrono (Nível Alto)

Simbologia: Circuito Interno:

Diagrama de Tempos:

Ck

S
R
Q
R
Q
S
Q

R Q

S Q

Ck

R
Q
S
Q

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:

R Q

S Q

Ck

R
Q
S
Q

Ck

Ck

C R

Circuito

X

X

Ck

R Q

S Q

Ck

R
Q
S
Q

Ck

C
R

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

J
K
Q

1.3. Flip-Flop T

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

T
Q

T Q

Q

Ck

J Q

K Q

Ck

1.4. Flip-Flop D

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).

a) D Assíncrono

Simbologia: Circuito Interno: Tabela Verdade;

Diagrama de Tempos:

D
Q

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

D
Q
D Q

D

Q

Q

Q
D Q

D Q

Ck Q

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

1.6. Flip-Flop JK Mestre-Escravo

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

J
K

Qm

Q

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

E

Ck

Q

Q

Q

t

t

t

t

t

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:

T
QN 0 1
0 X 0
R = T.Q S = T.Q

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.

T
QN 0 1
1 X 0
R Q
S

Ck

T Q
Q Q

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:

2. CONTADOR SÍNCRONO

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.

R S Q QN →→→→ QN+1 R S

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.

TABELA LÓGICA DE CONTAGEM
ESTADOS FLIP-FLOPS SAÍDA
DEC. QA QB QC RA SA RB SB RC SC

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.

OBTENÇÃO DAS EQUAÇÕES
QA QB
QC 00 01 11 10
RA = SA =
QA QB
QC 00 01 11 10

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

CONTADOR CRESCENTE:
J Q
K Q

Ck

J Q
K Q

Ck

J Q
K Q

Ck

J Q
K Q

Ck

A B C D

1

1

1

1

1

1

1

1

Clock

CONTADOR DECRESCENTE:
J Q
K Q

Ck

J Q
K Q

Ck

J Q
K Q

Ck

J Q
K Q

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: