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


Microcontroladores MCS-51: Pinagem e Temporização - Capítulo III, Provas de Engenharia Elétrica

Documento que descreve a pinagem dos microcontroladores mcs-51, incluindo os pinos de alimentação, portas de i/o, interrupções e temporização. Além disso, são apresentados diagramas de tempo para melhor compreensão.

Tipologia: Provas

Antes de 2010

Compartilhado em 09/11/2009

volnei-junior-12
volnei-junior-12 🇧🇷

4.7

(43)

293 documentos

1 / 9

Toggle sidebar

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

Não perca as partes importantes!

bg1
CAPÍTULO III PINAGEM E TEMPORIZAÇÃO
MICROCONTROLADORES (MCS-51) 3 - 1
CAPíTULO III
PINAGEM E TEMPORIZAÇÃO
3.1. INTRODUÇÃO
O encapsulamento dos microcontroladores varia muito, de acordo com as funções
desempenhadas. Basicamente são usados 3 tipos de encapsulamento :
DIP Dual in Pack,
QFP Quad Flat Pack,
PLCC Leadless Chip Carrier.
Os 8051 e 8052 estão disponíveis em 40 DIP, 44 PLCC e 44 QFP. Alguns exemplos:
8031 (mais simples) DIP40
8051GB (AD + timer, etc) 100 QFP
8051SL (Keyboard Controller) 100 QFP
83152 (Universal Com. Contr.) DIP48 E PLCC68
3.2. DESCRIÇÃO DA PINAGEM
Estudar-se-á a pinagem do 8051 no encapsulamento DIP40 (HMOS) 8051 AH
(40) Vcc Alimentação de +5V. Consumo: Icc = 125 mA, com todas as saídas desconectadas.
(20) Vss Terra.
(32-39) P0 Porta 0 (AD0...AD7). Além de porta paralela, está multiplexada com o byte menos
significativo (LSB) dos endereços e dos dados. Admite 8 cargas LS TTL.
(21-28) P2 Porta 2 (A8...A15). Além de porta paralela, está multiplexada com o byte mais
significativo (MSB) dos endereços. Admite 4 cargas LS TTL.
(1-8) P1 Porta 1. Admite 4 cargas LS TTL.
(10-17) P3 Porta 3. Compartilhada com uma série de recursos Admite 4 cargas LS TTL.
P3.0 RXD, entrada serial
P3.1 TXD, saída serial
P3.2 *INT0, interrupção externa 0
P3.3 *INT1, interrupção externa 1
P3.4 T0, entrada para o timer 0 (contador neste caso)
P3.5 T1, entrada para o timer 1 (contador neste caso)
P3.6 *WR, escrita na memória de dados externa
pf3
pf4
pf5
pf8
pf9

Pré-visualização parcial do texto

Baixe Microcontroladores MCS-51: Pinagem e Temporização - Capítulo III e outras Provas em PDF para Engenharia Elétrica, somente na Docsity!

MICROCONTROLADORES (MCS-51) 3 - 1

CAPíTULO III

PINAGEM E TEMPORIZAÇÃO

3.1. INTRODUÇÃO

O encapsulamento dos microcontroladores varia muito, de acordo com as funções desempenhadas. Basicamente são usados 3 tipos de encapsulamento :

  • DIP → Dual in Pack,
  • QFP → Quad Flat Pack,
  • PLCC → Leadless Chip Carrier.

Os 8051 e 8052 estão disponíveis em 40 DIP, 44 PLCC e 44 QFP. Alguns exemplos:

  • 8031 (mais simples) → DIP
  • 8051GB (AD + timer, etc) → 100 QFP
  • 8051SL (Keyboard Controller) → 100 QFP
  • 83152 (Universal Com. Contr.) → DIP48 E PLCC

3.2. DESCRIÇÃO DA PINAGEM

Estudar-se-á a pinagem do 8051 no encapsulamento DIP40 (HMOS) → 8051 AH (40) Vcc → Alimentação de +5V. Consumo: Icc = 125 mA, com todas as saídas desconectadas. (20) Vss → Terra. (32-39) P0 → Porta 0 (AD0...AD7). Além de porta paralela, está multiplexada com o byte menos significativo (LSB) dos endereços e dos dados. Admite 8 cargas LS TTL. (21-28) P2 → Porta 2 (A8...A15). Além de porta paralela, está multiplexada com o byte mais significativo (MSB) dos endereços. Admite 4 cargas LS TTL. (1-8) P1 → Porta 1. Admite 4 cargas LS TTL. (10-17) P3 → Porta 3. Compartilhada com uma série de recursos Admite 4 cargas LS TTL. P3.0RXD , entrada serial P3.1TXD , saída serial P3.2 → *INT0 , interrupção externa 0 P3.3 → *INT1 , interrupção externa 1 P3.4T0 , entrada para o timer 0 (contador neste caso) P3.5T1 , entrada para o timer 1 (contador neste caso) P3.6 → *WR, escrita na memória de dados externa

3 - 2 MICROCONTROLADORES (MCS-51)

P3.7 → *RD, leitura na memória de dados externa (9) RST → Reset. Com o oscilador funcionando, deve ser mantido um nível alto durante 24 períodos. (30) ALE/PROG → Address Latch Enable. Pulso para acionar o latch que captura o LSB do endereço (com sua borda ascendente). Ele é emitido à razão de 1/6 da freqüência do oscilador e pode ser usado para acionar entradas externas. Um ALE é omitido durante o acesso à Memória de Dados Externa. Também é usada na gravação da ROM interna. (29) *PSEN → Program Store Enable. Pulso de leitura para a Memória de Programa Externa. Quando o programa está sendo executado na memória de programa externa ele aparece como 1/6 da freqüência de clock. Quando há acesso à memória de dados externa, 2 PSEN são perdidos. (31) *EA/VPP → External Access Enable. Informa à CPU se o programa está na Memória de Programa Externa ou na ROM Interna. Também usado para gravação da ROM Interna. *EA = 1 (Vcc) → (0000H - 0FFFH) ROM Interna → (1000H - FFFFH) Memória de Programa Externa *EA = 0 (Vss) → (0000H - FFFFH) Memória de Programa Externa (19) XTAL1 → Entrada do amplificador inversor do oscilador interno. Deve ser conectado à terra se for usado um clock externo (HMOS) ou ao clock externo (CHMOS). (20) XTAL2 → Saída do amplificador inversor do oscilador interno. Se for usado clock externo, serve como entrada para o mesmo (HMOS) ou não é conectado (CHMOS).

P3. P3.

P3. P3.

P3. P3.

P3. P3.

RST

P1. P1.

P1. P1.

P1. P1.

P1. P1.

XTAL XTAL Vss

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20

22

23

24

25

26

27

28

29

30

31

32

33

21

34

35

36

37

38

39 Vcc^40 P0. P0. P0. P0. P0. P0. P0. P0. *EA / VPP ALE / PROG *PSEN P2. P2. P2. P2. P2. P2. P2. P2.

RXD TXD *INT *INT T T *WR *RD

A

A

A

A

A

A

A

A

AD AD AD AD AD AD AD AD

Figura 3.1. Pinagem do 8051.

3 - 4 MICROCONTROLADORES (MCS-51)

EST 2 P1 P

EST 1 P1 P

EST 3 P1 P

EST 4 P1 P

EST 5 P1 P

EST 6 P1 P

EST 1 P1 P

EST 2 P1 P

DATA IN PCL OUT^

DATA IN

DATA PCL OUT (^) IN PCL OUT

PCH OUT PCH OUT (^) PCH OUT

XTAL

ALE

*PSEN

Porta P

Porta P

PC -- Program Counter PCL -- LSB do Program Counter PCH -- MSB do Program Counter

(AD0-7)

(A8-15)

Figura 3.2. Fetch de programa, Memória Externa.

Cada período de Clock recebe o nome de Fase (Phase). Cada estado é composto por 2 períodos de Clock ou 2 fases, denominadas P1 e P2. Observar que EST1=EST4, EST2=EST5, etc. O Program Counter (PC) é composto por dois registros de 8 bits: PC = PCH + PCL. As freqüências de ALE e PSEN são iguais a 1/6 da freqüência do cristal, mas o "Duty Cycle (DC) é diferente para cada uma. ALE tem o DC=33% (1/3) enquanto que PSEN tem o DC=50% (1/2). f(ALE) = f(PSEN) = f(XTAL)/ DC(ALE) = 33% ==> 33% alto e 67% baixo DC(PSEN) = 50% ==> 50% alto e 50% baixo

EST 5 P1 P

EST 4 P1 P

EST 6 P1 P

EST 1 P1 P

EST 2 P1 P

EST 3 P1 P

EST 4 P1 P

EST 5 P1 P

DATA IN PCL se Prog Ext

XTAL

ALE

*RD

Porta P

Porta P

DPL ou Ri

PCH ou P2 SFR DPH ou P

FLOAT

PCH ou P2 SFR

(AD0-7) (A8-15)

Figura 3.3. Leitura na Memória de Dados Externa.

MICROCONTROLADORES (MCS-51) 3 - 5

EST 5 P1 P

EST 4 P1 P

EST 6 P1 P

EST 1 P1 P

EST 2 P1 P

EST 3 P1 P

EST 4 P1 P

EST 5 P1 P

PCL se Prog Ext

XTAL

ALE

*WR

Porta P

Porta P

DPL ou Ri

DPH ou P

DATA OUT

PCH ou P2 SFR PCH ou P2 SFR

(AD0-7)

(A8-15)

Figura 3.4. Escrita na Memória de Dados Externa.

A leitura e a escrita na Memória de Dados Externa usam o dobro de tempo quando são comparadas com um acesso à memória de programa. Notar que f(ALE) não tem f(XTAL)/6 pela ausência de um pulso de ALE e que não existe *PSEN. Perde-se um pulso de ALE e dois pulsos de PSEN. Então, f(ALE) = f(PSEN) = f(XTAL)/6 mas, quando há acessos à Memória de Dados Externa, se perdem 1 pulso de ALE e 2 pulsos de *PSEN. Nos acessos à Memória de Dados Externa é usado um endereço de 16 bits. Esse endereço pode ser formado por um registro ponteiro de dados de 16 bits, DPTR (DPTR = DPH + DPL) ou por R0 ou R1 e o conteúdo do SFR P2. MSB LSB DPTR → DPH e DPL P2 e Ri → SFR P2 e R0 ou R

Exemplos: leitura escrita Com DPTR → MOVX A,@DPTR ou MOVX @DPTR,A Com P2 e Ri → MOVX A,@Ri ou MOVX @Ri,A (onde i=0 ou i=1)

Notar que quando se usa DPTR para endereçar a memória externa, os 16 bits dos endereços são emitidos por P0 e P2 mas ao se usar Ri, os 16 bits são formados pelo conteúdo de Ri (LSB) e o que estava no SFR P2, ou seja, não se altera o conteúdo de P2.

MICROCONTROLADORES (MCS-51) 3 - 7

A entrada RST é assíncrona e é amostrada durante a fase 2 (P2) do estado 5 (E5). Depois do RST ser amostrado como alto, ainda se mantém atividade nos pinos durante 19 períodos de clock. Os pinos só cessarão a atividade 19 a 31 períodos de clock depois de RST ser ativada. Após o RST, os pinos ALE e PSEN vão para 1. Depois de RST=0 (desativada), são necessários 1 a 2 períodos de clock para que ALE e PSEN comecem. Por isso, outros dispositivos externos não podem ser sincronizados com o tempo interno do Reset do 8051. A RAM Interna não é afetada pelo reset. Depois do RESET, a CPU é inicializada com os seguintes dados: SP = 7 ESTADO DOS REGISTROS SBUF =? APÓS O RESET P0,P1,P2,P3 = FFH OUTROS SFR = 0

Uma maneira fácil de realizar o "Power on Reset" e o "Reset Manual" é mostrada na figura 3.7.

RESET

VCC

C (^) 10 uF

R 8,2 K

Figura 3.7. Circuito para RESET do 8051 (HMOS).

O esquema da figura 3.7 é válido para HMOS. Nas famílias CHMOS o resistor 8,2 KΩ pode ser omitido pois há um "pull-down" interno; além disso, o capacitor deve ser reduzido a 1 μF. Quando é energizado, o circuito (RC) assegura no pino RST um nível alto durante uma quantidade de tempo que depende dos valores de R e C. Para ter um "Power On Reset" seguro é necessário que o pino RESET seja mantido em alto durante o tempo necessário para que o oscilador inicie e a isto se adicionam os 24 períodos de clock para o RESET efetivo.

Tempos que serão computados no power up:

  • Vcc se estabiliza → 10ms
  • Partida do oscilador → 1ms (10MHz) 10ms (1MHz)

3 - 8 MICROCONTROLADORES (MCS-51)

Com este circuito de Reset Vcc cai rapidamente a 0. Com isto, a tensão do pino RST pode cair momentaneamente abaixo de 0 mas não causa danos. Com a chave em paralelo com um capacitor pode-se gerar o RESET manual. Para que se possa projetar um RESET eficiente e preciso é necessário analisar o circuito RC de primeira ordem.

Vcc

C 10 uF

R 8,2 K V R

V

t

T

V

R

R

Figura 3.8. Análise do circuito para RESET do 8051.

Da análise do circuito se pode escrever a equação:

V R V CC e

t / RC

A pergunta, quando se calcula um circuito de RESET, é: Qual RC me garante que o RESET fique ativado por um tempo maior que o especificado? Para que se possa responder a esta pergunta é necessário saber qual a tensão de comutação do Schmitt-Trigger do 8051 e qual é o modelo elétrico da entrada RESET (ou seja, quanta corrente consome). Essas informações não estão facilmente disponíveis nem nos Data Sheets.

Exemplo: com o 8051 usando cristal de 1 MHz: 10 ms → estabilizar Vcc 10 ms → partida do oscilador 24 μs → necessários para o Reset (24 períodos de clock)  20024 μs → Tempo do Reset = 20,024 ms =(aprox.) 20 ms Supondo que o Schmitt Trigger comute a 3,5 V (na transição de alto para baixo; valores abaixo de 3,5 V na entrada geram 0 na saída) e usando os valores de R e C da figura 3.7, calcula-se. ln(3,5) - ln(5) = -(t/RC) t = RC ( ln(3,5) - ln(5) ) = 29 ms > 20 ms OK! Pelo que parece, o circuito de RESET sugerido deve funcionar.