| 155 |
Kevin |
1 |
#ifndef OLED_NHD_0216KZW_AB5_H
|
|
|
2 |
#define OLED_NHD_0216KZW_AB5_H
|
|
|
3 |
|
|
|
4 |
//#define NHD_STRING_BUFFER_SIZE 64
|
|
|
5 |
|
|
|
6 |
// commands
|
|
|
7 |
#define LCD_CLEARDISPLAY 0x01
|
|
|
8 |
#define LCD_RETURNHOME 0x02
|
|
|
9 |
#define LCD_ENTRYMODESET 0x04
|
|
|
10 |
#define LCD_DISPLAYCONTROL 0x08
|
|
|
11 |
#define LCD_CURSORSHIFT 0x10
|
|
|
12 |
#define LCD_FUNCTIONSET 0x28
|
|
|
13 |
#define LCD_SETCGRAMADDR 0x40
|
|
|
14 |
#define LCD_SETDDRAMADDR 0x80
|
|
|
15 |
|
|
|
16 |
// flags for display entry mode
|
|
|
17 |
#define LCD_ENTRYRIGHT 0x00
|
|
|
18 |
#define LCD_ENTRYLEFT 0x02
|
|
|
19 |
#define LCD_ENTRYSHIFTINCREMENT 0x01
|
|
|
20 |
#define LCD_ENTRYSHIFTDECREMENT 0x00
|
|
|
21 |
|
|
|
22 |
// flags for display on/off control
|
|
|
23 |
#define LCD_DISPLAYON 0x04
|
|
|
24 |
#define LCD_DISPLAYOFF 0x00
|
|
|
25 |
#define LCD_CURSORON 0x02
|
|
|
26 |
#define LCD_CURSOROFF 0x00
|
|
|
27 |
#define LCD_BLINKON 0x01
|
|
|
28 |
#define LCD_BLINKOFF 0x00
|
|
|
29 |
|
|
|
30 |
// flags for display/cursor shift
|
|
|
31 |
#define LCD_DISPLAYMOVE 0x08
|
|
|
32 |
#define LCD_CURSORMOVE 0x00
|
|
|
33 |
#define LCD_MOVERIGHT 0x04
|
|
|
34 |
#define LCD_MOVELEFT 0x00
|
|
|
35 |
|
|
|
36 |
// flags for function set
|
|
|
37 |
#define LCD_8BITMODE 0x10
|
|
|
38 |
#define LCD_4BITMODE 0x00
|
|
|
39 |
#define LCD_JAPANESE 0x00
|
|
|
40 |
#define LCD_EUROPEAN_I 0x01
|
|
|
41 |
#define LCD_RUSSIAN 0x02
|
|
|
42 |
#define LCD_EUROPEAN_II 0x03
|
|
|
43 |
|
|
|
44 |
typedef struct {
|
|
|
45 |
unsigned char display_function;
|
|
|
46 |
unsigned char display_control;
|
|
|
47 |
unsigned char display_mode;
|
|
|
48 |
unsigned char current_line;
|
|
|
49 |
unsigned char num_lines;
|
|
|
50 |
} OLED_CHAR_DATA;
|
|
|
51 |
|
|
|
52 |
void NHD_Init(OLED_CHAR_DATA *data);
|
|
|
53 |
void NHD_Begin(char cols, char rows);
|
|
|
54 |
void NHD_Clear(void);
|
|
|
55 |
void NHD_Home(void);
|
|
|
56 |
void NHD_Display(char option);
|
|
|
57 |
void NHD_Blink(char option);
|
|
|
58 |
void NHD_Cursor(char option);
|
|
|
59 |
void NHD_Autoscroll(char option);
|
|
|
60 |
void NHD_Scroll_Display_Left(void);
|
|
|
61 |
void NHD_Scroll_Display_Right(void);
|
|
|
62 |
void NHD_Left_To_Rigtht(void);
|
|
|
63 |
void NHD_Right_To_Left(void);
|
|
|
64 |
|
|
|
65 |
void NHD_Create_Char(char location, char *charmap);
|
|
|
66 |
void NHD_Set_Cursor(char col, char row);
|
|
|
67 |
|
|
|
68 |
void NHD_Send_Data(char value);
|
|
|
69 |
void NHD_Send_Command(char value);
|
|
|
70 |
|
|
|
71 |
void NHD_Pulse_Enable(void);
|
|
|
72 |
void NHD_Write_4_Bits(char value);
|
|
|
73 |
void NHD_Wait_For_Ready(void);
|
|
|
74 |
|
|
|
75 |
void NHD_Write_String(char *msg, char length);
|
|
|
76 |
//void NHD_Write_String(const rom char *fmt, ...);
|
|
|
77 |
|
|
|
78 |
#endif /* OLED_NHD_0216KZW_AB5_H */
|
|
|
79 |
|