AVR-GCC Libraries
|
#include <inttypes.h>
#include <avr/pgmspace.h>
Go to the source code of this file.
Macros | |
Definition for LCD controller type | |
Use 0 for HD44780 controller, change to 1 for displays with KS0073 controller. | |
#define | LCD_CONTROLLER_KS0073 0 |
Definitions for Display Size | |
Change these definitions to adapt setting to your display These definitions can be defined in a separate include file lcd_definitions.h instead modifying this file by adding -D_LCD_DEFINITIONS_FILE to the CDEFS section in the Makefile. All definitions added to the file lcd_definitions.h will override the default definitions from lcd.h | |
#define | LCD_LINES 2 |
#define | LCD_DISP_LENGTH 16 |
#define | LCD_LINE_LENGTH 0x40 |
#define | LCD_START_LINE1 0x00 |
#define | LCD_START_LINE2 0x40 |
#define | LCD_START_LINE3 0x14 |
#define | LCD_START_LINE4 0x54 |
#define | LCD_WRAP_LINES 0 |
Definitions for 4-bit IO mode | |
The four LCD data lines and the three control lines RS, RW, E can be on the same port or on different ports. Change LCD_RS_PORT, LCD_RW_PORT, LCD_E_PORT if you want the control lines on different ports. Normally the four data lines should be mapped to bit 0..3 on one port, but it is possible to connect these data lines in different order or even on different ports by adapting the LCD_DATAx_PORT and LCD_DATAx_PIN definitions. Adjust these definitions to your target. | |
#define | LCD_IO_MODE 1 |
#define | LCD_PORT PORTA |
#define | LCD_DATA0_PORT LCD_PORT |
#define | LCD_DATA1_PORT LCD_PORT |
#define | LCD_DATA2_PORT LCD_PORT |
#define | LCD_DATA3_PORT LCD_PORT |
#define | LCD_DATA0_PIN 0 |
#define | LCD_DATA1_PIN 1 |
#define | LCD_DATA2_PIN 2 |
#define | LCD_DATA3_PIN 3 |
#define | LCD_RS_PORT LCD_PORT |
#define | LCD_RS_PIN 4 |
#define | LCD_RW_PORT LCD_PORT |
#define | LCD_RW_PIN 5 |
#define | LCD_E_PORT LCD_PORT |
#define | LCD_E_PIN 6 |
Definitions of delays | |
Used to calculate delay timers. Adapt the F_CPU define in the Makefile to the clock frequency in Hz of your target These delay times can be adjusted, if some displays require different delays. | |
#define | LCD_DELAY_BOOTUP 16000 |
#define | LCD_DELAY_INIT 5000 |
#define | LCD_DELAY_INIT_REP 64 |
#define | LCD_DELAY_INIT_4BIT 64 |
#define | LCD_DELAY_BUSY_FLAG 4 |
#define | LCD_DELAY_ENABLE_PULSE 1 |
Definitions for LCD command instructions | |
The constants define the various LCD controller instructions which can be passed to the function lcd_command(), see HD44780 data sheet for a complete description. | |
#define | LCD_CLR 0 /* DB0: clear display */ |
#define | LCD_HOME 1 /* DB1: return to home position */ |
#define | LCD_ENTRY_MODE 2 /* DB2: set entry mode */ |
#define | LCD_ENTRY_INC 1 /* DB1: 1=increment, 0=decrement */ |
#define | LCD_ENTRY_SHIFT 0 /* DB2: 1=display shift on */ |
#define | LCD_ON 3 /* DB3: turn lcd/cursor on */ |
#define | LCD_ON_DISPLAY 2 /* DB2: turn display on */ |
#define | LCD_ON_CURSOR 1 /* DB1: turn cursor on */ |
#define | LCD_ON_BLINK 0 /* DB0: blinking cursor ? */ |
#define | LCD_MOVE 4 /* DB4: move cursor/display */ |
#define | LCD_MOVE_DISP 3 /* DB3: move display (0-> cursor) ? */ |
#define | LCD_MOVE_RIGHT 2 /* DB2: move right (0-> left) ? */ |
#define | LCD_FUNCTION 5 /* DB5: function set */ |
#define | LCD_FUNCTION_8BIT 4 /* DB4: set 8BIT mode (0->4BIT mode) */ |
#define | LCD_FUNCTION_2LINES 3 /* DB3: two lines (0->one line) */ |
#define | LCD_FUNCTION_10DOTS 2 /* DB2: 5x10 font (0->5x7 font) */ |
#define | LCD_CGRAM 6 /* DB6: set CG RAM address */ |
#define | LCD_DDRAM 7 /* DB7: set DD RAM address */ |
#define | LCD_BUSY 7 /* DB7: LCD is busy */ |
#define | LCD_ENTRY_DEC 0x04 /* display shift off, dec cursor move dir */ |
#define | LCD_ENTRY_DEC_SHIFT 0x05 /* display shift on, dec cursor move dir */ |
#define | LCD_ENTRY_INC_ 0x06 /* display shift off, inc cursor move dir */ |
#define | LCD_ENTRY_INC_SHIFT 0x07 /* display shift on, inc cursor move dir */ |
#define | LCD_DISP_OFF 0x08 /* display off */ |
#define | LCD_DISP_ON 0x0C /* display on, cursor off */ |
#define | LCD_DISP_ON_BLINK 0x0D /* display on, cursor off, blink char */ |
#define | LCD_DISP_ON_CURSOR 0x0E /* display on, cursor on */ |
#define | LCD_DISP_ON_CURSOR_BLINK 0x0F /* display on, cursor on, blink char */ |
#define | LCD_MOVE_CURSOR_LEFT 0x10 /* move cursor left (decrement) */ |
#define | LCD_MOVE_CURSOR_RIGHT 0x14 /* move cursor right (increment) */ |
#define | LCD_MOVE_DISP_LEFT 0x18 /* shift display left */ |
#define | LCD_MOVE_DISP_RIGHT 0x1C /* shift display right */ |
#define | LCD_FUNCTION_4BIT_1LINE 0x20 /* 4-bit interface, single line, 5x7 dots */ |
#define | LCD_FUNCTION_4BIT_2LINES 0x28 /* 4-bit interface, dual line, 5x7 dots */ |
#define | LCD_FUNCTION_8BIT_1LINE 0x30 /* 8-bit interface, single line, 5x7 dots */ |
#define | LCD_FUNCTION_8BIT_2LINES 0x38 /* 8-bit interface, dual line, 5x7 dots */ |
#define | LCD_MODE_DEFAULT ((1<<LCD_ENTRY_MODE) | (1<<LCD_ENTRY_INC) ) |
Functions | |
#define | lcd_puts_P(__s) lcd_puts_p(PSTR(__s)) |
macros for automatically storing string constant in program memory | |
void | lcd_init (uint8_t dispAttr) |
Initialize display and select type of cursor. More... | |
void | lcd_clrscr (void) |
Clear display and set cursor to home position. More... | |
void | lcd_home (void) |
Set cursor to home position. More... | |
void | lcd_gotoxy (uint8_t x, uint8_t y) |
Set cursor to specified position. More... | |
void | lcd_putc (char c) |
Display character at current cursor position. More... | |
void | lcd_puts (const char *s) |
Display string without auto linefeed. More... | |
void | lcd_puts_p (const char *progmem_s) |
Display string from program memory without auto linefeed. More... | |
void | lcd_command (uint8_t cmd) |
Send LCD controller instruction command. More... | |
void | lcd_data (uint8_t data) |
Send data byte to LCD controller. More... | |