Ir ao conteúdo
  • Cadastre-se

PIC - problema com o MCLR


andreashubbe

Posts recomendados

Olá! Estou emulando um projeto no proteus e os botões só ficam com a tensão correta quando o MCLR esta em 0. Quando o MCLR vai pra 1 as tensoes no pinos é alterada, pinos q devem ficar com 5v ficam com 0,8V e assim vai...

Ja troquei duas vezes de pic, achando q era problema no pic e continuo com o mesmo problema. A portc ja ta configurada como entrada

A screen no proteus quando MCLR = 0:

http://img208.imageshack.us/my.php?image=mclr0.jpg

e quando MCLR = 1

http://img208.imageshack.us/my.php?image=mclr1.jpg

Se alguem ja teve esse problema e puder dizer como resolveu, ou me ajudar a resolver, seria muito bom, pois não sei onde posso encontra a solução.

Link para o comentário
Compartilhar em outros sites

Andre, o MCLR DEVE SER conectado aos 5V.

O Resistor R10 está com 1 terminal conectado ao pino MCLR e a chave. E o outro terminal!?

Nesse outro terminal, deveria estar conectado 5V.

Pelo que vi no seu esquemático, ele está indo para algum lugar, mas não identifiquei onde.

T+

Desculpe, nao saiu no screen shot, mas ele esta conectado ao +5V, no mesmo terminal em que os botões e o lcd sao alimentados

Estava acreditando na hipotese de bug no proteus (7.4 sp3), ja baixei outra versao (7.2 sp6) pra ver e o erro continua, então nao é bug ¬¬

Tentei colocar programa de outra pic totalmente nada a ver com o projeto e as tensoes nos botões ficaram corretas, então acho q é algum erro no programa, q pelo q vi nao tem nada de errado! pode ser algum configuration bits q esta errado??

AAEE até que enfim descobri!!

Caso alguem tenha um problema parecido comigo, eis a solução:

Para descobrir em que trecho da programaçao estava o erro q ferrava com a tensão nos botões, fui colocando o comando

while(1)

{

}

em lugares diferentes e testando, ate achar onde estava o erro...

o q descobri foi o seguinte: eu estava usando trisc = 1 para deixar todas as portas c como input, como em muitos e muitos exemplos porai. e quando colocava em certa parte do programa:

while(1)

{

}

trisc = 1;

nao dava erro na tensão dos botões, mas quando coloquei

trisc = 1;

while(1)

{

}

dava erro. O jeito de contornar esse erro foi substituir o trisc = 1 por

trisc.rc0 = 1;

trisc.rc1 = 1;

trisc.rc2 = 1;

trisc.rc3 = 1;

trisc.rc4 = 1;

trisc.rc5 = 1;

trisc.rc6 = 1;

trisc.rc7 = 1;

isso resolveu o problema!!

Espero ajudar alguem que tenha o mesmo problema

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...