1 #if !defined(__I2CLCD_H__)
4 #define I2CLCD_ADDRESS 0x7c
6 #define I2CLCD_CFG_ENABLE 0x20
7 #define I2CLCD_CFG_LED 0x08
8 #define I2CLCD_CFG_3V 0x04
9 #define I2CLCD_CFG_ADDR 0x02
10 #define I2CLCD_CFG_INIT 0x01
13 #define I2CLCD_CLEARDISPLAY 0x01
14 #define I2CLCD_RETURNHOME 0x02
15 #define I2CLCD_ENTRYMODESET 0x04
16 #define I2CLCD_DISPLAYCONTROL 0x08
17 #define I2CLCD_CURSORSHIFT 0x10
18 #define I2CLCD_FUNCTIONSET 0x20
19 #define I2CLCD_SETCGRAMADDR 0x40
20 #define I2CLCD_SETDDRAMADDR 0x80
22 // flags for display entry mode
23 #define I2CLCD_ENTRYRIGHT 0x00
24 #define I2CLCD_ENTRYLEFT 0x02
25 #define I2CLCD_ENTRYSHIFTINCREMENT 0x01
26 #define I2CLCD_ENTRYSHIFTDECREMENT 0x00
28 // flags for display on/off control
29 #define I2CLCD_DISPLAYON 0x04
30 #define I2CLCD_DISPLAYOFF 0x00
31 #define I2CLCD_CURSORON 0x02
32 #define I2CLCD_CURSOROFF 0x00
33 #define I2CLCD_BLINKON 0x01
34 #define I2CLCD_BLINKOFF 0x00
36 // flags for display/cursor shift
37 #define I2CLCD_DISPLAYMOVE 0x08
38 #define I2CLCD_CURSORMOVE 0x00
39 #define I2CLCD_MOVERIGHT 0x04
40 #define I2CLCD_MOVELEFT 0x00
42 // flags for function set
43 #define I2CLCD_8BITMODE 0x10
44 #define I2CLCD_4BITMODE 0x00
45 #define I2CLCD_2LINE 0x08
46 #define I2CLCD_1LINE 0x00
47 #define I2CLCD_5x10DOTS 0x04
48 #define I2CLCD_5x8DOTS 0x00
54 void lcd_pos(int x, int y);
55 void lcd_print(char *str);