        
#include <hc11.h>
#include "lcd.h"
#include "delay.h" 

/*----------------------------------------------------------------------
// subroutine:   InitLCD
// description:  This subroutine initializes the LCD.
//---------------------------------------------------------------------*/
#define _LCD_BASE 0x4000
#define LCDcmmd	*(unsigned char volatile *)(_LCD_BASE + 0x00)
#define LCDdata	*(unsigned char volatile *)(_LCD_BASE + 0x01)

void InitLCD()
{
    LCDcmmd = 0x38; /* Function Set:8-bit length,1/16 duty,5x7 dot font */
    DelayMilliSec( 10 );
    LCDcmmd = 0x38; /* Function Set:8-bit length,1/16 duty,5x7 dot font */
    DelayMilliSec( 10 );
    LCDcmmd = 0x38; /* Function Set:8-bit length,1/16 duty,5x7 dot font */
    DelayMilliSec( 10 );
    LCDcmmd = 0x0c; /* Display On/Off Control */
    DelayMilliSec( 10 );
    LCDcmmd = 0x01; /* Clear Display */
    DelayMilliSec( 10 );
    LCDcmmd = 0x06; /* Entry Mode Set: increment */
    DelayMilliSec( 10 );
}

void SetLCD( char a )
{
    LCDcmmd = a;
    DelayMilliSec( 1 );
}

void ClearLCD()
{
    LCDcmmd = 1;
    DelayMilliSec( 2 );
}
