Você está na página 1de 5

SEL SEL- -433 433 APLICAES DE MICROPROCESSADORES I APLICAES DE MICROPROCESSADORES I

Tcnicas de Interface
Prof. Evandro L. L. Rodrigues
Tcnicas de Interface com Microcontroladores Tcnicas de Interface com Microcontroladores
(8051)
Estrutura das Portas do 8051:
Todas as quatro Portas (P0,P1,P2,P3) da famlia de q ( )
Microcontroladores MCS-51 so bi-direcionais.
Cada uma delas consiste de um Latch, um Driver de sada
e um Buffer de entrada.
Os Drivers de sada dos Buffers de entrada da Porta P3 so
ltif i i d t b i f lt ti multifuncionais - podem tambm assumir funes alternativas.
Arquitetura interna da Porta P0
Driver
O FET do Driver
s est ativo
quando a porta
est fornecendo 1
lgico durante o
acesso memria
externa
Latch
As linhas de P0 que esto
Buffer de entrada
sendo usadas como sada
so dreno aberto.
Buffer de entrada
Escrever nvel lgico 1 em
qualquer pino da P0 desativa
os FETs de sada e assim o
Porta Bi-direcional verdadeira
pino flutua.
Arquitetura interna da Porta P1
O Resistor de Pull-up
fi f t
Porta Bi-direcional com pull-up
fixo, fornece corrente
(IIL = Corrente de
Input Low) quando
externamente externamente
aplicado um nvel
lgico 0.
Para o 89S52 o valor
mximo de IIL = - 50 uA
Quando o Microcontrolador escreve nvel lgico
d M i V l d IOL
M i IOL i 10 A
zero na sada, os Mximos Valores de IOL
(Corrente de Output Low) para o 89S52 so:
Mxima IOL por pino: 10 mA
Mxima IOL para 8-bits: P0 = 26 mA
P1 P2 e P3: 15 mA
A mxima corrente de
sada em nvel alto (IOH =
Corrente de Output High)
P1, P2 e P3: 15 mA
Mxima IOL - todos os pinos (P0, P1,P2,P3): 71 mA
p g )
para o 89S52 = - 60 A
Os valores de IOL,
IOH IIL IIH
Arquitetura interna da Porta P2
Porta Bi-direcional com pull-up
IOH, IIL e IIH so os
mesmos da Porta P1
Aps um Reset, p ,
todas as sadas dos
Latches vo para
nvel lgico 1,
programando todas
as Portas (P0, P1,
P2, P3) como
entradas.
A Porta P2, como a P0, no pode ser usada como entrada/sada se
estiver sendo usada como Barramento de Endereos estiver sendo usada como Barramento de Endereos.
Os valores de IOL,
IOH IIL IIH
Arquitetura interna da Porta P3
Porta Bi-direcional com pull-up
IOH, IIL e IIH so os
mesmos da Porta P1
S L t h d P t P3 Se o Latch da Porta P3
est em nvel lgico 1, a
sada controlada pelo
sinal de F no de Sada sinal de Funo de Sada
Alternativa
Pino Sentido Funo Alternativa
P3 0 E t d R D (E t d S i l)
Os Pinos da Porta P3 esto sempre
disponveis como Entrada das
Funes Alternativas
P3.0 Entrada RxD (Entrada Serial)
P3.1 Sada TxD (Sada Serial)
P3.2 Entrada INT0 (Interrupo 0)
Funes Alternativas
P3.3 Entrada INT1 (Interrupo 1)
P3.4 Entrada T0 (Contador 0)
P3.5 Entrada T1 (Contador 1)
P3.6 Sada WR (sinal de escrita)
P3.7 Sada RD (Sinal de Escrita)
Conectando Chaves mecnicas s entradas do Microcontrolador
VCC
21
22
23
24
25
39
38
37
36
35
P2.0/A8
P2.1/A9
P2.2/A10
P2 3/A11
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0 3/AD3
possvel utilizar, mas no
obrigatoriamente um Resistor de
1
2
3
25
26
27
28
10
11
12
35
34
33
32
P1.0/T2
P1.1/T2-EX
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
obrigatoriamente, um Resistor de
10K ohms que consumir uma
corrente da fonte de
aproximadamente 500 uA quando a
19 29
3
4
5
6
7
8
12
13
14
15
16
17
P1.1/T2 EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
aproximadamente 500 uA quando a
chave for acionada.
AT89S52
9
18
19 29
30
31
RST
XTAL2
XTAL1 PSEN
ALE/PROG
EA/VPP
AT89S52
importante ressaltar que
quando a chave for acionada, o q ,
resistor de Pull-up da porta fornece
tambm no mximo IIL = 50 uA.
Exemplo de Aplicao
VCC
21
22
23
24
39
38
37
36
P2.0/A8
P2.1/A9
P2.2/A10
P2 3/A11
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0 3/AD3
Considerando o esquema, implementar
um contador binrio de 8 Bits cujo valor
deve ser incrementado de uma unidade
1
2
3
25
26
27
28
10
11
12
35
34
33
32
P1.0/T2
P1 1/T2-EX
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3 1/TXD
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
deve ser incrementado de uma unidade
a cada toque na chave e enviado
Porta P2
19 29
3
4
5
6
7
8
12
13
14
15
16
17
P1.1/T2 EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
AT89S52
9
18
19 29
30
31
RST
XTAL2
XTAL1 PSEN
ALE/PROG
EA/VPP
AT89S52
Primeira Soluo
Testando-se a chave
duas vezes verifica-se se
o usurio j completou a
Esta soluo
funcionaria na Prtica?
o usurio j completou a
operao de um toque, ou
seja, um pulso completo.
NO
As chaves mecnicas possuem inrcia ao fechar que geram rudos que
podero ser detectados pelo software ao se proceder a leitura da mesma. p p p
Este rudo, chamado de Bounce da chave Este rudo, chamado de Bounce da chave
deve ser eliminado, ou por hardware (capacitor,
FF tipo D) ou por software inserindo um atraso
antes da leitura da chave fechada.
VCC
Bounce
VCC
da
Chave
Entrada
de um
Circuito
Digital
VCC
21
22
23
24
39
38
37
36
P2.0/A8
P2.1/A9
P2.2/A10
P0.0/AD0
P0.1/AD1
P0.2/AD2
VCC
1
2
3
24
25
26
27
28
10
11
12
36
35
34
33
32
P1.0/T2
P1.1/T2-EX
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
19 29
3
4
5
6
7
8
12
13
14
15
16
17
XTAL1 PSEN
P1.1/T2 EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
AT89S52
9
18
30
31
RST
XTAL2
XTAL1 PSEN
ALE/PROG
EA/VPP
Conectando Leds s sadas do Microcontrolador
21 39
Qual o valor do Resistor e da corrente necessria para acender o Led no
esquema abaixo?
21
22
23
24
25
26
27
28
39
38
37
36
35
34
33
32
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2 7/A15
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0 7/AD7
LED
1
2
3
4
5
6
28
10
11
12
13
14
15
32
P1.0/T2
P1.1/T2-EX
P1.2
P1.3
P1.4
P1 5
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3 5/T1
P0.7/AD7
O nvel da porta para acionar o Led deve
ser nvel lgico 1, ou seja = 5v
Um Led tem uma queda de tenso de 1 4 v
9
18
19 29
30
31
7
8
16
17
RST
XTAL2
XTAL1 PSEN
ALE/PROG
P1.5
P1.6
P1.7
P3.5/T1
P3.6/WR
P3.7/RD
Um Led tem uma queda de tenso de 1,4 v
Logo,
V RI Vl d R (5 1 4 )/I
AT89S52
31
EA/VPP V = RI + Vled R = (5 1,4 )/I
Como um Led necessita de aproximadamente 10 mA para uma boa
luminosidade R = 3,6/10mA = 360 ohms
Como a corrente de sada em nvel alto IOH no mximo 60 uA, esta
ligao invivel
E se alterarmos o esquema de conexo, qual o valor do Resistor e da corrente
necessria para acender o Led ?
VCC
p
O nvel da porta para acionar o
Led deve ser nvel lgico 0 ou
21
22
23
24
25
26
27
28
39
38
37
36
35
34
33
32
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
LED
Led deve ser nvel lgico 0, ou
seja = 0v
1
2
3
4
5
6
28
10
11
12
13
14
15
32
P1.0/T2
P1.1/T2-EX
P1.2
P1.3
P1.4
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P0.6/AD6
P0.7/AD7
O clculo do Resistor o mesmo realizado
anteriormente, ou seja, R = 360 ohms
9
18
19 29
30
6
7
8
15
16
17
RST
XTAL2
XTAL1 PSEN
ALE/PROG
P1.5
P1.6
P1.7
P3.5/T1
P3.6/WR
P3.7/RD A corrente a ser avaliada agora a de nvel de
sada baixo, ou seja, IOL no mximo 10 mA por
bit da Porta P2
AT89S52
31
EA/VPP
bit da Porta P2.
O valor mximo de IOL para os 8 Bits da Porta P2 15 mA ou seja a O valor mximo de IOL para os 8 Bits da Porta P2 15 mA, ou seja, a
soluo vivel para um Bit mas no deve ser adotada para a porta toda,
pois o nvel de corrente ultrapassa o mximo recomendado.
Bufferizando as sadas do Microcontrolador
VCC
LED
Utilizando-se um
Buffer/driver com
transistores, um para
2
R
cada bit da porta,
fornece-se a corrente
necessria operao
21
22
23
24
25
26
39
38
37
36
35
34
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2 5/A13
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0 5/AD5
1
3
do Led sem afetar os
valores mximos
permitidos para o
Mi t l d
1
2
3
4
5
27
28
10
11
12
13
14
33
32
P1.0/T2
P1.1/T2-EX
P1.2
P1 3
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3 3/INT1
P0.5/AD5
P0.6/AD6
P0.7/AD7
Microcontrolador.
Nvel lgico 1 em P2.0 conduz o
9
18
19 29
30
5
6
7
8
14
15
16
17
XTAL2
XTAL1 PSEN
P1.3
P1.4
P1.5
P1.6
P1.7
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
Nvel lgico 1 em P2.0 conduz o
transistor acendendo o Led
R = 360 Ohms fornece corrente de
AT89S52
9 30
31
RST ALE/PROG
EA/VPP
R 360 Ohms fornece corrente de
aproximadamente 10 mA ao Led.
O resistor de base deve ser calculado conforme especificaes do
transistor com IOH mxima de 60 uA
Bufferizando as sadas do Microcontrolador
A soluo mais indicada utilizar um Circuito Led Driver que fornecer a
corrente necessria aos Leds em cada um dos Bits da Porta no permitindo
VCC
R
ultrapassar os valores mximos recomendados.
Alguns CIs de Led Driver
21
22
23
24
25
26
39
38
37
36
35
34
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2 5/A13
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0 5/AD5
R
LED Driver
1 2
Alguns CI s de Led Driver
7407 (4 por chip)
74244 (8 por chip)
1
2
3
4
27
28
10
11
12
13
14
33
32
P1.0/T2
P1.1/T2-EX
P1.2
P1 3
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3 3/INT1
P0.5/AD5
P0.6/AD6
P0.7/AD7
74244 (8 por chip)
ULN2803 (8 por chip)
outros
9
18
19 29
30
5
6
7
8
14
15
16
17
XTAL2
XTAL1 PSEN
P1.3
P1.4
P1.5
P1.6
P1.7
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
AT89S52
9 30
31
RST ALE/PROG
EA/VPP
Interface do Microcontrolador com Teclado Matricial
Um Teclado Matricial de 4 linhas por 4 colunas permite a gerao de 16
cdigos independentes utilizando-se apenas 8 linhas de uma Porta do cdigos independentes utilizando se apenas 8 linhas de uma Porta do
Microcontrolador.
Dessa maneira possvel
interfacear um Teclado
Hexadecimal Matricial ao
Microcontrolador para
entrada de dados binrios
Interface do Microcontrolador com Teclado Matricial
Linhas P2.0 a P2.3 Entrada
Colunas P2.4 a P2.7 Sada
Valores aplicados s colunas(P2.4 a P2.7) e lidos nas linhas (P2.0 a P2.3),
se for acionada uma tecla presente na coluna que contm zero. se for acionada uma tecla presente na coluna que contm zero.
Caso nenhuma tecla seja acionada, o valor das linhas = F
Exerccio
Fazer um programa em Assembly do 8051 que interfaceado a
um Teclado Matricial conforme esquema mostrado, comande
M t d P t d P t P1 (P1 0 Cl k P1 1 um Motor de Passo conectado Porta P1 (P1.0 = Clock, P1.1 =
Direo).
1. O Nmero de passos (de 01 a 99) deve entrar pelo Teclado p ( ) p
Matricial seguido da direo ( A = Anti-horria e B = Horria).
Aps os dados de nmero de passos e direo terem sido
inseridos, o programa aguarda uma tecla de incio, ou Enter
(usar a letra F).
2. Quando o Motor terminar de dar os passos solicitados no item
1 deve parar e aguardar novos comandos de Nmero de 1, deve parar e aguardar novos comandos de Nmero de
Passos e Direo.
3. Simular no Pinnacle colocando um contador em paralelo com
l k d t ifi t d l o clock do motor para verificar a contagem dos pulsos.
4. Letra C corrige o campo atual
5 Letra D repete seq ncia pr gra ada 5. Letra D repete sequncia pr-gravada
6. Letra E Limpa memria

Você também pode gostar