Ir ao conteúdo

Problemas ao ligar display LCD no PIC


Denis Bopp

Posts recomendados

Postado

Bom dia pessoal, estou tendo problemas para fazer o meu circuito funcionar, que por sinal é muito simples, consiste num PIC 16F84A e um display LCD 2x16 trabalhando em 4 bits, estou usando o MPLAB para escrever o código, bom, na teoria ele funciona, mas quando gravo no PIC nada acontece, o display não dá sinal de vida, já troquei o display e o problema continua, o PIC está legal, pois já gravei outras rotinas e ele roda sem problema.

1 - Resolvido pessoal, a minha ligação do pino VEE estava errada! : (

2 - Melhorei a rotina de inicialização com tempos maiores!!

Postado

É vdd mostre o circuito fica melhor de ajudar.

1- o LCD ligado sem nada ligado só a alimentação deverá ficar com a linha 1 (a primeira de cima) com todos os quadradinhos ligados. Se assim estiver esta OK, se não, troque.

2- tem que ver a ligação dos pinos deles, por exemplo o 5 deve ser aterrado também, não pode esquecer de ajustar o contraste ou de ligar o pot de contraste.

3- outros...etc's

Abraço

Postado

Não tenho como enviar imagens, pois o nosso servidor bloqueia alguns sites, mas vou descrever o circuito:

PIC LCD

RBO D4

RB1 D5

RB2 D6

RB3 D7

RB4 E

RB5 RS

O pino RW está em GND, VDD e VEE em +5 e VSS em GND, como disse a comunicação é em 4 bits, e está rodando no MPLAB.

Postado

Amigo Denis,

Já tentou colocar um capacitor cerâmico de 10 a 100pF entre os pinos VDD e GND do PIC?

P.S.: O mais próximo possível do PIC.

Grande Abraço,

R.Costa.

Postado
Amigo Denis,

Já tentou colocar um capacitor cerâmico de 10 a 100pF entre os pinos VDD e GND do PIC?

P.S.: O mais próximo possível do PIC.

Grande Abraço,

R.Costa.

Na verdade não, vou tentar isso também.

Postado
Denis, você conseguiria alterar o esquema para conectar o pino VEE ao terra (0V) e não ao +5V?

Oi Fernando, fiz melhor coloquei um trimpot para regular o contraste e resolveu o meu problema, esta ligação que você citou realmente era a causa do problema!

Obrigado pela atenção pessoal!!!!

Postado

Olá amigos, um outro probleminha surgiu agora, quando pressiono o reset nem sempre o lcd é limpo, as vezes ficam caracteres, ou a mensagem pela metade e assim por diante, o código segue abaixo:

void main(void){

i = 0;

x = 0;

y = 0;

strcpy(a, "");//Limpa a cadeia principal

strcpy(buf, "");//Limpa a cadeia auxiliar

configura_pic();//Configuração do microcontrolador

configura_lcd();//Configuração do lcd

envia_comando(_LCD_CLEAR);//Limpar o lcd

__delay_ms(40);//Aguardar 40ms

strcpy(a, "Testando...");

envia_cadeia(a);//Imprime a primeira mensagem

ei();//habilita as interrupções

... continua

Postado
Olá amigos, um outro probleminha surgiu agora, quando pressiono o reset nem sempre o lcd é limpo...

Normal. O LCD é uma memória RAM externa visual. Enquanto nenhum novo comando de escrita for enviado, ele vai manter os últimos dados que foram enviados para ele.

Depois da inicialização do display, envie CLRSCR, e o LCD será limpo. Não tem outra solução, a não ser retirar a alimentação do display.

LCD não tem RESET.

[]'s

Postado
Normal. O LCD é uma memória RAM externa visual. Enquanto nenhum novo comando de escrita for enviado, ele vai manter os últimos dados que foram enviados para ele.

Depois da inicialização do display, envie CLRSCR, e o LCD será limpo. Não tem outra solução, a não ser retirar a alimentação do display.

LCD não tem RESET.

[]'s

Oi Maurício, se você notar o comando já está sendo enviado na rotina.

Postado

ah, tá! Nesse caso foi você quem escreveu as rotinas do LCD? Ou você está usando rotinas já prontas do compilador? Qual a velocidade que seu MCU tá processando? LCDs respondem bem à até uns 2MHz.

Quando você aterra R/W, não pode mais checar o flag BF. Nesse caso, entre uma instrução e outra pro LCD, é bom dar um delay de uns 2ms. Não precisa ser um tempo maior, porque a instrução que mais consome tempo é justamente a CLEAR SCREEN, que come 1,5ms na grande maioria. Isso, depois que o LCD já foi inicializado! Na inicialização, você precisa seguir os tempos entre instruções que o manual recomenda, e são bem maiores do que esses 2ms.

[]'s

  • Coordenador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!