Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LCD.hpp@6:f3d1ab8a9e99, 2018-11-04 (annotated)
- Committer:
- Jonathan738
- Date:
- Sun Nov 04 20:32:59 2018 +0000
- Revision:
- 6:f3d1ab8a9e99
- Parent:
- 0:f8fe58d43763
- Child:
- 7:0213c3702c99
Added Function for basic TERMINAL control and updated datatypes for LCD functions to universal names set by DataTypes.hpp
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| BenRJG | 0:f8fe58d43763 | 1 | #ifndef _LCD_HPP |
| BenRJG | 0:f8fe58d43763 | 2 | #define _LCD_HPP |
| Jonathan738 | 6:f3d1ab8a9e99 | 3 | |
| Jonathan738 | 6:f3d1ab8a9e99 | 4 | #include "mbed.h" |
| Jonathan738 | 6:f3d1ab8a9e99 | 5 | #include "DataTypes.hpp" |
| BenRJG | 0:f8fe58d43763 | 6 | |
| Jonathan738 | 6:f3d1ab8a9e99 | 7 | #define CLEAR 0x01 |
| Jonathan738 | 6:f3d1ab8a9e99 | 8 | #define RETURN 0x02 |
| Jonathan738 | 6:f3d1ab8a9e99 | 9 | #define ENTRYMODE 0x04 |
| Jonathan738 | 6:f3d1ab8a9e99 | 10 | #define I 0x02 |
| Jonathan738 | 6:f3d1ab8a9e99 | 11 | #define shift 0x01 |
| Jonathan738 | 6:f3d1ab8a9e99 | 12 | #define DISPLAY 0x08 |
| Jonathan738 | 6:f3d1ab8a9e99 | 13 | #define on 0x04 |
| Jonathan738 | 6:f3d1ab8a9e99 | 14 | #define cursor 0x02 |
| Jonathan738 | 6:f3d1ab8a9e99 | 15 | #define blink 0x01 |
| Jonathan738 | 6:f3d1ab8a9e99 | 16 | #define DDRAM 0x20 |
| Jonathan738 | 6:f3d1ab8a9e99 | 17 | #define bit8 0x10 |
| Jonathan738 | 6:f3d1ab8a9e99 | 18 | #define lines2 0x08 |
| Jonathan738 | 6:f3d1ab8a9e99 | 19 | #define dots11 0x04 |
| Jonathan738 | 6:f3d1ab8a9e99 | 20 | #define control 0 |
| Jonathan738 | 6:f3d1ab8a9e99 | 21 | #define text 1 |
| Jonathan738 | 6:f3d1ab8a9e99 | 22 | #define write 0 |
| Jonathan738 | 6:f3d1ab8a9e99 | 23 | #define read 1 |
| Jonathan738 | 6:f3d1ab8a9e99 | 24 | #define LINE1 0x80 |
| Jonathan738 | 6:f3d1ab8a9e99 | 25 | #define LINE2 0xc0 |
| BenRJG | 0:f8fe58d43763 | 26 | |
| Jonathan738 | 6:f3d1ab8a9e99 | 27 | class LCD{ |
| Jonathan738 | 6:f3d1ab8a9e99 | 28 | public: |
| Jonathan738 | 6:f3d1ab8a9e99 | 29 | LCD(PinName rs, PinName e, PinName d4, PinName d5, PinName d6, PinName d7) : _LCD_RS(rs), _LCD_E(e), LCD_DDRAM(d7,d6,d5,d4) {} |
| Jonathan738 | 6:f3d1ab8a9e99 | 30 | void INIT(); |
| Jonathan738 | 6:f3d1ab8a9e99 | 31 | void clear(); |
| Jonathan738 | 6:f3d1ab8a9e99 | 32 | void display(BYTE* str, INT_32 line, INT_32 position); |
| Jonathan738 | 6:f3d1ab8a9e99 | 33 | void putt(BYTE c); |
| Jonathan738 | 6:f3d1ab8a9e99 | 34 | private: |
| Jonathan738 | 6:f3d1ab8a9e99 | 35 | DigitalOut _LCD_RS; |
| Jonathan738 | 6:f3d1ab8a9e99 | 36 | DigitalOut _LCD_E; |
| Jonathan738 | 6:f3d1ab8a9e99 | 37 | BusOut LCD_DDRAM; |
| Jonathan738 | 6:f3d1ab8a9e99 | 38 | private: |
| Jonathan738 | 6:f3d1ab8a9e99 | 39 | void cmdLCD(U_BYTE cmd); |
| Jonathan738 | 6:f3d1ab8a9e99 | 40 | void LCD_strobe(void); |
| Jonathan738 | 6:f3d1ab8a9e99 | 41 | void set_LCD_data(U_BYTE d); |
| Jonathan738 | 6:f3d1ab8a9e99 | 42 | UINT_32 findSpace(BYTE* str); |
| BenRJG | 0:f8fe58d43763 | 43 | |
| BenRJG | 0:f8fe58d43763 | 44 | }; |
| BenRJG | 0:f8fe58d43763 | 45 | #endif |