Arizona 17 User Manual

Page of 92
 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)