Sistemas Microcontrolados Período 2009.2 Aula 6 1 Saulo O. D. Luiz Roteiro Entrada e saída Portas 2 Saulo O. D. Luiz Porta Porta um registrador conectado aos pinos do microcontrolador 3 Saulo O. D. Luiz Porta A Associada a 6 pinos Registrador de direção de dados TRISA 1: entrada 0: saída 4 Saulo O. D. Luiz Porta A O quinto pino do porto A também pode ser usado como entrada externa do temporizador TMR0 Seleção no bit TOCS de OPTION 5 Saulo O. D. Luiz Porta A Demais pinos do porto A entradas analógicas e entradas VREF Seleção em ADCON1 (A/D Control Register1) Estando os pinos como I/O analógicas, os respectivos bits TRISA devem ser setados 6 Saulo O. D. Luiz Porta A Registradores associados à porta A 7 Saulo O. D. Luiz Porta A 8 Saulo O. D. Luiz Porta A Ex.: definir os pinos 0 a 4 como entradas BCF STATUS, RP0; BCF STATUS, RP1; Seleciona banco 0 CLRF PORTA ; Inicializar a PORTA limpando os latches de dados BSF STATUS, RP0; BCF STATUS, RP1; Seleciona banco 1 MOVLW 0X1f ; MOVWF TRISA ; definir os pinos 0 a 4 como entradas 9 Saulo O. D. Luiz Porta B Associada a 8 pinos Registrador de direção de dados TRISB 1: entrada 0: saída Para cada pino Resistência de pullup Define a linha como ‘1’ lógico Ativação: resetar o bit RBPU do registrador OPTION Desativada se os pinos são saídas 10 Saulo O. D. Luiz Porta B Três pinos da porta B são também usados com a função de Programação em Baixa Tensão (RB3/PGM, RB6/PGC e RB7/PGD). Os pinos de RB7 a RB4 podem gerar a interrupção de variação na porta B Situação em que houve mudança nos níveis lógicos nos pinos 4, 5, 6 ou 7 da porta B. Interrupção externa no pino RB0/INT Transição positiva Se o bit INTEDG = 1 no registrador OPTION<6> Transição negativa Se o bit INTEDG = 0 no registrador OPTION<6> 11 Saulo O. D. Luiz Porta B Ex.: definir os pinos 0 a 3 como entradas, e 4 a 7 como saídas BCF STATUS, RP0; BCF STATUS, RP1; Seleciona banco 0 CLRF PORTB ;limpa porta B BSF STATUS, RP0; BCF STATUS, RP1; Seleciona banco 1 MOVLW 0X0F ; MOVWF TRISB ; definir os pinos 0 a 3 como entradas, e 4 a 7 como saídas 12 Saulo O. D. Luiz Porta B Registradores associados à porta B 13 Saulo O. D. Luiz Porta C Associada a 8 pinos Registrador de direção de dados TRISC 1: entrada 0: saída Compartilhada por vários periféricos SPI, USART, I2C 14 Saulo O. D. Luiz Porta C Registradores associados à porta C 15 Saulo O. D. Luiz Porta D Associada a 8 pinos Buffer de entrada com Schmitt Trigger Registrador de direção de dados TRISD 1: entrada 0: saída Pode ser usada como porta paralela escrava Habilitar setando o bit de controle PSPMODE (bit 4 do registrador TRISE) Os buffers de entrada serão TTL 16 Saulo O. D. Luiz Porta D Porta D como porta paralela escrava RE0/RD (habilita leitura) RE1/WR(habilita escrita) RE2/CS(habilita porta paralela) 17 Saulo O. D. Luiz Porta D Registradores associados à porta D 18 Saulo O. D. Luiz Porta E Associada a 3 pinos Buffer de entrada com Schmitt Trigger Registrador de direção de dados TRISE 1: entrada 0: saída Pode ser usada como entrada de controle para a porta paralela (porta D) quando o bit PSPMODE (bit 4 de TRISE) é setado os bits de 2 a 0 de TRISE estão setados os bits PCFG3:PCFG0 do registrador ADCON1 ajustados para configurar RE2:RE0 como E/S digital 19 Saulo O. D. Luiz Porta E Os pinos da porta E são multiplexados com entradas analógicas TRISE e ADCON1 devem configurar os pinos da porta E como entradas analógicas 20 Saulo O. D. Luiz Porta E Registradores associados à porta E 21 Saulo O. D. Luiz Exemplo RA<3:0> entradas; RA<5:4> saídas BCF STATUS, RP0 ; BCF STATUS, RP1 ; Selecionar banco 0 CLRF PORTA ; Inicializar a PORTA limpando os latches de dados BSF STATUS, RP0 ; Selecionar o banco 1 MOVLW 0x06 ; Configurar todos os pinos MOVWF ADCON1 ; como entradas digitais MOVLW 0x0F ; Direção de dados MOVWF TRISA ; RA<3:0> entradas; RA<5:4> saídas; TRISA<7:6> são lidos como ’0’. 22 Saulo O. D. Luiz Exercícios • Construir uma porta AND com – – • Construir uma porta OR de três entradas com – – 23 Entradas em RB0 e RB1 Saída em RD0 Entradas em RB0, RB1 e RB2 Saída em RD0 Saulo O. D. Luiz