PIC24 Support Libraries
esos_hwxxx_lcd44780.h
Go to the documentation of this file.
1 /*
2  * "Copyright (c) 2008 Robert B. Reese, Bryan A. Jones, J. W. Bruce ("AUTHORS")"
3  * All rights reserved.
4  * (R. Reese, reese_AT_ece.msstate.edu, Mississippi State University)
5  * (B. A. Jones, bjones_AT_ece.msstate.edu, Mississippi State University)
6  * (J. W. Bruce, jwbruce_AT_ece.msstate.edu, Mississippi State University)
7  *
8  * Permission to use, copy, modify, and distribute this software and its
9  * documentation for any purpose, without fee, and without written agreement is
10  * hereby granted, provided that the above copyright notice, the following
11  * two paragraphs and the authors appear in all copies of this software.
12  *
13  * IN NO EVENT SHALL THE "AUTHORS" BE LIABLE TO ANY PARTY FOR
14  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
15  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE "AUTHORS"
16  * HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17  *
18  * THE "AUTHORS" SPECIFICALLY DISCLAIMS ANY WARRANTIES,
19  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
20  * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21  * ON AN "AS IS" BASIS, AND THE "AUTHORS" HAS NO OBLIGATION TO
22  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
23  *
24  * Please maintain this header in its entirety when copying/modifying
25  * these files.
26  *
27  *
28  */
29 
30 #ifndef ESOS_hwxxx_LCD_H
31 #define ESOS_hwxxx_LCD_H
32 
33 /**
34  * \addtogroup ESOS_Task_LCD_Service
35  * @{
36  */
37 
38  /** \file
39  * \brief This file contains routines which configure and
40  * use an LCD interface on the Microchip PIC24 MCUs.
41  */
42 
43 /* I N C L U D E S **********************************************************/
44 #include <esos_lcd.h>
45 
46 /* HW-SPECIFIC MACROS *******************************************************/
47 #define __esos_lcd44780_hw_config __esos_lcd44780_hwxxx_config
48 
49 #define __esos_lcd44780_hw_setDataPins \
50  __esos_lcd44780_hwxxx_setDataPins
51 #define __esos_lcd44780_hw_getDataPins \
52  __esos_lcd44780_hwxxx_getDataPins
53 #define __esos_lcd44780_hw_configDataPinsAsInput \
54  __esos_lcd44780_hwxxx_configDataPinsAsInput
55 #define __esos_lcd44780_hw_configDataPinsAsOutput \
56  __esos_lcd44780_hwxxx_configDataPinsAsOutput
57 
58 #define __ESOS_LCD44780_HW_SET_E_HIGH __ESOS_LCD44780_HWXXX_SET_E_HIGH // E=1
59 #define __ESOS_LCD44780_HW_SET_E_LOW __ESOS_LCD44780_HWXXX_SET_E_LOW // E=0
60 #define __ESOS_LCD44780_HW_SET_RW_READ __ESOS_LCD44780_HWXXX_SET_RW_READ // RW=1
61 #define __ESOS_LCD44780_HW_SET_RW_WRITE __ESOS_LCD44780_HWXXX_SET_RW_WRITE // RW=0
62 #define __ESOS_LCD44780_HW_SET_RS_REGISTERS __ESOS_LCD44780_HWXXX_SET_RS_REGISTERS // RS=0
63 #define __ESOS_LCD44780_HW_SET_RS_DATA __ESOS_LCD44780_HWXXX_SET_RS_DATA // RS=1
64 
65 #define __ESOS_LCD44780_HW_SET_D0 __ESOS_LCD44780_HWXXX_SET_D0
66 #define __ESOS_LCD44780_HW_CLEAR_D0 __ESOS_LCD44780_HWXXX_CLEAR_D0
67 #define __ESOS_LCD44780_HW_GET_D0 __ESOS_LCD44780_HWXXX_GET_D0
68 #define __ESOS_LCD44780_HW_SET_D1 __ESOS_LCD44780_HWXXX_SET_D1
69 #define __ESOS_LCD44780_HW_CLEAR_D1 __ESOS_LCD44780_HWXXX_CLEAR_D1
70 #define __ESOS_LCD44780_HW_GET_D1 __ESOS_LCD44780_HWXXX_GET_D1
71 #define __ESOS_LCD44780_HW_SET_D2 __ESOS_LCD44780_HWXXX_SET_D2
72 #define __ESOS_LCD44780_HW_CLEAR_D2 __ESOS_LCD44780_HWXXX_CLEAR_D2
73 #define __ESOS_LCD44780_HW_GET_D2 __ESOS_LCD44780_HWXXX_GET_D2
74 #define __ESOS_LCD44780_HW_SET_D3 __ESOS_LCD44780_HWXXX_SET_D3
75 #define __ESOS_LCD44780_HW_CLEAR_D3 __ESOS_LCD44780_HWXXX_CLEAR_D3
76 #define __ESOS_LCD44780_HW_GET_D3 __ESOS_LCD44780_HWXXX_GET_D3
77 #define __ESOS_LCD44780_HW_SET_D4 __ESOS_LCD44780_HWXXX_SET_D4
78 #define __ESOS_LCD44780_HW_CLEAR_D4 __ESOS_LCD44780_HWXXX_CLEAR_D4
79 #define __ESOS_LCD44780_HW_GET_D4 __ESOS_LCD44780_HWXXX_GET_D4
80 #define __ESOS_LCD44780_HW_SET_D5 __ESOS_LCD44780_HWXXX_SET_D5
81 #define __ESOS_LCD44780_HW_CLEAR_D5 __ESOS_LCD44780_HWXXX_CLEAR_D5
82 #define __ESOS_LCD44780_HW_GET_D5 __ESOS_LCD44780_HWXXX_GET_D5
83 #define __ESOS_LCD44780_HW_SET_D6 __ESOS_LCD44780_HWXXX_SET_D6
84 #define __ESOS_LCD44780_HW_CLEAR_D6 __ESOS_LCD44780_HWXXX_CLEAR_D6
85 #define __ESOS_LCD44780_HW_GET_D6 __ESOS_LCD44780_HWXXX_GET_D6
86 #define __ESOS_LCD44780_HW_SET_D7 __ESOS_LCD44780_HWXXX_SET_D7
87 #define __ESOS_LCD44780_HW_CLEAR_D7 __ESOS_LCD44780_HWXXX_CLEAR_D7
88 #define __ESOS_LCD44780_HW_GET_D7 __ESOS_LCD44780_HWXXX_GET_D7
89 
90 /* P R I V A T E P R O T O T Y P E S *****************************************/
91 void __esos_lcd44780_hwxxx_config ( void );
92 void __esos_lcd44780_hwxxx_setDataPins( uint8_t u8_data);
93 uint8_t __esos_lcd44780_hwxxx_getDataPins( void );
94 void __esos_lcd44780_hwxxx_configDataPinsAsInput( void );
95 void __esos_lcd44780_hwxxx_configDataPinsAsOutput( void );
96 
97 #endif
unsigned char uint8_t
An abbreviation for an 8-bit unsigned integer.
Definition: dataXferImpl.h:194