00001
00002
00003
00004
00005
00006
00013 #ifndef LCDTWI_H_
00014 #define LCDTWI_H_
00015 #include "twi.h"
00016 #include <util/delay.h>
00023 int LCDInit(uint8_t twiaddr);
00024
00031 int LCD_putc(char c);
00032
00040 int LCD_puts(char * string);
00041
00048 int LCD_setpos(uint8_t position);
00049
00055 int LCD_clear();
00056
00062 int LCD_enable_blink();
00068 int LCD_disable_blink();
00069
00075 int LCD_enable_cursor();
00076
00082 int LCD_disable_cursor();
00083
00089 int LCD_return();
00090
00091
00092 #define CHARSPERLINE 8 //unusual display
00093 #define LCD_LINES 2
00094 #define LINE1 0x00
00095 #define LINE2 0x40
00096 #define LINE3 0x20 //not available!!!
00097 #define LINE4 0x60 //not available!!!
00098
00099
00100 #define SETFUNCTION_CMD 0x20
00101 #define FOURBITIF_BIT 0x00
00102 #define EIGHTBITIF_BIT 0x10
00103 #define TWOLINEDISP_BIT 0x08
00104 #define SINGLELINEDISP_BIT 0x00
00105 #define DOT75_BIT 0x00
00106 #define DOT105_BIT 0x04
00107
00108
00109 #define DISPLAY_ONOFF_CMD 0x08
00110 #define DISPLAY_ON_BIT 0x04
00111 #define CURSOR_ON_BIT 0x02
00112 #define CURSOR_BLINK_ON_BIT 0x01
00113
00114
00115 #define DISPLAY_CLEAR_CMD 0x01
00116
00117
00118 #define RETURN_HOME_CMD 0x02
00119
00120
00121 #define ENTRY_MODE_CMD 0x04
00122 #define INC_CURSOR_BIT 0x02
00123 #define SHIFT_DISPLAY_BIT 0x01
00124
00125
00126 #define SHIFT_CMD 0x10
00127 #define SHIFT_DISP_BIT 0x08
00128 #define SHIFT_RIGHT_BIT 0x04
00129
00130
00131 #define DDR_ADDR_CMD 0x80
00132
00133
00134
00135 #define LINES TWOLINEDISP_BIT
00136 #define DOTS DOT75_BIT
00137
00138
00139 #endif