×
Ir ao conteúdo
  • Cadastre-se

Caracter no LCD


meca.07

Posts recomendados

meca.07

tem de ver o modelo desse modulo lcd e qual o controlador

depois baixar o datasheet do controlador

neste vai ver os caracteres predefinidos e ver se o "♥" esta incluido

caso nao esteja o controlador deve permitir definir novos caracteres

veja no datasheet deve aparecer algo como

Character Generator RAM (CGRAM): 64¥8 bits (8 characters¥5¥8 dots)

estude esta parte e vera como pode definir esse caractere

Link para o comentário
Compartilhar em outros sites

Isso não depende do compilador, e sim, da tabela de fontes do controlador do próprio LCD.

Dos que eu tenho aqui, nenhum deles tem esse símbolo do coração, logo, a solução vai ser desenhar o símbolo e depois de desenhado, usá-lo como um caractere comum.

Veja esse documento se te ajuda:

http://www.reniemarquet.cjb.net/arquivos/lcd_car20050119.pdf

[]´s

Link para o comentário
Compartilhar em outros sites

Isso não depende do compilador, e sim, da tabela de fontes do controlador do próprio LCD.

Dos que eu tenho aqui, nenhum deles tem esse símbolo do coração, logo, a solução vai ser desenhar o símbolo e depois de desenhado, usá-lo como um caractere comum.

Veja esse documento se te ajuda:

http://www.reniemarquet.cjb.net/arqu...ar20050119.pdf

[]´s

Fala Mauricio, então sei disso, porém no caso dela, se estiver usando o MikroC, existe um applet dentro dele que permite criar o codigo para desenho de caracteres personalizados, por isso perguntei o compilador.

abs.

Link para o comentário
Compartilhar em outros sites

void cria_caractere_cedilha()

{

lcd_16x2_send(INST,0b01000000); //Seta o endereco 0 da CGRAM (Character Generator RAM)

lcd_16x2_send(DATA,0b00001110); //| *** |

lcd_16x2_send(DATA,0b00010001); //| * * |

lcd_16x2_send(DATA,0b00010000); //| * |

lcd_16x2_send(DATA,0b00010000); //| * |

lcd_16x2_send(DATA,0b00010101); //| * * *|

lcd_16x2_send(DATA,0b00001110); //| *** |

lcd_16x2_send(DATA,0b00010000); //| * |

lcd_16x2_send(DATA,0b00000000); // Linha destinada ao cursor. Deve ser sempre 0

}

Envia um byte de instrucao pro LCD:

0b010XXXXX

sendo XXXXX o endereco da CGRAM que voce deseja armazenar o caractere.

Se nao me engano sao 8 enderecos disponiveis (0 a 7) e depois envia 8 bytes de dados, cada byte signicando uma linha do caractere a ser criado

Ex: 0b000XXXXXX, sao utilizados somente os 5 ultimos bits, pois há 5 colunas por caractere no LCD, e os 3 bits mais significativos devem ser 0.

------------------------------

Exemplo para gravar o caractere cedilha no endereco 0 da CGRAM:

instrucao: pino RS = 0

dado: pino RS = 1

enviar instrucao 0b01000000 (seleciona endereco 0 da CGRAM)

enviar dado 0b00001110

enviar dado 0b00010001

enviar dado 0b00010000

enviar dado 0b00010000

enviar dado 0b00010101

enviar dado 0b00001110

enviar dado 0b00010000

enviar dado 0b00000000

Pronto, até aqui foi gerado o caractere no endereco 0 da CGRAM.

Agora para fazer o display mostrar o cedilha basta enviar um byte de dados com o valor 0. EX: Se você tivesse gravado o cedilha no endereco 3 da CGRAM, você deveria enviar um byte de dados (RS=1) com o valor 3 (decimal) para o LCD mostrar o caractere.

01110

10001

10000

10000

10101

01110

10000

00000

Tirei os 3 bits mais significativos, tenta encontrar o cedilha aí, que está formado pelos bits 1.

Use o mesmo procedimento para criar os caracteres que desejar.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

Curso de Hacker Ético

LANÇAMENTO!

CLIQUE AQUI E CONFIRA!

* Este curso não é ministrado pela equipe do Clube do Hardware.