This is an old revision of the document!


Alphanumeric LCD display

LCD is used to display information to user. The HomeLab is equipped with standard 2×16 alphanumeric HD44780-based LCD (datasheet). LCD can be controlled by 4-bit mode or memory-mapped mode. Following examples are using 4-bit mode. LCD data bits are connected to PORTA.

LCD can connected directly to digital module (starting from V.3) or by using extension cable (all versions).

2×16 LCD with backlight connected to Digital module v.3.1:

1×16 LCD without backlight connected to Digital module v.2.2 with extension cable:

Studyboard v2.2

Both connection types have electrically identical wiring to AVR.

lcd_schema.jpg

Example code here uses Peter Fleury LCD driver (see the external link below). To use the LCD functions you need to include following files into your project.

Header files

Example

#include <stdlib.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
 
#include "lcd.h"
 
/*PS for Distance Lab use:
#include <util/lcd.h>
#include <util/lcd.c>
*/
 
int main(void)
{
	// Initialize display, cursor off
	lcd_init(LCD_DISP_ON);
 
	// Clear display and home cursor
	lcd_clrscr();
 
	// Put string to display (line 1) with linefeed
	lcd_puts("LCD Test Line 1\n");
}

Graphical displays

It is also possible to use low cost graphical LCD with AVR. Cheap way is to use old mobile phone LCD which can be found almost in every home.

Following example uses Nokia 3310/5110 Graphical 84×84 LCD. The initial driver is written by Tony Myatt, 2007.

<example will come soon>

en/examples/digi/lcd.1244071132.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0