Utilizando a Nucleo F103RB com um módulo LCD e um Joystick para interface

Dependencies:   mbed

Committer:
kaiquedog
Date:
Tue Jun 09 00:35:52 2020 +0000
Revision:
0:bf743d54917c
Comentar

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaiquedog 0:bf743d54917c 1 #ifndef LCD_H
kaiquedog 0:bf743d54917c 2 #define LCD_H
kaiquedog 0:bf743d54917c 3 #include "mbed.h"
kaiquedog 0:bf743d54917c 4 #include <string>
kaiquedog 0:bf743d54917c 5 #include <stdio.h>
kaiquedog 0:bf743d54917c 6
kaiquedog 0:bf743d54917c 7 class LCD : public Stream {
kaiquedog 0:bf743d54917c 8 public:
kaiquedog 0:bf743d54917c 9 LCD(PinName rs, PinName e, PinName d4, PinName d5, PinName d6, PinName d7);
kaiquedog 0:bf743d54917c 10
kaiquedog 0:bf743d54917c 11 /*
kaiquedog 0:bf743d54917c 12 *******************************
kaiquedog 0:bf743d54917c 13 **** DEFINIÇÕES DE ROTINAS ****
kaiquedog 0:bf743d54917c 14 *******************************
kaiquedog 0:bf743d54917c 15 */
kaiquedog 0:bf743d54917c 16
kaiquedog 0:bf743d54917c 17
kaiquedog 0:bf743d54917c 18 // Função de inicialização do LCD:
kaiquedog 0:bf743d54917c 19 void Inicia_LCD(void);
kaiquedog 0:bf743d54917c 20
kaiquedog 0:bf743d54917c 21 // Função que define se o cursor saiu do display:
kaiquedog 0:bf743d54917c 22 void fim_de_curso(void);
kaiquedog 0:bf743d54917c 23
kaiquedog 0:bf743d54917c 24 // Comando que indica para o LCD que metade dos bits foram enviados:
kaiquedog 0:bf743d54917c 25 void bate_enable(void);
kaiquedog 0:bf743d54917c 26
kaiquedog 0:bf743d54917c 27 // Função que escreve na CGRAM(Memória) ou na DDRAM(Tela):
kaiquedog 0:bf743d54917c 28 void WRI(int value);
kaiquedog 0:bf743d54917c 29
kaiquedog 0:bf743d54917c 30 // Função que manda comando para o LCD:
kaiquedog 0:bf743d54917c 31 void CMD(int value);
kaiquedog 0:bf743d54917c 32
kaiquedog 0:bf743d54917c 33 // Função que inicializa os caracteres definidos em si:
kaiquedog 0:bf743d54917c 34 void setup_chars();
kaiquedog 0:bf743d54917c 35
kaiquedog 0:bf743d54917c 36 /*
kaiquedog 0:bf743d54917c 37 *******************************
kaiquedog 0:bf743d54917c 38 **** DEFINIÇÕES DE FUNÇÕES ****
kaiquedog 0:bf743d54917c 39 *******************************
kaiquedog 0:bf743d54917c 40 */
kaiquedog 0:bf743d54917c 41
kaiquedog 0:bf743d54917c 42 // Função que retorna um array de chars contendo a posição ["(", "1", ",", "1", ")"]
kaiquedog 0:bf743d54917c 43 string Lepos(void);
kaiquedog 0:bf743d54917c 44
kaiquedog 0:bf743d54917c 45 // Função que escreve na DDRAM o caracter colocado em hex
kaiquedog 0:bf743d54917c 46 void putc(int value);
kaiquedog 0:bf743d54917c 47
kaiquedog 0:bf743d54917c 48 // Função que limpa o display e volta o cursor para (1,1):
kaiquedog 0:bf743d54917c 49 void clc(void);
kaiquedog 0:bf743d54917c 50
kaiquedog 0:bf743d54917c 51 // Função que volta o cursor para (1,1):
kaiquedog 0:bf743d54917c 52 void home(void);
kaiquedog 0:bf743d54917c 53
kaiquedog 0:bf743d54917c 54 // Função que manda o cursor para a direita:
kaiquedog 0:bf743d54917c 55 void direita(void);
kaiquedog 0:bf743d54917c 56
kaiquedog 0:bf743d54917c 57 // Função quem manda o cursor para a esquerda:
kaiquedog 0:bf743d54917c 58 void esquerda(void);
kaiquedog 0:bf743d54917c 59
kaiquedog 0:bf743d54917c 60 // Função que manda o display para linha de cima:
kaiquedog 0:bf743d54917c 61 void cima(void);
kaiquedog 0:bf743d54917c 62
kaiquedog 0:bf743d54917c 63 // Função que manda o display para linha de baixo:
kaiquedog 0:bf743d54917c 64 void baixo(void);
kaiquedog 0:bf743d54917c 65
kaiquedog 0:bf743d54917c 66 // Função que apaga o que está no cursor:
kaiquedog 0:bf743d54917c 67 void apaga(void);
kaiquedog 0:bf743d54917c 68
kaiquedog 0:bf743d54917c 69 // Função que posiciona o cursor na linha e coluna inseridas:
kaiquedog 0:bf743d54917c 70 void pos(int linha, int coluna);
kaiquedog 0:bf743d54917c 71
kaiquedog 0:bf743d54917c 72 // Função que faz um relógio girar no LCD
kaiquedog 0:bf743d54917c 73 void Clock(int li, int co);
kaiquedog 0:bf743d54917c 74
kaiquedog 0:bf743d54917c 75 /*
kaiquedog 0:bf743d54917c 76 ********************************
kaiquedog 0:bf743d54917c 77 **** DEFINIÇÕES DE ENTRADAS ****
kaiquedog 0:bf743d54917c 78 ********************************
kaiquedog 0:bf743d54917c 79 */
kaiquedog 0:bf743d54917c 80 DigitalOut RS, E; // Saídas digitais de RS e Enable
kaiquedog 0:bf743d54917c 81 BusOut dados; // Saídas digitais de comunicação com o display
kaiquedog 0:bf743d54917c 82
kaiquedog 0:bf743d54917c 83 /*
kaiquedog 0:bf743d54917c 84 ********************************
kaiquedog 0:bf743d54917c 85 **** DEFINIÇÃO DE VARIÁVEIS ****
kaiquedog 0:bf743d54917c 86 ********************************
kaiquedog 0:bf743d54917c 87 */
kaiquedog 0:bf743d54917c 88
kaiquedog 0:bf743d54917c 89 int _coluna; // Posição do cursor em relação a coluna
kaiquedog 0:bf743d54917c 90 int _linha; // Posição do cursor em relação a linha
kaiquedog 0:bf743d54917c 91 char _chars[2][16]; // Array que guarda o que tá escrito no display
kaiquedog 0:bf743d54917c 92
kaiquedog 0:bf743d54917c 93
kaiquedog 0:bf743d54917c 94 // Stream implementation functions
kaiquedog 0:bf743d54917c 95 virtual int _putc(int value);
kaiquedog 0:bf743d54917c 96 virtual int _getc();
kaiquedog 0:bf743d54917c 97 };
kaiquedog 0:bf743d54917c 98
kaiquedog 0:bf743d54917c 99 #endif