Olá pessoal. Tenho um PIC18F2520 e estou aprendendo a usá-lo, mas tenho um problema.

Inicialmente fiz um codigo simples para piscar um LED, usando a porta RA6, porém quando adiciono um botão para acionar o led o uC não reconhece a mudança de estado da entrada. Já tentei com outras portas, tanto RB quanto RA e estou colocando pull-down no botão. O código que escrevi está abaixo

Estou programando na MPLAB X com o compilador XC8

Exibições: 46

Anexos

Responder esta

Respostas a este tópico

Boa noite WCB, (se não gosta que te chame pelas iniciais, avise),

1. Remova seu sketch da área de texto do seu tópico;
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada
        linha e facilita a ajuda.
4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.

Obrigado.

RV mineirin

PS:  Anexe também um esquema do seu projeto. Pode ser feito a mão livre mesmo.

Feito. Desculpe pelos erros, qualquer coisa é só avisar

Boa noite WCB, (se não gosta que te chame pelas iniciais, avise),

Obrigado por atender as recomendações.

Ligue um resistor de 10K entre o pino 4 (RA2) e o +5V.

Depois conta o resultado.

RV mineirin

O estado inicial da porta ficou Alto, porém ainda sim o estado da porta RA6 continua baixo

Boa noite, 

Você definiu corretamente as portas como entradas e saídas? 

Usei o registrador TRISx com 1 para entrada e 0 para saida. A saida funciona quando quando aciono direto pelo codigo, como um pisca-pisca, porém a entrada não é lida pelo uC

Qual PORT está usando? A,B,C,D ou E?

Veja se existe alguma restrição para os bits das portas que estão sendo usadas por você. 

Datasheet do PIC 18F2520:

https://www.microchip.com/en-us/product/PIC18F2520#document-table

Boa noite, o RA2 provavelmente está configurado como entrada digital por padrão de inicialização.

procure no datasheet pelo registrador ADCON1 pra ver como se configura...

se for usar só portas digitais ADCON1 = 0x0F num tem erro.

Espero que dê certo.

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço