📄 s1d13700.h
字号:
/* S1D13700.H */
/* equate the LCD controller control signals to their port assignment */
#define Set_LCD_AO 0x01
#define Set_LCD_WR 0x02
#define Set_LCD_RD 0x04
#define Set_LCD_CS 0x08
#define Set_LCD_RST 0x08
#define CLR_LCD_AO 0x0E
#define CLR_LCD_WR 0x0D
#define CLR_LCD_RD 0x0B
#define CLR_LCD_CS 0x07
#define CLR_LCD_RST 0x07
/* LCD screen and bitmap image array constants */
#define X_BYTES 30
#define Y_BYTES 40
#define SCRN_LEFT 0
#define SCRN_TOP 0
#define SCRN_RIGHT 319
#define SCRN_BOTTOM 239
/* LCD commands */
#define LCD_SYSTEM_SET 0x40
#define LCD_SYSTEM_SET_P1 0x38 //internal ROM, W/S=1, dual-screen drive method,
#define LCD_SYSTEM_SET_P2 0x87 //x-direction character field, WF:two frame AC drive
#define LCD_SYSTEM_SET_P3 0x07 //y-direction charactor field
#define LCD_SYSTEM_SET_p4 0x27 //display address range
#define LCD_SYSTEM_SET_p5 0x2D //total display address time in x direction
#define LCD_SYSTEM_SET_p6 0xEF //Number of display lines
#define LCD_SYSTEM_SET_p7 0x28 //virtual screen size in X direction
#define LCD_SYSTEM_SET_p8 0x00
// Custom Datatypes used.
typedef unsigned char UINT8;
typedef unsigned short UINT16;
typedef unsigned long UINT32;
//indirect mode command set
#define CMD_SYSTEM_SET 0x40
#define CMD_SLEEP_IN 0x53
#define CMD_DISPOFF 0x58
#define CMD_DISPON 0x59
#define CMD_SCROLL 0x44
#define CMD_CSRFORM 0x5d
#define CMD_CSRDIR_RIGHT 0x4c
#define CMD_CSRDIR_LEFT 0x4d
#define CMD_CSRDIR_UP 0x4e
#define CMD_CSRDIR_DOWN 0x4f
#define CMD_OVLAY 0x5b
#define CMD_CG_RAM_ADDR 0x5c
#define CMD_HDOT_SCR 0x5a
#define CMD_CSRW 0x46
#define CMD_CSRR 0x47
#define CMD_MWRITE 0x42
#define CMD_MREAD 0x43
#define CMD_GRAY_SCALE 0x60
/*// S1D13700 Register Value for txt+graph 2 layer mode
#define REG0000_SYSTEMSET_P1 0x30
#define REG0001_SYSTEMSET_P2 0x87 // size of the character field in X, Fx
#define REG0002_SYSTEMSET_P3 0x07 // size of the character field in Y, Fy
#define REG0003_SYSTEMSET_P4 0x27 //display interval in X (C/R)
#define REG0004_SYSTEMSET_P5 0x2D //TC/R
#define REG0005_SYSTEMSET_P6 0xEF //display interval in Y, L/F
#define REG0006_SYSTEMSET_P7 0x28 //number of memory addresses in X, AP
#define REG0007_SYSTEMSET_P8 0x00
#define REG0008_SLEEPIN 0x00
#define REG0009_DISPONOFF 0x01
#define REG000A_DISPONOFF_P1 0x16 //Cursors and each layered screen on/off
#define REG000B_SCROLL_P1 0x00 //SAD1L
#define REG000C_SCROLL_P2 0x00 //SAD1H
#define REG000D_SCROLL_P3 0xF0 //SL1
#define REG000E_SCROLL_P4 0xB0 //SAD2L
#define REG000F_SCROLL_P5 0x04 //SAD2H
#define REG0010_SCROLL_P6 0xF0 //SL2
#define REG0011_SCROLL_P7 0x00 //SAD3L
#define REG0012_SCROLL_P8 0x04 //SAD3H
#define REG0013_SCROLL_P9 0x00 //SAD4L
#define REG0014_SCROLL_P10 0x30 //SAD4H
#define REG0015_CSRFORM_P1 0x04 //cursor shape and display (CRX) CRX <= FX
#define REG0016_CSRFORM_P2 0x86 //CRY
#define REG0017_CSRDIR_P1 0x00
#define REG0018_OVLAY_P1 0x00 //dm1 = 1, dm2 = ov = 0, TXT+GRAPH, SIMPLE OVERLAY
#define REG0019_CGRAMADDR_P1 0x00
#define REG001A_CGRAMADDR_P2 0x70
#define REG001B_HDOTSCR_P1 0x00
#define REG001C_CSRW_P1 0x00
#define REG001D_CSRW_P2 0x00
#define REG001E_CSRR_P1 0x00
#define REG001F_CSRR_P2 0x00
#define REG0020_GRAYSCALE_P1 0x00
*/
// S1D13700 Register Value for graph+graph 2 layer mode
#define REG0000_SYSTEMSET_P1 0x30
#define REG0001_SYSTEMSET_P2 0x87 // size of the character field in X, Fx
#define REG0002_SYSTEMSET_P3 0x07 // size of the character field in Y, Fy
#define REG0003_SYSTEMSET_P4 0x27 //display interval in X (C/R)
#define REG0004_SYSTEMSET_P5 0x2D //TC/R
#define REG0005_SYSTEMSET_P6 0xEF //display interval in Y, L/F
#define REG0006_SYSTEMSET_P7 0x28 //number of memory addresses in X, AP
#define REG0007_SYSTEMSET_P8 0x00
#define REG0008_SLEEPIN 0x00
#define REG0009_DISPONOFF 0x01
#define REG000A_DISPONOFF_P1 0x16 //Cursors and each layered screen on/off (16 blink cursor, 14 is not)
#define REG000B_SCROLL_P1 0x00 //SAD1L
#define REG000C_SCROLL_P2 0x00 //SAD1H
#define REG000D_SCROLL_P3 0xF0 //SL1
#define REG000E_SCROLL_P4 0x80 //SAD2L
#define REG000F_SCROLL_P5 0x25 //SAD2H
#define REG0010_SCROLL_P6 0xF0 //SL2
#define REG0011_SCROLL_P7 0x00 //SAD3L
#define REG0012_SCROLL_P8 0x04 //SAD3H
#define REG0013_SCROLL_P9 0x00 //SAD4L
#define REG0014_SCROLL_P10 0x30 //SAD4H
#define REG0015_CSRFORM_P1 0x0F //cursor shape and display (CRX) CRX <= FX
#define REG0016_CSRFORM_P2 0x81 //CRY
#define REG0017_CSRDIR_P1 0x00
#define REG0018_OVLAY_P1 0x0C //grapg+GRAPH, SIMPLE OVERLAY
#define REG0019_CGRAMADDR_P1 0x00
#define REG001A_CGRAMADDR_P2 0x70
#define REG001B_HDOTSCR_P1 0x00
#define REG001C_CSRW_P1 0x00
#define REG001D_CSRW_P2 0x00
#define REG001E_CSRR_P1 0x00
#define REG001F_CSRR_P2 0x00
#define REG0020_GRAYSCALE_P1 0x00
/* LCD Global data arrays */
//extern const unsigned char code l_mask_array[8];
//extern unsigned char xdata l_display_array[Y_BYTES][X_BYTES];
/* LCD function prototype list */
extern void initLCD(void);
extern void LCD_out_data(UINT8 dat);
extern void LCD_out_ctrl(UINT8 dat);
//extern char LCD_in_dat(void);
//extern char LCD_in_sta(void);
//extern void LCD_busy_wait(void);
//extern void lcd_cmd_2(char cmd,unsigned int parm);
//extern void lcd_cmd_1(char cmd,unsigned char parm);
//extern void lcd_cmd(char cmd);
extern void LCD_erase(void);
//extern int lcd_test(char test);
extern void LCD_clear_area(UINT8 left,UINT8 top, UINT8 right, UINT8 bottom);
extern void LCD_glyph(UINT16 left, UINT8 top, UINT8 width, UINT8 height, UINT8 *glyph, UINT8 store_width);
extern void LCD_text(UINT16 left, UINT8 top, UINT8 font, char *str);
//extern void lcd_invert_area(unsigned char left, unsigned char top,
// unsigned char right, unsigned char bottom);
//extern void lcd_horz_line(unsigned char left, unsigned char right,
// unsigned char row);
//extern void lcd_vert_line(unsigned char top, unsigned char bottom,
// unsigned char column);
/*extern void lcd_clr_horz_line(unsigned char left, unsigned char right,
unsigned char row);
extern void lcd_clr_vert_line(unsigned char top, unsigned char bottom,
unsigned char column);
extern void lcd_box(unsigned char left, unsigned char top,
unsigned char right, unsigned char bottom);
extern void lcd_clr_box(unsigned char left, unsigned char top,
unsigned char right, unsigned char bottom);
extern void lcd_update(unsigned char top, unsigned char bottom);
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -