Temp Publish

Committer:
Jonathan738
Date:
Tue Jan 08 16:21:39 2019 +0000
Revision:
0:4ccd12e1d789
FIXING EVERYTHING

Who changed what in which revision?

UserRevisionLine numberNew 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