Menus de configuração no Painel de Administração

GVensino - fome de saber!

Tutorial LCD no PIC usando CCS – Parte 1


Os displays de LCD são muito utilizados em projetos microcontrolados como uma IHM (Interface Homem Máquina). Uma IHM serve para informar o usuário dados sobre o estado de operação do circuito.

Existem vários tipos de displays de LCD, sendo os mais baratos os Alfanuméricos Monocromáticos.

Alfanuméricos – exibem apenas letras e números.

Monocromáticos – apenas 2 cores.

Existem os displays de LCD gráficos monocromáticos e os gráficos coloridos, mas não falaremos destes por aqui.

A versão antiga deste tutorial pode ser encontrada aqui: Tutorial: Utilizando Display de LCD Alfanumérico e PIC.


1. Montando o circuito

Simularemos o circuito utilizando o Simulador ISIS Proteus.

Materiais:

  • LM016L – Display de LCD 16 colunas e 2 linhas.
  • PIC16F628A – Microcontrolador da Microchip

 

Esquema do Circuito:

lcd001

Preste bem atenção nas ligações de cada pino, pois caso houver algum erro, o projeto poderá não funcionar.


2. Configurando o LCD

Crie um projeto normalmente no CCS PIC C Compiler.

Após a criação do projeto, iremos adicionar a biblioteca driver do LCD. É muito simples. Basta adicionar o código abaixo na primeira ou segunda linha do programa:

Após digitar a linha acima, clique com o botão direito do mouse sobre a palavra “lcd.c” e selecione a opção “Open file at the cursor”:

lcd002

Um novo arquivo deverá ser aberto na tela. Esse arquivo é a biblioteca do LCD, que contém várias instruções que nos ajudam a utilizar o LCD.

Dois arquivos estão abertos: o seu programa e a biblioteca do LCD
Seu programa e a biblioteca do LCD abertos

 

Dentro do arquivo da biblioteca, procure pelo seguinte comando:

lcd005

Selecione todo este comando, conforme a imagem acima.Este comando define o PORT do PIC no qual será ligado o LCD (o padrão, como se pode ver, é o PORTD).

Copie este comando e volte até o seu programa original.

Cole na linha anterior ao #include <lcd.c>.

Onde está escrito PORTD, altere para PORTB. Assim, o LCD irá funcionar no PORT dos pinos RB0 a RB7, conforme fizemos no esquema elétrico.

Deverá ficar assim:

 

Depois disso, coloque logo no início da função main o comando lcd_init(), que serve para inicializar o display, preparando-o para receber dados. Veja como fica:

 


3. Escrevendo no Display

O comando que usaremos para escrever no display de LCD é o printf, em conjunto com o lcd_putc. Veja como ficaria a escrita de uma frase simples:

Adicione a linha acima em seu programa. O programa final deverá ficar assim:

Compile (F9) e  caso você tenha feito tudo certo, a mensagem deverá aparecer no Display!

 

lcd006


 

4. LCD na Prática

No simulador Proteus não precisamos alimentar o Display de LCD, nem ajustar o contraste de suas letras. Entretanto, ao montarmos um LCD desses na prática, temos de fazer esses ajustes.

Além das ligações que fizemos acima, no Proteus, um display de LCD também possuí os seguintes pinos que não podem ser ignorados:

Pino Descrição
VDD Alimentação Positiva (+5V)
VSS Alimentação Negativa (GND)
VEE ou Vo Ajuste de Contraste. Deve ser ligado a um potenciômetro de 10K a 20K como divisor de tensão entre VDD e VSS.
A Anodo da iluminação do display (em displays com blacklight). Deve ser ligado em +5V.
K Catodo da iluminação do display. Deve ser ligado em GND.
Ajuste de contraste de um LCD na prática
Ajuste de contraste de um LCD na prática (pino Vo ou VEE)

 

 Acesse aqui a Parte 2 deste tutorial!


 

4Respostas em "Tutorial LCD no PIC usando CCS - Parte 1"

  1. No meu deu este problema alguém pode me ajudar?
    Não apareceu nada no display, e as entradas ficam piscando constantemente em azul e vermelho
    [hd44780] attempted to read after writing a single ribble isis error LCD1

  2. Boa tarde. Como deve ser o código para indicar em bargraph no lcd 16×2, e na line 2 o bargraph 0 ~100%

    pic 16f877a…

    Exemplo uma resistência com 0 ohms na entrada ra0 = a 0%

    e 105 ohms na entrada ra0 = 100%

    estou tentando escrever o comando para transferir isso mas não consigo.

    tenho muitos códigos, mas cada um faz de um geito, e não consigo similar..

    alguem pode me ajudar…

    obrigado.

Deixe sua mensagem

©GVensino - Todos os Direitos Reservados
css.php