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 |