Capítulo 6
description
Transcript of Capítulo 6
Prentice Hall Microcontroladores 8051 1
Capítulo 6Capítulo 6
As portas (portes) de entrada e As portas (portes) de entrada e saída da família de saída da família de
microcontroladores MCS-51 da microcontroladores MCS-51 da Intel e suas aplicações no Intel e suas aplicações no
controle digital de máquina e de controle digital de máquina e de processoprocesso
Prentice Hall Microcontroladores 8051 2
Capítulo 6Capí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 Funções AlternativasP1.0 * T2 (entrada externa do timer/contador 2)P1.1 * Captura/trigger de recarregamento do timer/contador 2P3.0 RXD (porte de entrada serial)P3.1 TXD (porte de saída serial)P3.2 INT0/ (interrupção externa 0)P3.3 INT1/ (interrupção externa 1)P3.4 T0 (entrada externa do timer/contador 0)P3.5 T1 (entrada 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.
Prentice Hall Microcontroladores 8051 3
Capítulo 6 Capítulo 6
Prentice Hall Microcontroladores 8051 4
Capítulo 6Capítulo 6
Prentice Hall Microcontroladores 8051 5
Capítulo 6Capítulo 6
Prentice Hall Microcontroladores 8051 6
Capítulo 6Capítulo 6
Prentice Hall Microcontroladores 8051 7
Capítulo 6Capí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 8
Capítulo 6Capí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 9
Capítulo 6Capí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 10
Capítulo 6Capítulo 6
Instrução Número de vezes que a instrução é executada Qte de ciclos de máquina por instruçãoMOV R0,#constante 1 2
DJNZ R0,$ constante 3
Tempo da rotina = 12*(2 +3*constante)/fcristal (s)
Tempo
(R0) #constante
(R0)(R0) -1(R0) 0 ?
FIM
S
N
MOV R0, #constante
DJNZ R0,$
Figura 5: Fluxograma e programa fonte de uma rotina que gera tempo por software.
Prentice Hall Microcontroladores 8051 11
Capítulo 6Capítulo 6
Eliminando o ruído (bounce) gerado por chaves mecânicas:
Aberta (1 lógico)
Fechada (0 lógico)Saída
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 12
Capítulo 6Capítulo 6Detecção de Acionamento de uma chave
mecânica com eliminação de bounce
FIM
addr1: MOV A, #0FFhCLR CSUBB A,P1
JZ addr1
ACALL tempo
MOV A, #0FFh CLR C
SUBB A,P1
JZ addr1Figura 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).
(A) #0FFh(C) #0b
(A) (A) – (C) – (P1)
(A) = 0 (Chaves abertas )
S
Chama a sub-rotina de tempo
(A) #0FFh(C) #0b
(A) (A) – (C) – (P1)
(A) = 0 (Chaves abertas )
S
Prentice Hall Microcontroladores 8051 13
Capítulo 6Capítulo 6
WAIT: MOV A,#0FFh ; Aguarda o acionamento de um porteCLR C
SUBB A,P1 JZ WAIT MOV R0,#constante1 ; Rotina de atraso de tempo ATRAS: MOV R1,#constante2 DJNZ R1,$ DJNZ R0, ATRAS MOV A,#0FFh ; Confirma o fechamento
CLR C SUBB A,P1 JZ WAIT ; Foi algum ruído do acionamento, reinicia o processo de
;detecção de acionamento END ; Confirmado o acionamento
Prentice Hall Microcontroladores 8051 14
Capítulo 6Capítulo 6
Número de acionamentos e desacionamentos de uma chave mecânica qualquer com
eliminação de bounce
addr1: MOV R2, #00h
ACALL ACIONAACALL DESACIONA
INC R2 SJMP addr1
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).
(R2) #00h
Chama sub-rotina ACIONAChama sub-rotina DESACIONA
(R2) (R2) + 1