📄 lcddev_ra8806.h
字号:
#ifndef _LcdDev_Ra8806_H_
#define _LcdDev_Ra8806_H_
//============================================================= RA8806 Register
#define WLCR 0x00
#define MISC 0x01
#define ADSR 0x03
#define INTR 0x0F
#define WCCR 0x10
#define CHWI 0x11
#define MAMR 0x12
#define AWRR 0x20
#define DWWR 0x21
#define AWBR 0x30
#define DWHR 0x31
#define AWLR 0x40
#define AWTR 0x50
#define CURX 0x60
#define BGSG 0x61
#define EDSG 0x62
#define CURY 0x70
#define BGCM 0x71
#define EDCM 0x72
#define BTMR 0x80
#define ITCR 0x90
#define KSCR1 0xA0
#define KSCR2 0xA1
#define KSDR0 0xA2
#define KSDR1 0xA3
#define KSDR2 0xA4
#define MWCR 0xB0
#define MRCR 0xB1
#define TPCR 0xC0
#define TPXR 0xC1
#define TPYR 0xC2
#define TPZR 0xC3
#define PCR 0xD0
#define PDCR 0xD1
#define PNTR 0xE0
#define FNCR 0xF0
#define FVHT 0xF1
#define cSetb0 0x01
#define cSetb1 0x02
#define cSetb2 0x04
#define cSetb3 0x08
#define cSetb4 0x10
#define cSetb5 0x20
#define cSetb6 0x40
#define cSetb7 0x80
#define cClrb0 0xfe
#define cClrb1 0xfd
#define cClrb2 0xfb
#define cClrb3 0xf7
#define cClrb4 0xef
#define cClrb5 0xdf
#define cClrb6 0xbf
#define cClrb7 0x7f
#define cTestb0 0x01
#define cTestb1 0x02
#define cTestb2 0x04
#define cTestb3 0x08
#define cTestb4 0x10
#define cTestb5 0x20
#define cTestb6 0x40
#define cTestb7 0x80
#define true 1
#define false 0
//===================================================== 本文件中定义的一些编译使能或者是常量参数的宏
#define HZ16X16_CNT 16
#define HZ24X24_CNT 24
#define HZ32X32_CNT 32
#define HZ48X48_CNT 48
#define DispPlusCNT 1 // 正常显示
#define DispRevseCNT 0 // 反向显示
//===================================================== LCD驱动控制管脚和总线端口定义
#define LCD_DataPort P3
#define LcdDataPort_InPut() { P3MDOUT = 0x00; P3 = 0xFF; }
#define LcdDataPort_OutPut() { P3MDOUT = 0xFF; P3 = 0xFF; }
sbit WR0 = P0^7; // 写控制信号
#define LcdWR_ON() WR0 = 0;
#define LcdWR_OFF() WR0 = 1;
sbit RD0 = P0^6; // 读控制信号
#define LcdRD_ON() RD0 = 0;
#define LcdRD_OFF() RD0 = 1;
sbit RS = P2^0; // A0: 通道信号, RS=1 指令, RS=0 数据
#define LcdRS_INS() RS = 1;
#define LcdRS_DAT() RS = 0;
#define LcdRS_OFF() RS = 1;
sbit Lcd_CS1 = P1^2; // A10:
sbit Lcd_CS2 = P1^7; // A15:
#define LcdCS_ON() { Lcd_CS1 = 0; Lcd_CS2 = 1; }
#define LcdCS_OFF() { Lcd_CS1 = 1; Lcd_CS2 = 1; }
#define LedReset_ON() P2 |= 0x60 // LCD复位控制端口置位
#define LedReset_OFF() P2 &= ~0x60 // LCD复位控制端口复位
#define LcdBusy_PinIN() (P6&0x80) // LCD"忙"信号检测
//===================================================== 本文件中定义的公共函数
extern void LCD_DataWrite(INT8U DatValue);
extern void LCD_CmdWrite(INT8U CmdReg);
extern void LcdReset(void);
extern void LCD_ON(void);
extern void LCD_OFF(void);
extern void Reverse_Data(void);
extern void LCD_GotoXY(unsigned char X1,unsigned char Y1);
extern void Access_Page1(void);
extern void Only_Show_Page1(void);
extern void LCD_Text(void);
extern unsigned char Lcd_ReadReg(unsigned char CmdReg);
extern void Lcd_ClearScreen(void);
extern void Lcd_FillScreen(void);
extern void LCD_Initial(void);
extern void Lcd_DispText(unsigned char X1,
unsigned char Y1,
unsigned char *pTextStr,
unsigned char Textlen);
extern void Lcd_Picture(unsigned char X1,
unsigned char Y1,
unsigned char *pDispStr,
unsigned int DispLenX,
unsigned int DispLenY);
extern void Lcd_RevsePicture(unsigned char X1,
unsigned char Y1,
unsigned char *pDispStr,
unsigned int DispLenX,
unsigned int DispLenY);
extern void LCD_Graphic(void);
extern void Lcd_Graphic_Str32x32(INT8U *HzCode, INT8U X0, INT8U Y0, INT8U DispMode);
extern void Lcd_Graphic_Str48x48(INT8U *HzCode, INT8U X0, INT8U Y0, INT8U DispMode);
#endif
/*------------------------------- End -----------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -