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.
Entre para seguir isso  
salat

LCD em PIC

Recommended Posts

Olá!

Estou utilizando o PIC18f4431 e não consigo fazer um lcd (JHD 162A) funcionar.

Já conferi minhas ligações varias vezes e acredito que não pode ser um problema de montagem. Aqui está meu código basico. Eu uso MIKROC.

sbit LCD_RS at Rd1_bit;

sbit LCD_EN at Rd0_bit;

sbit LCD_D4 at Rd4_bit;

sbit LCD_D5 at Rd5_bit;

sbit LCD_D6 at Rd6_bit;

sbit LCD_D7 at Rd7_bit;

sbit LCD_RS_Direction at TRISd1_bit;

sbit LCD_EN_Direction at TRISd0_bit;

sbit LCD_D4_Direction at TRISd4_bit;

sbit LCD_D5_Direction at TRISd5_bit;

sbit LCD_D6_Direction at TRISd6_bit;

sbit LCD_D7_Direction at TRISd7_bit;

char txt1[4] = "ABC";

void main ()

{

TRISD = 0;

Lcd_Init();

Lcd_Cmd(_LCD_CLEAR);

Lcd_Cmd(_LCD_CURSOR_OFF);

Lcd_Out(1,6,txt1);

while (1);

}

O programa não gera nenhum erro na compilaçao.

Se alguem poder me ajudar eu agradeço.

Editado por Bcpetronzio
Unir Post seguidos em menos de 24 horas, use a opção editar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente você pode verificar, com um osciloscópio, se nos pinos rd1, rd0, rd4, rd5, rd6 e rd7, aparece algum sinal quando ele escreve no LCD (no momento que o pic escreve no LCD aparecem uns pulsos..)

claro, para fazer esse teste seria melhor você o lcd_out dentro do while.

Ai você pode ver se o PIC pelo menos está enviando algo para o LCD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola eu não uso o mikro c ,utilizo o ccs compiler porém estive analizando o seu codigo e acho que esta faltando você incluir a biblioteca padrão do lcd.Outra coisa tenta fazer o seguinte joga a mensagem dentro laço while.

while (1);

{

char txt1[4] = "ABC";

}

Editado por diego.maga

Compartilhar este post


Link para o post
Compartilhar em outros sites

while (1);

{

char txt1[4] = "ABC";

}

Esse trecho está errado. O programa vai travar no while(1). E Mesmo que estivesse correto, ele iria criar essa váriavel infinitamente e nao faria mais nada. Completamente sem noção isso ae.

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

Entre para seguir isso  





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

×