DIGILIGHT
|
Basic routines for interfacing a HD44780U-based text LCD display. Подробнее...
Definitions for MCU Clock Frequency | |
#define | XTAL 4000000 |
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 | |
#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 |
#define | LCD_IO_MODE 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 | |
void | lcd_init (void) |
Initialize display and select type of cursor. | |
void | lcd_clrscr (void) |
Clear display and set cursor to home position. | |
void | lcd_home (void) |
Set cursor to home position. | |
void | lcd_gotoxy (uint8_t x, uint8_t y) |
Set cursor to specified position. Подробнее... | |
void | lcd_putc (char c) |
Display character at current cursor position. Подробнее... | |
void | lcd_puts (const char *s) |
Display string without auto linefeed. Подробнее... | |
void | lcd_puts_p (const char *progmem_s) |
Display string from program memory without auto linefeed. Подробнее... | |
void | lcd_command (uint8_t cmd) |
Send LCD controller instruction command. Подробнее... | |
void | lcd_data (uint8_t data) |
Send data byte to LCD controller. Подробнее... | |
uint8_t | lcd_getxy (void) |
uint8_t | lcd_read (uint8_t rs) |
#define | lcd_puts_P(__s) lcd_puts_p(PSTR(__s)) |
macros for automatically storing string constant in program memory | |
Basic routines for interfacing a HD44780U-based text LCD display.
Originally based on Volker Oth's LCD library, changed lcd_init(), added additional constants for lcd_command(), added 4-bit I/O mode, improved and optimized code.
Library can be operated in memory mapped mode (LCD_IO_MODE=0) or in 4-bit IO port mode (LCD_IO_MODE=1). 8-bit IO port mode not supported.
Memory mapped mode compatible with Kanda STK200, but supports also generation of R/W signal through A8 address line.
#define LCD_CONTROLLER_KS0073 0 |
#define LCD_DISP_LENGTH 16 |
visibles characters per line of the display
См. определение в файле lcd.h строка 65
Используется в center_str(), center_str_p(), lcd_putc(), show_hex_long(), show_rpad_str() и show_rpad_str_p().
#define LCD_IO_MODE 1 |
#define LCD_LINE_LENGTH 0x40 |
#define LCD_START_LINE1 0x00 |
DDRAM address of first char of line 1
См. определение в файле lcd.h строка 67
Используется в lcd_putc().
#define LCD_START_LINE2 0x40 |
#define LCD_START_LINE3 0x14 |
#define LCD_START_LINE4 0x54 |
#define LCD_WRAP_LINES 0 |
#define XTAL 4000000 |
void lcd_command | ( | uint8_t | cmd | ) |
Send LCD controller instruction command.
cmd | instruction to send to LCD controller, see HD44780 data sheet |
См. определение в файле lcd.c строка 354
Используется в lcd_clrscr(), lcd_gotoxy() и lcd_home().
void lcd_data | ( | uint8_t | data | ) |
Send data byte to LCD controller.
Similar to lcd_putc(), but without interpreting LF
data | byte to send to LCD controller, see HD44780 data sheet |
void lcd_gotoxy | ( | uint8_t | x, |
uint8_t | y | ||
) |
Set cursor to specified position.
x | horizontal position (0: left most position) |
y | vertical position (0: first line) |
См. определение в файле lcd.c строка 380
Перекрестные ссылки lcd_command().
void lcd_putc | ( | char | c | ) |
Display character at current cursor position.
c | character to be displayed |
См. определение в файле lcd.c строка 436
Перекрестные ссылки LCD_DISP_LENGTH и LCD_START_LINE1.
Используется в lcd_puts(), lcd_puts_p() и show_hex_long().
void lcd_puts | ( | const char * | s | ) |
Display string without auto linefeed.
s | string to be displayed |
См. определение в файле lcd.c строка 483
Перекрестные ссылки lcd_putc().
void lcd_puts_p | ( | const char * | progmem_s | ) |
Display string from program memory without auto linefeed.
progmem_s | string from program memory be be displayed |
См. определение в файле lcd.c строка 500
Перекрестные ссылки lcd_putc().