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