
/********************************************************************
// lcd_xhruby00.h
//-------------------------------------------------------------------
// 
// Komunikace s řádkovým LCD (2x20)
//
// Michal Hrubý 2011
// VUTBR
// xhruby00
//
********************************************************************/

#ifndef _LCD_XHRUBY00_H
#define _LCD_XHRUBY00_H

//-------------------------------------------------------------------
// KONSTANTY
//-------------------------------------------------------------------

#define LCD_PORT    PORTB 			// port na kterém je připojen LCD

#define LCD_EN      0b00100000 		// ENABLE pin
#define LCD_RS      0b00010000 		// RS pin

#define LCD_WIDTH	20				// počet znaků na řádek LCD
#define LCD_HEIGHT	2				// počet řádků LCD

#define LCD_LINE0_ADRESS	0x00	// adresa 1.znaku na 1.řádku
#define LCD_LINE1_ADRESS	0x40	// adresa 1.znaku na 2.řádku


//-------------------------------------------------------------------
// PROTOTYPY FUNKCI
//-------------------------------------------------------------------

void lcd_reset(void);
void lcd_init (void);

void lcd_cmd (char cmd);
void lcd_data (char data);

void lcd_print_c(char ch);
void lcd_print_s(const char *s);
void lcd_clear(void);
void lcd_goXY(char posX, char posY);
void lcd_set_cursor(char state);
void lcd_clear_line (char line);
void lcd_print_int(unsigned int val, char length);
void lcd_print_float(float value, char decimal);
void lcd_write_symbol(unsigned char location, unsigned char *ptr);
void lcd_lines_print(const char *line0, const char *line1);
void lcd_batery_print(char batery_energy);

#endif


