Subscribe:

Ads 468x60px

e-mail: eng@marcelomaciel.com. Tecnologia do Blogger.

sábado, 30 de março de 2013

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.

Para visualizar o resultado vamos simular o circuito com a utilização do Software Proteus Isis. Em primeiro lugar montamos o circuito eletrônico  dentro do Proteus Isis conforme a figura abaixo:




Agora vamos criar o software do projeto, para isso vamos utilizar a IDE 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"


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


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


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


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


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


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.


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".


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".



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


Somo direcionado novamente para a tela inicial do projeto e os arquivos importados aparecem em destaque.


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,"Blog do Marcelo"); //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". 


Se o procedimento acima for seguido corretamente, o projeto não apresentará erros e será apresentada a expressão "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.



Executando a simulação do projeto, veremos o resultado final:





5 comentários:

  1. Obrigado Marcelo por compartilhar seu conhecimento.
    Muito bom.

    ResponderExcluir
    Respostas
    1. Olá Alexsandro, obrigado pela visita e pelo comentário.
      O conhecimento serve para ser compartilhado.

      Excluir
  2. Meus parabéns pelas informações. Sou iniciante na area de programação, com certeza seu site vai me ajudar muito.

    ResponderExcluir
  3. Muito obrigado mesmo Marcelo por estar compartilhando o se conhecimento conheço um pouco de informatica é eletrônica e estou iniciando em microcontroladores e linguagem C e com certeza seu blog me ajudara muito vlw mesmo :)

    ResponderExcluir