KAIQUE DOGNANI
/
LCD_JOYSTICK
Utilizando a Nucleo F103RB com um módulo LCD e um Joystick para interface
LCD_ka.h@0:bf743d54917c, 2020-06-09 (annotated)
- Committer:
- kaiquedog
- Date:
- Tue Jun 09 00:35:52 2020 +0000
- Revision:
- 0:bf743d54917c
Comentar
Who changed what in which revision?
User | Revision | Line number | New 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 |