Go to most recent revision | Blame | Last modification | View Log | Download
/* ---------------------------------------------------------------------------
* AVR_MLIB - HD 44780 LCD Display Driver Test Application
* www.mlab.cz miho 2008
* ---------------------------------------------------------------------------
* Simple test application for lcd_hd44780.h LCD library. This code ilustates
* how to use and configure the library functions.
* ---------------------------------------------------------------------------
* 00.00 2008/03/28 First Version
* 00.01 2008/04/19 Improved
* ---------------------------------------------------------------------------
*/
// Required Libraries
// ------------------
// Delay
#define F_CPU 1000000UL // CPU Frequency
#include <util/delay.h> // Delay Routines
// Standard Output Library
#include <stdio.h> // For printf
// LCD Display Interface
// ---------------------
// LCD Port Settings
#define LCD_DATA B // 4 or 8 bits field (lsb port)
#define LCD_DATA_BIT 0
#define LCD_RS D // Register Select
#define LCD_RS_BIT 4
#define LCD_E D // Enable
#define LCD_E_BIT 3
// LCD Display Parameters
#define LCD_INTERFACE_BITS 4 // 4 or 8 bit interface
#define LCD_LINES 2 // 1 or 2 or 4 lines
#define LCD_CHARS 16 // usualy 16 or 20, important for 4 line display only
// LCD Library
#include "lcd_hd44780.h"
// Test Application
// ----------------
// Define Output Stream to LCD
static FILE lcd_stream = FDEV_SETUP_STREAM(lcd_putc_stream, NULL, _FDEV_SETUP_WRITE);
// Main Program
int main ()
{
int i;
DDRB|= (1<<DDB6);
DDRB|= (1<<DDB7);
PORTB &= ~(1<<PB6);
stdout = &lcd_stream; // Connect stdout to LCD Stream
lcd_init(); // Init LCD (interface and display module)
lcd_gotoxy(1,1);
printf("stavebnice MLAB");
_delay_ms(1000);
while(1)
{
lcd_gotoxy(2,2);
printf("demo aplikace");
_delay_ms(1000);
lcd_gotoxy(2,2);
printf(" ");
PORTB|= (1<<PB6);
_delay_ms(500);
PORTB &= ~(1<<PB6);
_delay_ms(5000);
PORTB|= (1<<PB7);
_delay_ms(500);
PORTB &= ~(1<<PB7);
_delay_ms(5000);
}
}