No livro PROGRAMANDO em C do FÁBIO PEREIRA, tem uma biblioteca escrita por ele, para manipular módulos LCD, tenho feito algumas
simulações no proteus com LCDs de 1 e 2 linhas por 16 carateres,
agora gostaria de simular os modulos de 4 linhas por 20 carateres, como
ainda não sou conhecedor o bastante da linguagem C e pouca experiencia
de como lidar com estes modulos, abaixo estou postando algumas linhas
do biblioteca do livro do fábio, para os colegas que já leram o fez uso
desta rotina, e se poder me auxiliar (orientar) se são estas as linhas que
devo modificar para funcionar com os modulos de 4x20:
No inicio temos estas 3 linhas:
Pergunto: São nestas linhas que devo fazer as alterações ?
Caso positivo: O que devo alterar ?
#define lcd_type 2 // 0=5x7, 1=5x10, 2=2 linhas
#define lcd_seg_lin 0x40 // Endereço da segunda linha na RAM do LCD
// a constante abaixo define a seqüência de inicialização do módulo LCD
byte CONST INI_LCD[4] = {0x20 | (lcd_type << 2), 0xf, 1, 6};
Outra pergunta:
de acordo com rotina abaixo:
esta linha limpa o display, e permite que eu escreva na linha 1 do lcd.
case '\f' : lcd_envia_byte(0,1);
Já esta outra permite escrevar na segunda linha.
case '\r' : lcd_pos_xy(1,2);
Já esta indefinida, eu não sei.
case '\n' :
Tambem gostaria de saber, e no LCD de 4x20, como escrever nas
linhas 3 e 4 do mesmo, se os colegas poder me ajudar ficarei muito
garto! Obrigado...
void lcd_escreve( char c)
// envia caractere para o display
{
switch (c)
{
case '\f' : lcd_envia_byte(0,1);
delay_ms(2);
break;
case '\n' :
case '\r' : lcd_pos_xy(1,2);
break;
case '\b' : lcd_envia_byte(0,0x10);
break;
default : lcd_envia_byte(1,c);
break;
}
}
Att.
Anselmo