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);
}