2001 Microchip Technology Inc. DS39024B-page 43
LCD.C Description
while(*buffer) // Write data to LCD
up to null
{
while(BusyXLCD()); // Wait while LCD is
busy
WriteDataXLCD(*buffer); // Write character
to LCD
buffer++; // Increment buffer
}
return;
}
/
*******************************************************************
*
* Function Name: putrsXLCD
* Return Value: void
* Parameters: buffer: pointer to string
* Description: This routine writes a string of bytes to the
* Hitachi HD44780 LCD controller. The user
* must check to see if the LCD controller is
* busy before calling this routine. The data
* is written to the character generator RAM or
* the display data RAM depending on what the
* previous SetxxRamAddr routine was called.
*******************************************************************
*/
void putrsXLCD(static const rom char *buffer)
{
while(*buffer) // Write data to LCD
up to null
{
while(BusyXLCD()); // Wait while LCD is
busy
WriteDataXLCD(*buffer); // Write character
to LCD
buffer++; // Increment buffer
}
return;
}
/
*******************************************************************
*
* Function Name: OpenXLCD
* Return Value: void
* Parameters: lcdtype: sets the type of LCD (lines)
* Description: his routine configures the LCD. Based on
* the Hitachi HD44780 LCD controller. The
* routine will configure the I/O pins of the
* microcontroller, setup the LCD for 4- or
* 8-bit mode and clear the display. The user
* must provide three delay routines:
* DelayFor18TCY() provides a 18 Tcy delay
* DelayPORXLCD() provides at least 15ms delay
* DelayXLCD() provides at least 5ms delay
*******************************************************************
*/
void OpenXLCD(static unsigned char lcdtype)