Ir ao conteúdo
  • Cadastre-se
jacktaylor

lcd ligado pinos port_a e port_e pic16f877a

Recommended Posts

Olá pessoal. Estou precisando de ajuda para inicializar um LCD pelos PORTs A e E do PIC16F877A.

Tenho uma placa de desenvolvimento que veio com um programinha lê entrada analógica gravado. Este programa permite a visualizacao 

no LCD dos valores lidos no potenciômetro e convertido para tensão.

Acontece que quando faço um programa e gravo no PIC, a LCD nao inicializa e consequentemente nada aparece na tela. Estoou utilizando o MikroC para programar 

e o Proteu para simular. A simulação também não inicializa o LCD. Quando coloco o programa que veio gravado no simulador Proteus o LCD inicializa normalmente. O programinha que criei é simples: Seguem em anexo o Proteus e o Mikroc. Me ajudem por favor..

sbit LCD_RS at RA1_bit;
sbit LCD_EN at RA2_bit;
sbit LCD_D4 at RA3_bit;
sbit LCD_D5 at RA4_bit;
sbit LCD_D6 at RA5_bit;
sbit LCD_D7 at RE0_bit;

sbit LCD_RS_Direction at TRISA1_bit;
sbit LCD_EN_Direction at TRISA2_bit;
sbit LCD_D4_Direction at TRISA3_bit;
sbit LCD_D5_Direction at TRISA4_bit;
sbit LCD_D6_Direction at TRISA5_bit;
sbit LCD_D7_Direction at TRISE0_bit;


void main()
{


lcd_Init (); // Inicializa display
Lcd_Chr_CP ('O');
  Lcd_Chr_CP (' ');
  Lcd_Chr_CP ('H'); // comando escreve um caracter
  Lcd_Chr_CP ('O');
  Lcd_Chr_CP ('j');
  Lcd_Chr_CP ('E');
  Lcd_Out_CP ("VENCE");  // Comando escreve um texto
  Lcd_Out (2,1, "voce Pode Amigo"); // Comando determina linha e coluna para ser escrito texto
  delay_ms (300);
  Lcd_Cmd (_LCD_CLEAR);// lcd_cmd envia comandos ao lcd.
  Lcd_Cmd (_LCD_CURSOR_OFF);
  delay_ms (300);
  Lcd_Cmd (_LCD_BLINK_CURSOR_ON);
  Lcd_Out_CP ("Estudante");
  delay_ms(200);
  Lcd_Cmd (_LCD_CLEAR);

}

LCD_PortsA-E.JPG

Mikoc.JPG

 

LCDnaoInicializado.JPG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que você está "trocando as pernas" ou melhor, especificando pinos de maneira errada e confusa. Como sempre, sugiro que dê uma olhada nos exemplos que vêm com o compilador.

 

E lembre-se que alguns pinos são dreno aberto: precisa de pullup. Outros "nascem" analógicos: você deve programá-lo digital antes. Datasheet ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. Não analisei profundamente, até poruqe o jeito que foi feita a postagem ficou meio confuso.

Mas n pino RA4 é coletor aberto (tens que colocar um resistor de puul-up nele)

 

Boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×