Ir ao conteúdo
  • Cadastre-se

Display LCD 1602 - Problemas


Projetos_afg

Posts recomendados

Eu estou com problemas com esse display LCD. É um display alfanumérico 16x2. Eu ja consegui fazer a interface, porém ele só funciona quando quer. Re-soldei os terminais, testei vários programas, mas depois de algum tempo o display fica maluco, as vezes nem inicia, só fica a primeira linha acesa. Já verifiquei se a fonte está bem regulada, e ela está. Alguém ja teve esse problema? Será que o display está quebrado?

Link para o comentário
Compartilhar em outros sites

Eu estou com problemas com esse display LCD. É um display alfanumérico 16x2. Eu ja consegui fazer a interface, porém ele só funciona quando quer. Re-soldei os terminais, testei vários programas, mas depois de algum tempo o display fica maluco, as vezes nem inicia, só fica a primeira linha acesa. Já verifiquei se a fonte está bem regulada, e ela está. Alguém ja teve esse problema? Será que o display está quebrado?

Ja fiz deversos displays funcionarem, e tive problemas tb e um display 16x2 vou postar um esquema de ligação com PIC 16f877a.

Com relação ao seu codigo poste um deles ai para ficar melhor a ajuda, e o circuito que você esta usado caso possa ou fale como ele é.

Ha no circuito eu usei os 8 bits do pic para fazer o display isso e so para mostrar sempre uso 4 bits nestes caso de 16x2.

post-440115-1388495493398_thumb.jpg

Link para o comentário
Compartilhar em outros sites

Eu uso essa rotina:


///////////////////////////////////
// Controle de LCD 1602a //
// Modo 4 bits //
// //
// //
// Pinos: //
// //
// //
// B0 21 06 Enable //
// B1 22 04 RW //
// B2 23 05 RS //
// B3 24 Não conectado //
// B4 25 11 DB4 //
// B5 26 12 DB5 //
// B6 27 13 DB6 //
// B7 28 14 DB7 //
// //
// A pinagem pode ser alterada //
///////////////////////////////////



#ifndef enable
#define enable PIN_B0
#endif
#ifndef RS
#define RS PIN_B1
#endif
#ifndef RW
#define RW PIN_B2
#endif

#ifndef D4
#define D4 PIN_B4
#endif
#ifndef D5
#define D5 PIN_B5
#endif
#ifndef D6
#define D6 PIN_B6
#endif
#ifndef D7
#define D7 PIN_B7
#endif

void escrever_nibble (int8 nibble){
delay_us(10);
output_high(enable);
output_bit(d4,bit_test(nibble,0));
output_bit(d5,bit_test(nibble,1));
output_bit(d6,bit_test(nibble,2));
output_bit(d7,bit_test(nibble,3));
output_low(enable);
delay_us(10);
output_high(enable);
}

void escrever_byte(int8 dado){
escrever_nibble(dado >> 4);
escrever_nibble(dado);
}

void inicializar_lcd (){

output_low(RS);
output_low(RW);


escrever_byte(0x22);
escrever_nibble(0x08);
delay_us(40);
escrever_byte(0x0C);
delay_us(40);
escrever_byte(0x01);


}

void apagar_lcd(void){
escrever_byte(0x01);
delay_ms(2);
}


void posicao (int8 posicao){

escrever_byte(0x80 | posicao);

}

void escrever_lcd (char letra){

output_high(RS);
escrever_byte(letra);
output_low(RS);
delay_us(40);


}

void escrever_numero (int8 numero){

output_high(RS);
escrever_byte(0x30 | numero);
output_low(RS);
delay_us(40);

}

Eu uso o display no modo 4 bits. No simulador o display lcd funciona normalmente.

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois...

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!