Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
meca.07

Caracter no LCD

Recommended Posts

meca.07    0

ola... estou tendo difilculdades :( para escrever um caracter: "♥" em C num display LCD 16x2, para meu projeto onde representa batimentos cardiacos.

alguem teria alguma função ou codigo que escreva este caracter?? O.õ?

desde já obrigada!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
oceano    52

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
maskador    0

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×