Capítulo 6
As portas (portes) de entrada e
saída da família de
microcontroladores MCS-51 da
Intel e suas aplicações no
controle digital de máquina e de
processo
Prentice Hall
Microcontroladores 8051
1
Capítulo 6
 A estrutura e a operação dos portes: 4 portes de oito bits
programáveis como entrada e saída;
Pinos dos Portes
P1.0 *
P1.1 *
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
Prentice Hall
Funções Alternativas
T2 (entrada externa do timer/contador 2)
Captura/trigger de recarregamento do timer/contador 2
RXD (porte de entrada serial)
TXD (porte de saída serial)
INT0/ (interrupção externa 0)
INT1/ (interrupção externa 1)
T0 (entrada externa do timer/contador 0)
T1 (entrada externa do timer/contador 1)
WR/ (sinal de escrita de memória de dados externa)
RD/ (sinal de leitura de memória de dados externa)
* P1.0 e P1.1 somente no 8052/32.
Microcontroladores 8051
2
Capítulo 6
Prentice Hall
Microcontroladores 8051
3
Capítulo 6
Prentice Hall
Microcontroladores 8051
4
Capítulo 6
Prentice Hall
Microcontroladores 8051
5
Capítulo 6
Prentice Hall
Microcontroladores 8051
6
Capítulo 6
 Característica de ler-modificar-escrever:

ANL
(Ex: ANL P1,A);

ORL
(Ex: ORL P2,A);

XRL
(Ex: XRL P3,A);

JBC
(Ex: JBC P1.1, LABEL);

CPL
(Ex: CPL P3.0);

INC
(Ex: INC P2);

DEC
(Ex: DEC P2);

DJNZ
(Ex: DJNZ P3, LABEL);

MOV PX.Y, C
(Ex: MOV P0.1,C);

CLR PX.Y
(Ex: CLR P1.2);

SETB PX.Y (Ex: SETB P2.0).
Prentice Hall
Microcontroladores 8051
7
Capítulo 6
 Programação dos conteúdos dos portes dos microcontroladores
MCS-51 da Intel:
 Operações de leitura dos portes da família de microcontroladores
MCS-51 da Intel:
 Operação de escrita nos portes na família de microcontroladores
MCS-51 da Intel:
 Monitorando acionamentos através dos portes, gerados por
interfaces de entrada, implementadas por chaves e sensores:
 Exemplos de monitoração de acionamentos de interfaces de
entrada utilizando os portes:
 Monitoração de acionamento de apenas um específico bit de um
porte:
Prentice Hall
Microcontroladores 8051
8
Capítulo 6
 Monitoração de vários acionamentos de interfaces de entrada
utilizando os portes:
 Monitoração do acionamento de um bit qualquer:
 Como gerar rotinas de tempo utilizando software:
Prentice Hall
Microcontroladores 8051
9
Capítulo 6
Tempo
(R0)  #constante
S
(R0)(R0) -1
(R0)  0 ?
MOV R0, #constante
DJNZ R0,$
N
Figura 5: Fluxograma e programa
fonte de uma rotina que gera tempo
por software.
FIM
Instrução
Número de vezes que a instrução é executada
MOV R0,#constante
1
DJNZ R0,$
constante
Qte de ciclos de máquina por instrução
2
3
Tempo da rotina = 12*(2 +3*constante)/fcristal (s)
Prentice Hall
Microcontroladores 8051
10
Capítulo 6
 Eliminando o ruído (bounce) gerado por chaves mecânicas:
Aberta (1 lógico)
Saída
Fechada (0 lógico)
T > Tbounce
Figura 7: Hardware de uma interface de entrada utilizando uma chave mecânica e
seu sinal elétrico de saída, enfatizando o ruído gerado pelo chaveamento.
Prentice Hall
Microcontroladores 8051
11
Capítulo 6
Detecção de Acionamento de uma chave
mecânica com eliminação de bounce
MOV
CLR
SUBB
A, #0FFh
C
A,P1
JZ
addr1
Chama a sub-rotina de tempo
ACALL
tempo
(A) #0FFh
(C) #0b
(A)  (A) – (C) – (P1)
MOV
CLR
SUBB
A, #0FFh
C
A,P1
(A) #0FFh
(C) #0b
(A)  (A) – (C) – (P1)
addr1:
S
(A) = 0 
(Chaves abertas )
S
(A) = 0 
(Chaves abertas )
FIM
Prentice Hall
JZ
addr1
Figura 8: Fluxograma e programa fonte em
assembly do 8051 de uma rotina que monitora
o acionamento de uma chave mecânica
qualquer com eliminação de ruído (bounce).
Microcontroladores 8051
12
Capítulo 6
WAIT:
ATRAS:
MOV
CLR
SUBB
JZ
MOV
MOV
DJNZ
DJNZ
MOV
CLR
SUBB
JZ
END
Prentice Hall
A,#0FFh
C
A,P1
WAIT
R0,#constante1
R1,#constante2
R1,$
R0, ATRAS
A,#0FFh
C
A,P1
WAIT
; Aguarda o acionamento de um porte
; Rotina de atraso de tempo
; Confirma o fechamento
; Foi algum ruído do acionamento, reinicia o processo de
;detecção de acionamento
; Confirmado o acionamento
Microcontroladores 8051
13
Capítulo 6
Número de acionamentos e
desacionamentos de uma chave mecânica
qualquer com eliminação de bounce
(R2) #00h
addr1:
Chama sub-rotina ACIONA
Chama sub-rotina DESACIONA
MOV
R2, #00h
ACALL
ACALL
ACIONA
DESACIONA
INC
SJMP
R2
addr1
(R2) (R2) + 1
Figura 10: Fluxograma e programa fonte em
assembly do 8051 que conta o número de
acionamentos e desacionamentos de uma chave
mecânica qualquer com eliminação de ruído
(bounce).
Prentice Hall
Microcontroladores 8051
14
Download

Microcontroladores 8051