LCD no PIC16F628a

LCD no PIC16f628a

 

Atendendo à pedidos de leitores do blog vou mostrar como é realizada a configuração da biblioteca Display LCD para funcionar em um PIC16F628a.  Todo o funcionamento da biblioteca assim como sua construção pode ser vista no primeiro post – Conectando um display LCD no PIC. Neste artigo veremos todo o processo de criação e configuração de um novo projeto na IDE MPLab que utilizará a biblioteca LCD.h

Simulação no Proteus ISIS – Circuito Display LCD  no PIC 16F628a

Para visualizar o resultado vamos simular o circuito com a utilização do Software Proteus Isis. Proteus é um software de simulação eletrônica muito poderoso e que nos ajuda a ganhar muito tempo durante o desenvolvimento de nossos projetos.

Em primeiro lugar montamos o circuito eletrônico  dentro do Proteus Isis conforme a figura abaixo:

 lcd no pic 16f628a

Criação de um novo projeto no MPLab 

Em seguida vamos criar o software do projeto, para isso utilizaremos a IDE (Integrated Development Environment ou Ambiente Integrado de Desenvolvimento) Mplab da Microchip e o compilador CCS já que o programa será escrito em linguagem C.

Com a IDE Mplab aberta escolhemos a opção “Project”e, em seguida, “Project Wizard”.

configuração mplab 1

É aberta a interface de configuração do projeto, na primeira tela clicamos em “avançar”;
 configuração mplab 2

No primeiro passo escolhemos o modelo do microcontrolador, neste caso o PIC 16F628a;

 configuração mplab step one

No segundo passo escolhemos a compilador adequado a linguagem de programação utilizada, neste caso o CCS C Compiler;

configuração mplab step two

No terceiro passo escolhemos onde o projeto será gravado e o nomeamos;

configuração mplab step three

Com isso o projeto está pronto para ser utilizado, clicamos em “concluir” para acessá-lo;

configuração mplab project wizard

Configuração da biblioteca lcd.h

De volta a tela inicial da IDE Mplab, acessamos a opção “file” e em seguida “new” para criar o arquivo onde o programa será escrito.

 configuração mplab file new

Estando ele aberto, salvamos na mesma pasta onde foi criado o projeto. O arquivo pode ser nomeado como quiser, lembrando de definir sua extensão como “.C”.

 configuração mplab salvar como

Nesta mesma pasta deve ser salvo o arquivo “lcd.h” explicado e disponível no artigo Conectando um display LCD no PIC. Caso não o tenha ainda, basta acessa este link e criar o arquivo “lcd.h” da mesma forma que criamos o arquivo “.c” acima colando o código antes de salvar.

Em seguida devemos acrescentar este dois arquivos ao projeto, acessamos a janela inicial do projeto, clicamos com o botão direito do mouse sobre “Source Files” e selecionamos a opção “Add Files”.

 configuração mplab add files

Na tela que se abre selecionamos os arquivos “lcd.h” e “.c” criados e, em seguida a opção “abrir”.

configuração mplab add files to project

Somos direcionados novamente para a tela inicial do projeto e os arquivos importados aparecem em destaque.

 configuração mplab source files

Finalizando e simulando o projeto

Com dois cliques sobre o arquivo “.C” ele é aberto e devemos colar o códio abaixo:

#include <16F628A.h>         //Define o modelo do microcontrolador

// Fusíveis de configuração do microcontrolador

#FUSES NOWDT                  //Watch Dog Timer desabilitado
#FUSES HS                     //oscilador cristal 
#FUSES PUT                    //Power Up Timer
#FUSES NOPROTECT              //sem proteção para leitura da eprom
#FUSES BROWNOUT               //Resetar quando detectar brownout
#FUSES NOMCLR                 //Reset desabilitado
#FUSES NOLVP                  //prog. baixa voltagem desabilitado
#FUSES NOCPD                  //Sem travar o chip

#use delay(clock=20000000)      //Define o cristal utilizado, neste caso: 20Mhz

//Definição de entradas e saídas
//Cada bit representa um pino físico de I/O
// 0 significa que o pino será uma saída
// 1 significa que o pino será uma entrada
#define trisa 0b00000000 
#define trisb 0b00000000 

// Estas são as definições dos pinos que o LCD utiliza.
// Definem quais pinos do PIC controlarão os pinos do LCD

#define lcd_enable pin_a1      // pino enable do LCD
#define lcd_rs     pin_a0      // pino rs (register select)do LCD
                               // (0) para comandos    (1) para dados

#define lcd_db4    pin_b4      // pino de dados d4 do LCD
#define lcd_db5    pin_b5      // pino de dados d5 do LCD
#define lcd_db6    pin_b6      // pino de dados d6 do LCD
#define lcd_db7    pin_b7      // pino de dados d7 do LCD
#include <lcd.h>               //declaração da biblioteca do LCD

//Programa principal
void main(){

inicializa_lcd();            //Inicializa o LCD

while(1){

      limpa_lcd();         //Limpa o display do LCD

      caracter_inicio(1,1);   //Define o caracter de inicio da escrita 

      printf(escreve_lcd,"Microcontrolado");   //Escreve no LCD

      delay_ms(1000);         //Espera um segundo
      }
} //fecha void main

Depois de copiar o código acima, salvamos o arquivo e selecionamos a opção “Project” e, em seguida, “Build All”.

 configuração mplab build all

Se o procedimento acima for seguido corretamente, o projeto não apresentará erros e será apresentada a expressão “Build Succeeded”.

 configuração mplab Build Succeeded

Isso fará com que o projeto seja compilado e o arquivo hexadecimal a ser gravado no microcontrolador seja criado. Para nossa simulação, voltamos ao Proteus Isis e clicamos duas vezes sobre o microcontrolador PIC.

Na opção “Progran File” selecionamos o arquivo “.hex” criado pelo Mplab na pasta do projeto. E na opção “Processor Clock Frequency” setamos a frequência de 20Mhz utilizada por nosso projeto.

configuração Proteus ISIS arquivo hexExecutando a simulação do projeto, veremos o resultado final:

lcd no pic 16f628a
 

 

Marcelo Maciel

facebooktwittergoogle pluslinkedin

Engenheiro de Controle e Automação e Técnico Eletrônico com mais de 10 anos de experiência no desenvolvimento de dispositivos microcontrolados para pequenas e médias empresas em diversos ramos. Além disso, possui vivência na área de Automação em grandes empresas desde 1999.


Your Turn To Talk

Your email address will not be published.