Arizona Picdem 17 User Manual

Page of 92
 2001 Microchip Technology Inc.
DS39024B-page 39
LCD.C
 Description
5.6
 
XLCD.H
 Source Code Listing
#pragma nolist
/*****************************************************************
*   PICmicro C Libraries V2.10                                      
*   Written and Tested using MPLABC V2.10                           
******************************************************************
*   Filename:   
 xlcd.h                                          
*   Date:
14 April 1998                                   
*   File Version:
2.10                                            
******************************************************************
*   Functions:                                                      
*
Header file                                         
******************************************************************
*   Revision History:                                               
*      V1.00 - Beta release of Peripheral Libraries for V1.21       
*      V2.00 - Release of Peripheral Libraries for V2.00            
*      V2.10 - Release of Peripheral Libraries for V2.10            
*              Added putrsXLCD to output strings in ROM to XLCD     
******************************************************************
*   Notes:                                                          
* - ROM usage varies depending on specified device            
* - These libraries routines are written to support the       
*   Hitachi HD44780 LCD controller.                           
* - The user must define the following items:                 
*
- The LCD interface type (4- or 8-bits)             
*
- If 4-bit mode                                     
*
- whether using the upper or lower nibble   
*
- The data port                                     
*
- The tris register for data port           
*
- The control signal ports and pins         
*
- The control signal port tris and pins     
*
- 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           
*****************************************************************/
#ifndef __XLCD_H
#define __XLCD_H
// Interface type 8-bit or 4-bit
// For 4-bit operation comment out the #define BIT8
//#define BIT8
// When in 4-bit interface define if the data is in the upper
// or lower nibble.  For lower nibble, comment out the #define UPPER
//#define UPPER
// DATA_PORT defines the port on which the LCD
// data lines are connected to
#define DATA_PORT PORTF
#define TRIS_DATA_PORT DDRF
// CTRL_PORT defines the port where the control
// lines are connected
// These are just samples, change to match your application
#define RW_PIN PORTGbits.RG0
// Port for RW
#define TRIS_RW DDRGbits.RG0
// TRIS for RW