Temp Publish
LCD.hpp@0:4ccd12e1d789, 2019-01-08 (annotated)
- Committer:
- Jonathan738
- Date:
- Tue Jan 08 16:21:39 2019 +0000
- Revision:
- 0:4ccd12e1d789
FIXING EVERYTHING
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan738 | 0:4ccd12e1d789 | 1 | /*------------------------------------------------------------------------------ |
Jonathan738 | 0:4ccd12e1d789 | 2 | Creator : |
Jonathan738 | 0:4ccd12e1d789 | 3 | Date : |
Jonathan738 | 0:4ccd12e1d789 | 4 | Module : ELEC351 |
Jonathan738 | 0:4ccd12e1d789 | 5 | Project : ELEC351_GroupA |
Jonathan738 | 0:4ccd12e1d789 | 6 | Dependencies : |
Jonathan738 | 0:4ccd12e1d789 | 7 | Purpose : |
Jonathan738 | 0:4ccd12e1d789 | 8 | ------------------------------------------------------------------------------*/ |
Jonathan738 | 0:4ccd12e1d789 | 9 | #ifndef _LCD_HPP |
Jonathan738 | 0:4ccd12e1d789 | 10 | #define _LCD_HPP |
Jonathan738 | 0:4ccd12e1d789 | 11 | |
Jonathan738 | 0:4ccd12e1d789 | 12 | #include "mbed.h" |
Jonathan738 | 0:4ccd12e1d789 | 13 | #include "General.hpp" |
Jonathan738 | 0:4ccd12e1d789 | 14 | |
Jonathan738 | 0:4ccd12e1d789 | 15 | #define CLEAR 0x01 |
Jonathan738 | 0:4ccd12e1d789 | 16 | #define RETURN 0x02 |
Jonathan738 | 0:4ccd12e1d789 | 17 | |
Jonathan738 | 0:4ccd12e1d789 | 18 | #define ENTRYMODE 0x04 |
Jonathan738 | 0:4ccd12e1d789 | 19 | #define I 0x02 |
Jonathan738 | 0:4ccd12e1d789 | 20 | #define shift 0x01 |
Jonathan738 | 0:4ccd12e1d789 | 21 | |
Jonathan738 | 0:4ccd12e1d789 | 22 | #define DISPLAY 0x08 |
Jonathan738 | 0:4ccd12e1d789 | 23 | #define on 0x04 |
Jonathan738 | 0:4ccd12e1d789 | 24 | #define cursor 0x02 |
Jonathan738 | 0:4ccd12e1d789 | 25 | #define blink 0x01 |
Jonathan738 | 0:4ccd12e1d789 | 26 | |
Jonathan738 | 0:4ccd12e1d789 | 27 | #define FUNC 0x20 |
Jonathan738 | 0:4ccd12e1d789 | 28 | #define bit8 0x10 |
Jonathan738 | 0:4ccd12e1d789 | 29 | #define lines2 0x08 |
Jonathan738 | 0:4ccd12e1d789 | 30 | #define dots11 0x04 |
Jonathan738 | 0:4ccd12e1d789 | 31 | |
Jonathan738 | 0:4ccd12e1d789 | 32 | #define control 0 |
Jonathan738 | 0:4ccd12e1d789 | 33 | #define text 1 |
Jonathan738 | 0:4ccd12e1d789 | 34 | |
Jonathan738 | 0:4ccd12e1d789 | 35 | #define write 0 |
Jonathan738 | 0:4ccd12e1d789 | 36 | #define read 1 |
Jonathan738 | 0:4ccd12e1d789 | 37 | |
Jonathan738 | 0:4ccd12e1d789 | 38 | #define LINE1 0x00 |
Jonathan738 | 0:4ccd12e1d789 | 39 | #define LINE2 0x40 |
Jonathan738 | 0:4ccd12e1d789 | 40 | |
Jonathan738 | 0:4ccd12e1d789 | 41 | class LCD{ |
Jonathan738 | 0:4ccd12e1d789 | 42 | public: |
Jonathan738 | 0:4ccd12e1d789 | 43 | LCD(PinName rs, PinName e, PinName d4, PinName d5, PinName d6, PinName d7) : _LCD_RS(rs), _LCD_E(e), LCD_DDRAM(d4,d5,d6,d7) {} |
Jonathan738 | 0:4ccd12e1d789 | 44 | void INIT(); |
Jonathan738 | 0:4ccd12e1d789 | 45 | void clear(); |
Jonathan738 | 0:4ccd12e1d789 | 46 | void display(BYTE* str, UINT_16 location=NULL); |
Jonathan738 | 0:4ccd12e1d789 | 47 | void putt(U_BYTE c); |
Jonathan738 | 0:4ccd12e1d789 | 48 | void pos(UINT_16 location); |
Jonathan738 | 0:4ccd12e1d789 | 49 | |
Jonathan738 | 0:4ccd12e1d789 | 50 | void enableCursor(); |
Jonathan738 | 0:4ccd12e1d789 | 51 | void disableCursor(); |
Jonathan738 | 0:4ccd12e1d789 | 52 | private: |
Jonathan738 | 0:4ccd12e1d789 | 53 | DigitalOut _LCD_RS; |
Jonathan738 | 0:4ccd12e1d789 | 54 | DigitalOut _LCD_E; |
Jonathan738 | 0:4ccd12e1d789 | 55 | BusOut LCD_DDRAM; |
Jonathan738 | 0:4ccd12e1d789 | 56 | private: |
Jonathan738 | 0:4ccd12e1d789 | 57 | void cmdLCD(U_BYTE cmd); |
Jonathan738 | 0:4ccd12e1d789 | 58 | void LCD_strobe(void); |
Jonathan738 | 0:4ccd12e1d789 | 59 | void set_LCD_data(U_BYTE d); |
Jonathan738 | 0:4ccd12e1d789 | 60 | UINT_32 findSpace(U_BYTE* str); |
Jonathan738 | 0:4ccd12e1d789 | 61 | }; |
Jonathan738 | 0:4ccd12e1d789 | 62 | #endif |
Jonathan738 | 0:4ccd12e1d789 | 63 |