Ben Gordon
/
ELEC351_GroupA-branch1
Troubleshooting
LCD.hpp@0:f8fe58d43763, 2018-11-03 (annotated)
- Committer:
- BenRJG
- Date:
- Sat Nov 03 21:55:11 2018 +0000
- Revision:
- 0:f8fe58d43763
- Child:
- 4:bb7a78619678
- Child:
- 6:f3d1ab8a9e99
Created LCD class
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 |
BenRJG | 0:f8fe58d43763 | 3 | #include "mbed.h" |
BenRJG | 0:f8fe58d43763 | 4 | |
BenRJG | 0:f8fe58d43763 | 5 | #define CLEAR 0x01 |
BenRJG | 0:f8fe58d43763 | 6 | |
BenRJG | 0:f8fe58d43763 | 7 | #define RETURN 0x02 |
BenRJG | 0:f8fe58d43763 | 8 | |
BenRJG | 0:f8fe58d43763 | 9 | #define ENTRYMODE 0x04 |
BenRJG | 0:f8fe58d43763 | 10 | #define I 0x02 |
BenRJG | 0:f8fe58d43763 | 11 | #define shift 0x01 |
BenRJG | 0:f8fe58d43763 | 12 | |
BenRJG | 0:f8fe58d43763 | 13 | #define DISPLAY 0x08 |
BenRJG | 0:f8fe58d43763 | 14 | #define on 0x04 |
BenRJG | 0:f8fe58d43763 | 15 | #define cursor 0x02 |
BenRJG | 0:f8fe58d43763 | 16 | #define blink 0x01 |
BenRJG | 0:f8fe58d43763 | 17 | |
BenRJG | 0:f8fe58d43763 | 18 | #define DDRAM 0x20 |
BenRJG | 0:f8fe58d43763 | 19 | #define bit8 0x10 |
BenRJG | 0:f8fe58d43763 | 20 | #define lines2 0x08 |
BenRJG | 0:f8fe58d43763 | 21 | #define dots11 0x04 |
BenRJG | 0:f8fe58d43763 | 22 | |
BenRJG | 0:f8fe58d43763 | 23 | #define control 0 |
BenRJG | 0:f8fe58d43763 | 24 | #define text 1 |
BenRJG | 0:f8fe58d43763 | 25 | |
BenRJG | 0:f8fe58d43763 | 26 | #define write 0 |
BenRJG | 0:f8fe58d43763 | 27 | #define read 1 |
BenRJG | 0:f8fe58d43763 | 28 | |
BenRJG | 0:f8fe58d43763 | 29 | #define LINE1 0x80 |
BenRJG | 0:f8fe58d43763 | 30 | #define LINE2 0xc0 |
BenRJG | 0:f8fe58d43763 | 31 | |
BenRJG | 0:f8fe58d43763 | 32 | class LCD{ |
BenRJG | 0:f8fe58d43763 | 33 | |
BenRJG | 0:f8fe58d43763 | 34 | |
BenRJG | 0:f8fe58d43763 | 35 | public: |
BenRJG | 0:f8fe58d43763 | 36 | 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) {} |
BenRJG | 0:f8fe58d43763 | 37 | void INIT(); |
BenRJG | 0:f8fe58d43763 | 38 | void clear(); |
BenRJG | 0:f8fe58d43763 | 39 | void display(char* str, int line, int position); |
BenRJG | 0:f8fe58d43763 | 40 | void putt(char c); |
BenRJG | 0:f8fe58d43763 | 41 | |
BenRJG | 0:f8fe58d43763 | 42 | private: |
BenRJG | 0:f8fe58d43763 | 43 | DigitalOut _LCD_RS; |
BenRJG | 0:f8fe58d43763 | 44 | DigitalOut _LCD_E; |
BenRJG | 0:f8fe58d43763 | 45 | BusOut LCD_DDRAM; |
BenRJG | 0:f8fe58d43763 | 46 | private: |
BenRJG | 0:f8fe58d43763 | 47 | void cmdLCD(unsigned char cmd); |
BenRJG | 0:f8fe58d43763 | 48 | void LCD_strobe(void); |
BenRJG | 0:f8fe58d43763 | 49 | void set_LCD_data(unsigned char d); |
BenRJG | 0:f8fe58d43763 | 50 | unsigned int findSpace(char* str); |
BenRJG | 0:f8fe58d43763 | 51 | |
BenRJG | 0:f8fe58d43763 | 52 | }; |
BenRJG | 0:f8fe58d43763 | 53 | #endif |