LCD 4x20

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

LCD 4x20

Mensagempor welltom » 18 Mai 2008 07:51

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
welltom
Bit
 
Mensagens: 44
Registrado em: 30 Ago 2007 05:24

Mensagempor ze » 19 Mai 2008 09:46

display 16x2:
linha 1 = 0x80 - para escrever na posição n da linha 1: envie o COMANDO (RS=0) 0x80+n
linha 2= 0xc0 .....
display 20x4: veja no datashit o endereço inicial de cada linha. A partir disto, é só enviar ele + posição (lembre-se: RS=0). Pra escrever carater vote pra 1

veja info adicionais em:
http://asm51.eng.br/phpBB/viewtopic.php?t=5201
ainda tá morno.
It´s very easy!!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor welltom » 19 Mai 2008 13:12

Valeu Colega, Obrigado!!!
welltom
Bit
 
Mensagens: 44
Registrado em: 30 Ago 2007 05:24


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x