Você está na página 1de 6

UNIDADE 11:

Portes (portas) de entrada

O conteúdo apresentado nesta unidade também servirá de base para a


próxima, tendo em vista que as (portes) portas de um microcontrolador de núcleo
8051 podem trabalhar como entrada e também como saída, enviando ou
recebendo dados dependendo da programação estabelecida no
microcontrolador.
Nesta unidade também veremos como um microcontrolador com núcleo
8051 se comunica com circuitos externos através das portes (portas), seja para
formar um determinado sistema de monitoramento e controle, um produto ou
equipamento eletrônico qualquer (equipamentos médicos, relógio de pulso,
calculadora, etc.). Sendo que esses circuitos externos podem ter sensores (como
transdutores de pressão, temperatura, velocidade, ph, diversos tipos de interface
como chaves, teclado, etc.) circuitos integrados (multiplexadores,
demultiplexadores, codificadores, decodificadores, comparadores, receptores,
transmissores, circuitos eletrônicos dedicados a aplicações como eletrônica
embarcada, controle e automação, mecatrônica, médica, aeroespacial, etc.)
Podemos destacar nos microcontroladores as portes que apresentam
quatro portes de entrada e saída, como por exemplo, os microcontroladores da
Atmel, Philips, Intel, Texas Instruments, etc. Como existem muitas variações de
microcontroladores para cada fabricante, o numero de portes também pode
variar bastante, para mais ou para menos.

Portes (portas) de entrada e sáida (input/output ports ou ainda i/o ports)

Os quatro portes dos microcontroladores chamados de P0, P1, P2 e P3,


cada um desses portes é composto por 8 bits e são diferentemente identificados,
como por exemplo, o bit 0 do porte 0 é chamado de P0.0 , o bit 4 do porte 1 é
chamado de P1.4, o bit 3 do porte 2 é chamado de P2.3 e o bit 5 do porte 3 é
chamado de P3.5 e assim por diante, como pode ser visto na tabela abaixo.
bit 0 1 2 3 4 5 6 7
P0= P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
P1= P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2= P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
P3= P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

Abaixo vemos a imagem do microcontrolador e suas portes (portas) na


sua estrutura física.

Todos os bits dos portes são bidirecionais, ou seja, podem ser


programados de forma individual como entrada para receber informações de
interfaces de entrada, ou como saída para ativar/desativar as interfaces de saída.
Cada bit de um porte é formado por três circuitos básicos:

 Um flip-flop do tipo D ou um latch para armazenar uma informação


qualquer.
 Um driver de corrente para ser capaz de excitar o circuito acionador
de uma interface de saída.
 Um buffer de entrada para receber uma informação qualquer da
interface de entrada.
Alguns dos drivers de saída dos buffers de entrada do porte 1 (P1) e todos
os bits do porte 3 (P3) são multifuncionais (apresentam múltiplas funções), além
de poderem trabalhar normalmente como portes de entrada e saída, eles também
podem assumir funções alternativas, como estão descritas na tabela abaixo.

Pinos das portas Funções alternativas


P1.0 * T2 (entrada de clock externa do timer/contador 2)
P1.1 * Captura/trigger de recarregamento do timer/contador 2
P3.0 RXD (porta de entrada do canal de comunicação serial)
P3.1 TXD (porta de saída do canal de comunicação serial)
P3.2 INTO (entrada da interrupção externa 0)
P3.3 INT1 (entrada da interrupção externa 1)
P3.4 TO (entrada de clock externa do timer/contador 0)
P3.5 T1 (entrada de clock externa do timer/contador 1)
P3.6 WR (sinal de escrita de memória de dados externa)
P3.7 RD (sinal de leitura de memória de dados externa)
*P1.0 e P1.1 somente no 8052/32

Nas figuras abaixo temos a ilustração do diagrama funcional típico de um


bit de um buffer de entrada e saída de cada um dos quatro portes existentes na
família de microcontroladores com núcleo do 8051.
O latch de um bit (um bit de registrador de função especial de um porte) é
representado como vemos nas figuras por um flip-flop tipo D. Nesta arquitetura a
entrada de clock está ligada a um sinal de escrita ao latch vindo da CPU.
Nas figuras abaixo podemos observar a saída Q do flip-flop é colocada no
barramento interno em resposta a um sinal de leitura do latch vinda da CPU. O
nível do pino do porte é colocado no barramento interno em resposta a um sinal
de leitura do pino vindo da CPU.
Sendo assim, algumas instruções lêem o porte, outras ativam o sinal de
leitura do latch e outras ativam o sinal de leitura do pino.
1. Arquitetura interna dos bits do porte P0 da família de
microcontroladores MCS-51 da Intel:

2. Arquitetura interna dos bits do porte P1 da família de


microcontroladores MCS-51 da Intel:

3. Arquitetura interna dos bits do porte P2 da família de


microcontroladores MCS-51 da Intel:
4. Arquitetura interna dos bits do porte P3 da família de
microcontroladores MCS-51 da Intel:

Como podemos ver nas figuras 2, 3 e 4 os portes 1, 2, e 3 possuem pull-


ups internos. O porte 0 tem saída “dreno aberto”, ou em inglês “open drain”.
Os portes 0 e 2 das figuras 1 e 3 não podem ser usados como entrada e
saída de propósito geral quando estão sendo usados como barramento de
endereço de dados.

Exemplos de programação dos portes para operarem como entrada


Veremos alguns exemplos de programação dos portes para trabalharem
como entrada de informação externa, que é definida por interfaces externas ao
sistema microcontrolado, sendo representadas a seguir.

Exemplo 1
Programação de todos os bits dos portes P0 para trabalharem como
entrada de informação que é definida externamente para o microcontrolador:
 MOV P0,#0FFh: Sua representação simbólica é (P0) ← #FFh,
significa que o conteúdo do porte P0 será inicializado com o valor
constante FFh. Essa instrução escreve 1 lógico nos oito latchs do
porte P0 e todos os bits do porte P0 serão programados para
operarem como bits de entrada de informação externa para o
sistema microcontrolado.
Exemplo 2
Para ilustrar algumas operações de leitura nos portes da família de
microcontroladores com núcleo 8051, precisamos fazer sua programação, para
que operem como bits de entrada de informação externa para o sistema
microcontrolado.
Depois disso podemos fazer as operações de leitura das informações
através deles. Lembrando que após um sinal de reset todas as saídas dos
latches dos portes são definidas por hardware com nível lógico alto e todos os
portes ficam programados como entradas. As instruções MOV A, PX(X=0-7),
MOV Rn,PX(X=0-7), MOV @Ri,PX(X=0-7) são exemplos de instruções que lêem os
conteúdos dos portes.
Considere as instruções:

Mnemônico Argumento Representação simbólica Comentários


; Inicializa o acumulador com o valor e
MOV A,#0FFh (A) ←#0FFh
programação da porta PO.
; Programa todos os bits da porta como
MOV P0,A (P0) ←(A)
entrada.
; lê o conteúdo da porta P0 com a
informação definida externamente. Essa
MOV A,P0 (A) ←(P0) informação pode ter sido definida por
uma interface formada com sipswitch
que foi ligado a porta P0, por exemplo.

Você também pode gostar