Olá, caros seguidores, após um tempo fora voltamos nesse post para desenvolver nossas bibliotecas para o hardware do nosso projeto com o MSP430F2013.
Primeiramente iremos testar o “Hello World” no LCD, usando 4 bits, isso nos dará um pouco mais de trabalho.
Criaremos, então, uma biblioteca “basico.h” que tem funções básicas para qualquer programa que iremos utilizar:
//funções de bit
#define BitSet(arg,bit) ((arg) |= (1<<bit))#define BitClr(arg,bit) ((arg) &= ~(1<<bit))
#define BitFlp(arg,bit) ((arg) ^= (1<<bit))
#define BitTst(arg,bit) ((arg) & (1<<bit))
Agora criaremos nossa “lcd.c”, esta fará todas as operações por funções para deixar mais fácil utilizarmos o LCD posteriormente.
Começando pelo delay, para inicializaremos o LCD, ele precisa de um tempo antes de receber comandos, para isso criaremos um gasto de tempo, por loop, menor de 40us e um maior de 2ms, que usa o de 40us.
Na função de inicialização configuramos as direção dos terminais com BitSet, damos o delay, e enviamos os comandos de 4 bits 2 linhas, modo incremental, blink, apagar o display, e mandar para a posição inicial.
Para enviar comando criamos uma função que pega o comando de 8 bits faz o bitshift de 4, manda ler 4 e depois os outros 4. Já para enviar dados é praticamente o mesmo esquema, só que no início ao invés de dar BitSet (P1OUT,RS) damos BitClr, que é o modo dados.
Por fim temos a função que muda a posição da linha, por envia comando.
Assim, por último, criemos a “lcd.h”:
#ifndef LCD_H
#define LCD_Hvoid Delay40us(void);
void Delay2ms(void);
void EnviarComando(unsigned char cmd);
void EnviarDados(unsigned char valor);
void InicializaLCD(void);
void MudaPosicao(unsigned char lin, unsigned char col);
#endif
Todas as bibliotecas podem ser encontrada no nosso site clicando aqui.
Com isso já temos as bibliotecas prontas, o programa iremos criar no próximo post.
Até logo!
Nenhum comentário:
Postar um comentário