text: #ifndef LCD_H
  #define LCD_H
  /***********************************************************************************
  
  FILE NAME		lcd.h
  
  DESCRIPTION		Driver for KS0066u LCD Module Controller (8 characters by 2 lines )
  				on the Renesas RSK boards - header file
  
  Copyright   : 2006 Renesas Technology Europe Ltd.
  Copyright   : 2006 Renesas Technology Corporation.
  All Rights Reserved
  ***********************************************************************************/
  
  /***********************************************************************************
  Revision History
  DD.MM.YYYY OSO-UID Description
  26.07.2006 RTE-MBA First Release
  ***********************************************************************************/
  void InitialiseDisplay( void );
  void DisplayString(unsigned char position, char * string);
  void LCD_write(unsigned char data_or_ctrl, unsigned char value);
  void LCD_nibble_write(unsigned char data_or_ctrl, unsigned char value);
  void DisplayDelay(unsigned long int units);
  
  
  #define SET_BIT_HIGH	(1)         
  #define SET_BIT_LOW		(0)         
  #define SET_BYTE_HIGH	(0xFF)        
  #define SET_BYTE_LOW	(0x00)      
  
  struct _LCD_Params {
  	unsigned char Line;
  	unsigned short Speed;
  	char *ptr_str;
  };
  
  /* RS Register Select pin */
  #define RS_PIN			PORTJ.PODR.BIT.B1
  /* Display Enable pin */  
  #define EN_PIN			PORTJ.PODR.BIT.B3
  /* Data bus port */
  #define DATA_PORT		PORTH.PODR.BYTE
  /* Bit mask from entire port */   
  #define DATA_PORT_MASK	0x0F
  /* Number of bits data needs to shift */
  #define DATA_PORT_SHIFT	0
  
  
  #define DATA_WR 1
  #define CTRL_WR 0
  
  /* Set to ensure base delay of 1microS minimum */
  //#define DELAY_TIMING	0x2F
  #define DELAY_TIMING	50
  /* number of lines on the LCD display */
  #define NUMB_CHARS_PER_LINE 8
  /* Maximum charactors per line of LCD display. */ 
  #define MAXIMUM_LINES	2   
  
  #define LCD_LINE1 0
  #define LCD_LINE2 16
  
  /**********************************************************************************/
  /* LCD commands - use LCD_write function to write these commands to the LCD.	  */
  /**********************************************************************************/
  /* Clear LCD display and home cursor */
  #define LCD_CLEAR		0x01
  /* move cursor to line 1 */
  #define LCD_HOME_L1		0x80
  /* move cursor to line 2 */	  
  #define LCD_HOME_L2		0xC0
  /* Cursor auto decrement after R/W */  
  #define CURSOR_MODE_DEC	0x04
  /* Cursor auto increment after R/W */
  #define CURSOR_MODE_INC	0x06
  /* Setup, 4 bits,2 lines, 5X7 */
  #define FUNCTION_SET	0x28
  /* Display ON with Cursor */
  #define LCD_CURSOR_ON	0x0E
  /* Display ON with Cursor off */
  #define LCD_CURSOR_OFF	0x0C
  /* Display on with blinking cursor */
  #define LCD_CURSOR_BLINK 0x0D
  /*Move Cursor Left One Position */
  #define LCD_CURSOR_LEFT	0x10
  /* Move Cursor Right One Position */
  #define LCD_CURSOR_RIGHT 0x14
  
  #define LCD_DISPLAY_ON	0x04
  #define LCD_TWO_LINE	0x08
  
  #endif