#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