📄 grlcd.h
字号:
#if !defined(GrLCD_H)
#define GrLCD_H
typedef unsigned char BYTE;
typedef unsigned short WORD; // a 16 bit value, processor dependant
#define KS1713 // specify LCD controller type
#define RMW_USED // to include read/modify/write support
// macros for ports for LCD control & data bus
// customize these for your processor and port pin assignments
#define E 1
#define RS 2
#define RW 4
#define RESET 8
extern BYTE databus; // the data bus port
#define LCD_DATA databus
extern BYTE ctrlport; // the control signal port
#define LCD_CTRL(arg1, arg2) \
{ \
if (arg2) \
{ \
ctrlport |= arg1; \
} \
else \
{ \
ctrlport &= ~arg1; \
} \
}
typedef struct // by putting text string definitions
{ // in a structure, you don't have to
BYTE page; // mess with string lengths in the
BYTE cj_code; // declaration.
BYTE abs;
char *text; // pointer to null terminated string
} String_T;
/* Examples:
String_T str1 = { 2, C50J+FONT16, 0, "Display text" }; // pages 2 & 3, large font, centered
String_T str2 = { 0, ABSJ, 45, "Display text" }; // page 0, small font, start in col 45
String_T str3 = { 5, L33J, 0, buffer }; // page 5, small font, centered @ 1/3, refering
char buffer[128]; // to string that's not constant
*/
// text string display control/justification codes
#ifdef RMW_USED // if RMW support enabled
#define USERMW 0x40 // to OR data with existing display data
#endif
#define FONT16 0x20 // large font
#define NOSPC 0x10 // no space between characters
#define JUSTIFY 7 // bit mask
#define L00J 0 // left, starting @ col 0
#define L25J 1 // left, centered @ 1/4
#define L33J 2 // left, centered @ 1/3
#define C50J 3 // centered @ 1/2
#define R66J 4 // right, centered @ 2/3
#define R75J 5 // right, centered @ 3/4
#define R100J 6 // right, ending @ last col
#define ABSJ 7 // starting @ abs col #
#define CLEAR (String_T *)0xFFFF // code to clear display
#define EOL (String_T *)0 // end of list of String_Ts
extern BYTE invertflg; // normally 0, to invert data set to 0xFF
extern BYTE CJ_code; // control/justify code for text display
extern BYTE contrast; // user contrast setting
extern BYTE startcol; // save starting col for later use
extern BYTE column; // current col
void Sleep(int duration); // may need to create this function
void GrLCDCmd(BYTE arg);
void GrLCDData(BYTE arg);
void GrLCDInit(void);
void GrLCDClear(void);
void GrLCDBlank(BYTE page, BYTE col, BYTE len, BYTE font);
void GrLCDList(String_T **list);
void GrLCDText(String_T *text);
void GrLCDLgChar(char chr);
void GrLCDSmChar(char chr);
void GrLCDSetPage(BYTE page);
void GrLCDSetCol(BYTE col);
BYTE GrLCDPixLen(char *chr);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -