LCD Deslocar só a 2ª linha

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

LCD Deslocar só a 2ª linha

Mensagempor ÁgioFelipe » 14 Dez 2010 10:47

Alguém sabe se tem como fazer somente a frase da 2ª linha ficar se deslocando nesses módulos comuns de LCD 16x2?
Uso como base esse documento e não encontrei nenhum comando para isso: http://www.wizard.org/auction_support/lcd1.pdf
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor ze » 14 Dez 2010 15:31

tente:
endereçar a 2ª linha: comando 0xc0
enviar comando de deslocar 0x18
como deve saber 'comando' significa manter linha rs em 0 colocar o byte na saída e pulsar o sinal E e dar um tempinho. pode ler o busy flag mas não vem ao caso agora

por gentileza, leia a seção "shifting the display" do seu próprio documento. desta vez não tive preguiça de ler. rs. e rs=0. rs
no entanto, como sugestão não solicitada, recomendo que faça estes deslocamentos na memória do pic pois tens maior flexibildade (desde que tenha recurso e paciência para isso) pra depois enviar pro lcd
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor ÁgioFelipe » 15 Dez 2010 16:26

Não deu certo, com esses comandos ele desloca tudo, tanto a linha de cima como a de baixo.
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor Red Neck Guy » 15 Dez 2010 16:38

Eu faria assim:
Código: Selecionar todos
const minha_msg[4][33]={
     "Eu quero rotacionar               ",
     "Os dados no LCD                   ",
     "Porem nao funca                   ",
     "Entao vai na fora                   "
}

//Chame essa mensagem com o intervalo de tempo
// que tu queira que fique rotacionando.
void lcd_shift_tick(void){
  static unsigned char message=0,offSet=0;
  char lcdBuffer[17];
 
  memcpy(lcdBuffer,(char*)&minha_msg[offSet],16);
  lcdBuffer[16]=0;
  MACRO_PARA_POSICIONAR_NA_SEGUNDA_LINHA();
  MACRO_PARA_ESCREVER_STRING(lcdBuffer);
  offSet++;
  if(offSet>32){
    offSet=0;
    message++;
    if(message>3)
       message=0;
  }
}
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Mensagempor andre_luis » 15 Dez 2010 17:28

Felipe,


Dá uma olhada aqui, que os caras trataram do mesmo problema :
http://www.arduino.cc/cgi-bin/yabb2/YaB ... 81666158/9

Curioso que não é só aqui que tem uns malcriado....rsrsrs

Aqui tem um simulador :
http://www.dinceraydin.com/djlcdsim/djlcdsim.html

Esse cara conseguiu o que voce queria e também na segunda linha, e disponibiliza o programa em C, mas não diz claramente se é com o HD44780, mas olhando os comandos do código-fonte, aparentemente parece ser :
http://www.youtube.com/watch?v=HY-zX2xXzCA

Há de convir que o camarada teve bom gosto na escolha do fundo musical.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 1 visitante

x